|
|
# encoding: utf-8
|
|
|
"""Generic functions for extending IPython.
|
|
|
|
|
|
See http://cheeseshop.python.org/pypi/simplegeneric.
|
|
|
|
|
|
Here is an example from IPython.utils.text::
|
|
|
|
|
|
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)
|
|
|
"""
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Copyright (C) 2008-2009 The IPython Development Team
|
|
|
#
|
|
|
# Distributed under the terms of the BSD License. The full license is in
|
|
|
# the file COPYING, distributed as part of this software.
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Imports
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
from IPython.core.error import TryNext
|
|
|
from IPython.external.simplegeneric import generic
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Imports
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
@generic
|
|
|
def inspect_object(obj):
|
|
|
"""Called when you do obj?"""
|
|
|
raise TryNext
|
|
|
|
|
|
|
|
|
@generic
|
|
|
def complete_object(obj, prev_completions):
|
|
|
"""Custom completer dispatching for python objects.
|
|
|
|
|
|
Parameters
|
|
|
----------
|
|
|
obj : object
|
|
|
The object to complete.
|
|
|
prev_completions : list
|
|
|
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
|
|
|
|
|
|
|
|
|
|