##// END OF EJS Templates
Backport PR #10558: Let nbformat take care of opening the file...
Backport PR #10558: Let nbformat take care of opening the file Notebook files should always be read as utf-8, but the default for `io.open()` is to use a platform-dependent default encoding. The easiest way around this is to pass the filename to nbformat.read() and let it open the file correctly. Bug identified at: http://stackoverflow.com/questions/43915006/encoding-error-in-jupyter-when-run-another-notebook

File last commit:

r23401:a2a4465d
r23653:b441be73
Show More
frontend.py
29 lines | 1.1 KiB | text/x-python | PythonLexer
"""
Shim to maintain backwards compatibility with old frontend imports.
We have moved all contents of the old `frontend` subpackage into top-level
subpackages (`html`, `qt` and `terminal`), and flattened the notebook into
just `IPython.html`, formerly `IPython.frontend.html.notebook`.
This will let code that was making `from IPython.frontend...` calls continue
working, though a warning will be printed.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
import sys
from warnings import warn
from IPython.utils.shimmodule import ShimModule, ShimWarning
warn("The top-level `frontend` package has been deprecated since IPython 1.0. "
"All its subpackages have been moved to the top `IPython` level.", ShimWarning)
# Unconditionally insert the shim into sys.modules so that further import calls
# trigger the custom attribute access above
sys.modules['IPython.frontend.html.notebook'] = ShimModule(
src='IPython.frontend.html.notebook', mirror='IPython.html')
sys.modules['IPython.frontend'] = ShimModule(
src='IPython.frontend', mirror='IPython')