##// END OF EJS Templates
Ensure crash handler works even when app isn't fully configured yet....
Ensure crash handler works even when app isn't fully configured yet. In such a case, the ipython_dir may not have been computed yet, so we must avoid calling isdir() on a possibly None variable.

File last commit:

r2498:3eae1372
r2646:fd1aa87a
Show More
generics.py
64 lines | 1.8 KiB | text/x-python | PythonLexer
Brian Granger
Work to address the review comments on Fernando's branch....
r2498 # encoding: utf-8
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
Work to address the review comments on Fernando's branch....
r2498 Here is an example from IPython.utils.text::
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
Work to address the review comments on Fernando's branch....
r2498 #-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
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
Work to address the review comments on Fernando's branch....
r2498 #-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
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
Work to address the review comments on Fernando's branch....
r2498
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
Work to address the review comments on Fernando's branch....
r2498
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
Brian Granger
Work to address the review comments on Fernando's branch....
r2498