##// END OF EJS Templates
Fix attribute naming
Fix attribute naming

File last commit:

r19217:956e44b8
r19226:60fe687d
Show More
client.py
38 lines | 1.2 KiB | text/x-python | PythonLexer
MinRK
split KernelManager into KernelManager + KernelClient
r10285 """Implements a fully blocking kernel client.
Useful for test suites and blocking terminal interfaces.
"""
Thomas Kluyver
Move kernel_info for adaptation onto KernelClient
r19216 # Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
MinRK
split KernelManager into KernelManager + KernelClient
r10285
Thomas Kluyver
Move kernel_info for adaptation onto KernelClient
r19216 try:
from queue import Empty # Python 3
except ImportError:
from Queue import Empty # Python 2
MinRK
split KernelManager into KernelManager + KernelClient
r10285
from IPython.utils.traitlets import Type
from IPython.kernel.client import KernelClient
Thomas Kluyver
Move ZMQ socket creation out of channels
r19217 from .channels import ZMQSocketChannel, BlockingHBChannel
MinRK
split KernelManager into KernelManager + KernelClient
r10285
class BlockingKernelClient(KernelClient):
Thomas Kluyver
Move kernel_info for adaptation onto KernelClient
r19216 def wait_for_ready(self):
# Wait for kernel info reply on shell channel
while True:
msg = self.shell_channel.get_msg(block=True)
if msg['msg_type'] == 'kernel_info_reply':
self._handle_kernel_info_reply(msg)
break
# Flush IOPub channel
while True:
try:
msg = self.iopub_channel.get_msg(block=True, timeout=0.2)
print(msg['msg_type'])
except Empty:
break
MinRK
split KernelManager into KernelManager + KernelClient
r10285
# The classes to use for the various channels
Thomas Kluyver
Move ZMQ socket creation out of channels
r19217 shell_channel_class = Type(ZMQSocketChannel)
iopub_channel_class = Type(ZMQSocketChannel)
stdin_channel_class = Type(ZMQSocketChannel)
MinRK
split KernelManager into KernelManager + KernelClient
r10285 hb_channel_class = Type(BlockingHBChannel)