##// END OF EJS Templates
Add generics.py, result_display generic, first impl is LSString result printer
Add generics.py, result_display generic, first impl is LSString result printer

File last commit:

r694:53c0c308
r694:53c0c308
Show More
generics.py
28 lines | 785 B | text/x-python | PythonLexer
from IPython.ipapi import TryNext
from IPython.external.simplegeneric import generic
""" 'Generic' functions for extending IPython
See http://cheeseshop.python.org/pypi/simplegeneric
Here's an example from genutils.py:
def print_lsstring(arg):
""" Prettier (non-repr-like) and more informative printer for LSString """
print "LSString (.p, .n, .l, .s available). Value:"
print arg
print_lsstring = result_display.when_type(LSString)(print_lsstring)
(Yes, the nasty syntax is for python 2.3 compatibility. Your own extensions
can use the niftier decorator syntax)
"""
@generic
def result_display(result):
""" print the result of computation """
raise TryNext
result_display = generic(result_display)