##// END OF EJS Templates
Progress towards getting the test suite in shape again....
Progress towards getting the test suite in shape again. Work all over the place to get more tests to pass.

File last commit:

r2205:8ce57664
r2392:80df84f7
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