##// END OF EJS Templates
Merge pull request #2882 from takluyver/utils-cleanup...
Merge pull request #2882 from takluyver/utils-cleanup Utils cleanup. This removes various unused code that was sitting in IPython.utils. I checked that we don't use these functions and modules at present, but we may want to leave some of them for future use or for extension authors. For the first pass, I've been deliberately quite aggressive about removing things.

File last commit:

r9375:4d245182
r9486:a3c4e796 merge
Show More
blockingkernelmanager.py
54 lines | 2.1 KiB | text/x-python | PythonLexer
/ IPython / kernel / inprocess / blockingkernelmanager.py
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408 """ Implements a fully blocking kernel manager.
Useful for test suites and blocking terminal interfaces.
"""
#-----------------------------------------------------------------------------
# Copyright (C) 2012 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING.txt, distributed as part of this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
from __future__ import print_function
# Local imports.
epatters
BUG: raw_input logic incorrect for in-process terminal frontend.
r8482 from IPython.utils.io import raw_print
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408 from IPython.utils.traitlets import Type
Brian Granger
Cleanup naming and organization of channels....
r9120 from kernelmanager import InProcessKernelManager, InProcessShellChannel, \
InProcessIOPubChannel, InProcessStdInChannel
MinRK
move zmq.KernelManagers into IPython.kernel
r9370 from IPython.kernel.blockingkernelmanager import BlockingChannelMixin
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408
#-----------------------------------------------------------------------------
# Blocking kernel manager
#-----------------------------------------------------------------------------
Brian Granger
Cleanup naming and organization of channels....
r9120 class BlockingInProcessShellChannel(BlockingChannelMixin, InProcessShellChannel):
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408 pass
Brian Granger
Cleanup naming and organization of channels....
r9120 class BlockingInProcessIOPubChannel(BlockingChannelMixin, InProcessIOPubChannel):
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408 pass
Brian Granger
Cleanup naming and organization of channels....
r9120 class BlockingInProcessStdInChannel(BlockingChannelMixin, InProcessStdInChannel):
epatters
BUG: raw_input logic incorrect for in-process terminal frontend.
r8482
def call_handlers(self, msg):
""" Overridden for the in-process channel.
This methods simply calls raw_input directly.
"""
msg_type = msg['header']['msg_type']
if msg_type == 'input_request':
Pietro Berkes
BUG: Solve 2to3 conversion error....
r8940 _raw_input = self.manager.kernel._sys_raw_input
epatters
BUG: raw_input logic incorrect for in-process terminal frontend.
r8482 prompt = msg['content']['prompt']
raw_print(prompt, end='')
Pietro Berkes
BUG: Solve 2to3 conversion error....
r8940 self.input(_raw_input())
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408
epatters
REFACTOR: Terminology change: 'embedded' -> 'in-process'.
r8471 class BlockingInProcessKernelManager(InProcessKernelManager):
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408
# The classes to use for the various channels.
Brian Granger
Cleanup naming and organization of channels....
r9120 shell_channel_class = Type(BlockingInProcessShellChannel)
iopub_channel_class = Type(BlockingInProcessIOPubChannel)
stdin_channel_class = Type(BlockingInProcessStdInChannel)