##// END OF EJS Templates
Merge Security Pull Request: google-caja...
Merge Security Pull Request: google-caja Adds HTML sanitization. The basics: - untrusted HTML is always sanitized, with no warning (there is console logging for changes made) - markdown is always treated as untrusted - no warnings for simply excluded output (e.g. Javascript) - CSS tags and attributes are always stripped from untrusted HTML - never check whether HTML is "safe," only sanitize - add 'Trust notebook' to File menu

File last commit:

r10298:49d3c39a
r15674:f33c5e99 merge
Show More
blocking.py
58 lines | 2.1 KiB | text/x-python | PythonLexer
MinRK
update inprocess kernel to new layout...
r10298 """ Implements a fully blocking kernel client.
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408
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
#-----------------------------------------------------------------------------
MinRK
update inprocess kernel to new layout...
r10298 # IPython 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
MinRK
update inprocess kernel to new layout...
r10298 from IPython.kernel.blocking.channels import BlockingChannelMixin
epatters
Refactor kernel managers in preparation for the EmbeddedKernel.
r8408
MinRK
update inprocess kernel to new layout...
r10298 # Local imports
from .channels import (
InProcessShellChannel,
InProcessIOPubChannel,
InProcessStdInChannel,
)
from .client import InProcessKernelClient
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):
MinRK
update inprocess kernel to new layout...
r10298
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':
MinRK
update inprocess kernel to new layout...
r10298 _raw_input = self.client.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
MinRK
update inprocess kernel to new layout...
r10298 class BlockingInProcessKernelClient(InProcessKernelClient):
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)