##// END OF EJS Templates
Update copyright/author statements....
Update copyright/author statements. - Updated copyright statements to use the new form: # Copyright (C) 2008-2009 The IPython Development Team I left the old notices in place (just updating the year in some cases), because as far as I know, old copyright statements are not meant to be retroactively modified. - Also, on most files, replaced __author__ marks with an 'Authors' section in the module docstring. This reduces top-level code in the module, while ensuring that the Author(s) get properly acknowledged in auto-generated API docs (sphinx doesn't read __author__ marks, but it will include the module docstring). I only left a few in place for very old files that we ship externally, and for those by Laurent: he had his authorship mark both in the docstring and in __author__ variables, so I think out of courtesy it would be better to ask him about it on the list. All the others were I found regular __author__ variables, I moved them to the main docstring.

File last commit:

r1459:8d08214a
r1875:bba7e571
Show More
sync_traceback_trap.py
53 lines | 1.7 KiB | text/x-python | PythonLexer
/ IPython / kernel / core / sync_traceback_trap.py
# encoding: utf-8
"""Object to manage sys.excepthook().
Synchronous version: prints errors when called.
"""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 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 traceback_trap import TracebackTrap
from IPython.ultraTB import ColorTB
class SyncTracebackTrap(TracebackTrap):
""" TracebackTrap that displays immediatly the traceback in addition
to capturing it. Useful in frontends, as without this traceback trap,
some tracebacks never get displayed.
"""
def __init__(self, sync_formatter=None, formatters=None,
raiseException=True):
"""
sync_formatter: Callable to display the traceback.
formatters: A list of formatters to apply.
"""
TracebackTrap.__init__(self, formatters=formatters)
if sync_formatter is None:
sync_formatter = ColorTB(color_scheme='LightBG')
self.sync_formatter = sync_formatter
self.raiseException = raiseException
def hook(self, *args):
""" This method actually implements the hook.
"""
self.args = args
if not self.raiseException:
print self.sync_formatter(*self.args)
else:
raise