##// END OF EJS Templates
Fix the path we use when walking to include the path separator...
Fix the path we use when walking to include the path separator This is so that parent[len(path):] isn't an absolute path, so the pjoin doesn't throw dest away.

File last commit:

r19453:3cc62d01
r20078:b7fe62ea
Show More
client.py
38 lines | 1.2 KiB | text/x-python | PythonLexer
"""Implements a fully blocking kernel client.
Useful for test suites and blocking terminal interfaces.
"""
# Copyright (c) IPython Development Team.
# Distributed under the terms of the Modified BSD License.
try:
from queue import Empty # Python 3
except ImportError:
from Queue import Empty # Python 2
from IPython.utils.traitlets import Type
from IPython.kernel.channels import HBChannel
from IPython.kernel.client import KernelClient
from .channels import ZMQSocketChannel
class BlockingKernelClient(KernelClient):
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)
except Empty:
break
# The classes to use for the various channels
shell_channel_class = Type(ZMQSocketChannel)
iopub_channel_class = Type(ZMQSocketChannel)
stdin_channel_class = Type(ZMQSocketChannel)
hb_channel_class = Type(HBChannel)