##// END OF EJS Templates
Backport PR #5522: fix iteration over Client...
Backport PR #5522: fix iteration over Client I didn't intend for Client to be iterable, but defining `__getitem__` makes it iterable as long as engine IDs are continuous (not always the case). This explicitly defines `__iter__` so it behaves consistently. closes #5519

File last commit:

r11009:e16cf2f8
r16233:12e080c4
Show More
client.py
37 lines | 968 B | text/x-python | PythonLexer
""" Defines a KernelClient that provides signals and slots.
"""
# Local imports
from IPython.utils.traitlets import Type
from IPython.kernel.channels import (
ShellChannel, IOPubChannel, StdInChannel, HBChannel
)
from IPython.kernel import KernelClient
from .kernel_mixins import (
QtShellChannelMixin, QtIOPubChannelMixin,
QtStdInChannelMixin, QtHBChannelMixin,
QtKernelClientMixin
)
class QtShellChannel(QtShellChannelMixin, ShellChannel):
pass
class QtIOPubChannel(QtIOPubChannelMixin, IOPubChannel):
pass
class QtStdInChannel(QtStdInChannelMixin, StdInChannel):
pass
class QtHBChannel(QtHBChannelMixin, HBChannel):
pass
class QtKernelClient(QtKernelClientMixin, KernelClient):
""" A KernelClient that provides signals and slots.
"""
iopub_channel_class = Type(QtIOPubChannel)
shell_channel_class = Type(QtShellChannel)
stdin_channel_class = Type(QtStdInChannel)
hb_channel_class = Type(QtHBChannel)