##// END OF EJS Templates
Fix race condition in javascript kernel message processing...
Fix race condition in javascript kernel message processing Because the binary messages are now deserialized using the asynchronous FileReader API, we need to have some way to force the messages to still be processed in the order they are received. This patch implements a simple processing queue using promises.

File last commit:

r19980:515b791b
r20441:834cd9c4
Show More
__init__.py
26 lines | 1.1 KiB | text/x-python | PythonLexer
Thomas Kluyver
Multiple terminals and conditional initialisation
r18482 import os
Min RK
require terminado >= 0.3.3 for terminal handlers
r19980
import terminado
from IPython.utils.version import check_version
if not check_version(terminado.__version__, '0.3.3'):
raise ImportError("terminado >= 0.3.3 required, found %s" % terminado.__version__)
Thomas Kluyver
Multiple terminals and conditional initialisation
r18482 from terminado import NamedTermManager
Min RK
hook up terminado logger
r19974 from tornado.log import app_log
Thomas Kluyver
Put terminal handlers under base_url
r18485 from IPython.html.utils import url_path_join as ujoin
Min RK
create new terminals with POST /api/terminals...
r18616 from .handlers import TerminalHandler, TermSocket
Thomas Kluyver
Initial REST API for terminals
r18483 from . import api_handlers
Thomas Kluyver
Multiple terminals and conditional initialisation
r18482
def initialize(webapp):
shell = os.environ.get('SHELL', 'sh')
Min RK
create new terminals with POST /api/terminals...
r18616 terminal_manager = webapp.settings['terminal_manager'] = NamedTermManager(shell_command=[shell])
Min RK
hook up terminado logger
r19974 terminal_manager.log = app_log
Thomas Kluyver
Put terminal handlers under base_url
r18485 base_url = webapp.settings['base_url']
Thomas Kluyver
Multiple terminals and conditional initialisation
r18482 handlers = [
Thomas Kluyver
Put terminal handlers under base_url
r18485 (ujoin(base_url, r"/terminals/(\w+)"), TerminalHandler),
(ujoin(base_url, r"/terminals/websocket/(\w+)"), TermSocket,
Min RK
create new terminals with POST /api/terminals...
r18616 {'term_manager': terminal_manager}),
Thomas Kluyver
Put terminal handlers under base_url
r18485 (ujoin(base_url, r"/api/terminals"), api_handlers.TerminalRootHandler),
(ujoin(base_url, r"/api/terminals/(\w+)"), api_handlers.TerminalHandler),
Thomas Kluyver
Multiple terminals and conditional initialisation
r18482 ]
webapp.add_handlers(".*$", handlers)