##// END OF EJS Templates
Changed children list to CTuple....
Changed children list to CTuple. Also removed some unused refences in the widget code and added support for tuples in the pack/unpack code.

File last commit:

r11130:de5468b5
r15465:39853b8a
Show More
manager.py
62 lines | 2.1 KiB | text/x-python | PythonLexer
"""A kernel manager with a tornado IOLoop"""
#-----------------------------------------------------------------------------
# Copyright (C) 2013 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 __future__ import absolute_import
from zmq.eventloop import ioloop
from zmq.eventloop.zmqstream import ZMQStream
from IPython.utils.traitlets import (
Instance
)
from IPython.kernel.manager import KernelManager
from .restarter import IOLoopKernelRestarter
#-----------------------------------------------------------------------------
# Code
#-----------------------------------------------------------------------------
def as_zmqstream(f):
def wrapped(self, *args, **kwargs):
socket = f(self, *args, **kwargs)
return ZMQStream(socket, self.loop)
return wrapped
class IOLoopKernelManager(KernelManager):
loop = Instance('zmq.eventloop.ioloop.IOLoop', allow_none=False)
def _loop_default(self):
return ioloop.IOLoop.instance()
_restarter = Instance('IPython.kernel.ioloop.IOLoopKernelRestarter')
def start_restarter(self):
if self.autorestart and self.has_kernel:
if self._restarter is None:
self._restarter = IOLoopKernelRestarter(
kernel_manager=self, loop=self.loop,
parent=self, log=self.log
)
self._restarter.start()
def stop_restarter(self):
if self.autorestart:
if self._restarter is not None:
self._restarter.stop()
connect_shell = as_zmqstream(KernelManager.connect_shell)
connect_iopub = as_zmqstream(KernelManager.connect_iopub)
connect_stdin = as_zmqstream(KernelManager.connect_stdin)
connect_hb = as_zmqstream(KernelManager.connect_hb)