##// END OF EJS Templates
Work in multiple places to improve state of the test suite....
Work in multiple places to improve state of the test suite. With these changes, on my system now all the test sub-suites pass except for the Twisted one (see https://bugs.launchpad.net/ipython/+bug/504515 for details on that one).

File last commit:

r2205:8ce57664
r2398:f173ff8e
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