##// END OF EJS Templates
i1673 implementation of py3 proper error handling...
i1673 implementation of py3 proper error handling I refactored ultratab.py a bit. `structured_traceback` function was much too long. I extracted some of the code to separate methods. I added support for py3 exceptions which store information about previous exceptions in their `__context__`.

File last commit:

r11009:e16cf2f8
r17157:552f2a77
Show More
inprocess.py
40 lines | 1.3 KiB | text/x-python | PythonLexer
""" Defines an in-process KernelManager with signals and slots.
"""
# Local imports.
from IPython.kernel.inprocess import (
InProcessShellChannel, InProcessIOPubChannel, InProcessStdInChannel,
InProcessHBChannel, InProcessKernelClient, InProcessKernelManager,
)
from IPython.utils.traitlets import Type
from .kernel_mixins import (
QtShellChannelMixin, QtIOPubChannelMixin,
QtStdInChannelMixin, QtHBChannelMixin, QtKernelClientMixin,
QtKernelManagerMixin,
)
class QtInProcessShellChannel(QtShellChannelMixin, InProcessShellChannel):
pass
class QtInProcessIOPubChannel(QtIOPubChannelMixin, InProcessIOPubChannel):
pass
class QtInProcessStdInChannel(QtStdInChannelMixin, InProcessStdInChannel):
pass
class QtInProcessHBChannel(QtHBChannelMixin, InProcessHBChannel):
pass
class QtInProcessKernelClient(QtKernelClientMixin, InProcessKernelClient):
""" An in-process KernelManager with signals and slots.
"""
iopub_channel_class = Type(QtInProcessIOPubChannel)
shell_channel_class = Type(QtInProcessShellChannel)
stdin_channel_class = Type(QtInProcessStdInChannel)
hb_channel_class = Type(QtInProcessHBChannel)
class QtInProcessKernelManager(QtKernelManagerMixin, InProcessKernelManager):
client_class = __module__ + '.QtInProcessKernelClient'