##// END OF EJS Templates
Clean up code, names, and docstrings.
Clean up code, names, and docstrings.

File last commit:

r1455:fdbdf21c
r1455:fdbdf21c
Show More
sync_traceback_trap.py
45 lines | 1.4 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):
def __init__(self, sync_formatter=None, formatters=None,
raiseException=True):
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