##// END OF EJS Templates
Fixing a few small bugs in the setup.py scripts. In setupbase.py, in find_scripts, ipython...
Fixing a few small bugs in the setup.py scripts. In setupbase.py, in find_scripts, ipython was spelled as lowercase. This didn't cause a problem on OS X as it is case insensitive. But on Linux, it crashed. Now ipython is spelled properly as "IPython". Also, kernel/config/tests and UserConfig were missing their __init__.py files. These have been added.

File last commit:

r1229:937e0cf6
r1254:19bd8e77
Show More
generics.py
54 lines | 1.7 KiB | text/x-python | PythonLexer
''' 'Generic' functions for extending IPython.
See http://cheeseshop.python.org/pypi/simplegeneric.
Here is 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 introduced in Python 2.4).
'''
from IPython.ipapi import TryNext
from IPython.external.simplegeneric import generic
def result_display(result):
""" print the result of computation """
raise TryNext
result_display = generic(result_display)
def inspect_object(obj):
""" Called when you do obj? """
raise TryNext
inspect_object = generic(inspect_object)
def complete_object(obj, prev_completions):
""" Custom completer dispatching for python objects
obj is the object itself.
prev_completions is the list of attributes discovered so far.
This should return the list of attributes in obj. If you only wish to
add to the attributes already discovered normally, return
own_attrs + prev_completions.
"""
raise TryNext
complete_object = generic(complete_object)
#import os
#def my_demo_complete_object(obj, prev_completions):
# """ Demo completer that adds 'foobar' to the completions suggested
# for any object that has attribute (path), e.g. 'os'"""
# if hasattr(obj,'path'):
# return prev_completions + ['foobar']
# raise TryNext
#
#my_demo_complete_object = complete_object.when_type(type(os))(my_demo_complete_object)