##// END OF EJS Templates
Proper error handling for nbformat versions in client code....
Proper error handling for nbformat versions in client code. 1. Users are warned when an older nbformat notebook is converted. 2. The notebook notifies the user when a notebook that is too new is attempted to load. To test these things, create a simple notebook. Then change its nbformat field by hand to 2 (to test 1) and then 4 (to test 2).

File last commit:

r4872:34c10438
r6061:cddb82ef
Show More
ipy_extutil.py
44 lines | 1.2 KiB | text/x-python | PythonLexer
vivainio
crlf cleanup
r680 """ IPython extension management tools.
After installation, you'll have the 'extutil' object in your namespace.
to.
"""
# for the purposes of this module, every module that has the name 'ip' globally
# installed as below is an IPython extension
Brian Granger
ipapi.py => core/ipapi.py and imports updated.
r2027 from IPython.core import ipapi
ip = ipapi.get()
Brian Granger
Continuing a massive refactor of everything.
r2205 from IPython.core.iplib import InteractiveShell
vivainio
crlf cleanup
r680
import sys,textwrap,inspect
def indent(s, ind= ' '):
return '\n'.join([ind +l for l in s.splitlines()])
class ExtUtil:
""" IPython extensios (ipy_* etc.) management utilities """
Bernardo B. Marques
remove all trailling spaces
r4872
vivainio
crlf cleanup
r680 def describe(self):
for n,mod in self._active():
doc = inspect.getdoc(mod)
if doc:
print '== %s ==' % n
print indent(doc)
Bernardo B. Marques
remove all trailling spaces
r4872
vivainio
crlf cleanup
r680 def ls(self):
""" Show list of installed extensions. """
for n,m in self._active():
print '%-20s %s' % (n,m.__file__.replace('\\','/'))
def _active(self):
act = []
for mname,m in sys.modules.items():
o = getattr(m, 'ip', None)
Brian Granger
Continuing a massive refactor of everything.
r2205 if isinstance(o, InteractiveShell):
vivainio
crlf cleanup
r680 act.append((mname,m))
Bernardo B. Marques
remove all trailling spaces
r4872 act.sort()
vivainio
crlf cleanup
r680 return act
Bernardo B. Marques
remove all trailling spaces
r4872 extutil = ExtUtil()
Brian Granger
Continuing a massive refactor of everything.
r2205 ip.push('extutil')