##// END OF EJS Templates
Merging the new-extensions branch....
Merging the new-extensions branch. * Previously, the latex Sphinx docs were in a single chapter. This has been fixed by adding a sixth argument of True to the ``latex_documents`` attribute of :file:`conf.py`. * The ``psum`` example in the MPI documentation has been updated to mpi4py version 1.1.0. Thanks to J. Thomas for this fix. * The top-level, zero-install :file:`ipython.py` script has been updated to the new application launching API. * The extension loading functions have been renamed to :func:`load_ipython_extension` and :func:`unload_ipython_extension`. * The :mod:`IPython.extensions.pretty` extension has been moved out of quarantine and fully updated to the new extension API. * New magics for loading/unloading/reloading extensions have been added: ``%load_ext``, ``%unload_ext`` and ``%reload_ext``.

File last commit:

r2205:8ce57664
r2286:4088ad0e merge
Show More
generics.py
43 lines | 1.1 KiB | text/x-python | PythonLexer
Brian Granger
Continuing a massive refactor of everything.
r2205 """Generic functions for extending IPython.
vivainio
crlf normalization
r851
Fernando Perez
Small doc cleanup.
r1229 See http://cheeseshop.python.org/pypi/simplegeneric.
vivainio
crlf normalization
r851
Brian Granger
Continuing a massive refactor of everything.
r2205 Here is an example from genutils.py::
vivainio
crlf normalization
r851
def print_lsstring(arg):
Fernando Perez
Small doc cleanup.
r1229 "Prettier (non-repr-like) and more informative printer for LSString"
vivainio
crlf normalization
r851 print "LSString (.p, .n, .l, .s available). Value:"
print arg
print_lsstring = result_display.when_type(LSString)(print_lsstring)
Brian Granger
Continuing a massive refactor of everything.
r2205 """
vivainio
crlf normalization
r851
Brian Granger
Continuing a massive refactor of everything.
r2205 from IPython.core.error import TryNext
Fernando Perez
Small doc cleanup.
r1229 from IPython.external.simplegeneric import generic
Brian Granger
Continuing a massive refactor of everything.
r2205 @generic
vivainio
crlf normalization
r851 def result_display(result):
Brian Granger
Continuing a massive refactor of everything.
r2205 """Print the result of computation."""
vivainio
crlf normalization
r851 raise TryNext
Brian Granger
Continuing a massive refactor of everything.
r2205 @generic
vivainio
crlf normalization
r851 def inspect_object(obj):
Brian Granger
Continuing a massive refactor of everything.
r2205 """Called when you do obj?"""
vivainio
crlf normalization
r851 raise TryNext
vivainio
implement complete_object(obj, prev_completions) generic function to provide custom completers for python object attributes (as opposed to string dispatching)
r908
Brian Granger
Continuing a massive refactor of everything.
r2205 @generic
vivainio
implement complete_object(obj, prev_completions) generic function to provide custom completers for python object attributes (as opposed to string dispatching)
r908 def complete_object(obj, prev_completions):
Brian Granger
Continuing a massive refactor of everything.
r2205 """Custom completer dispatching for python objects.
Parameters
----------
obj : object
The object to complete.
prev_completions : list
List of attributes discovered so far.
vivainio
implement complete_object(obj, prev_completions) generic function to provide custom completers for python object attributes (as opposed to string dispatching)
r908 This should return the list of attributes in obj. If you only wish to
Brian Granger
Continuing a massive refactor of everything.
r2205 add to the attributes already discovered normally, return
vivainio
implement complete_object(obj, prev_completions) generic function to provide custom completers for python object attributes (as opposed to string dispatching)
r908 own_attrs + prev_completions.
"""
raise TryNext