|
|
|
|
@ -106,16 +106,17 @@ class SessionHandler(APIHandler):
|
|
|
|
|
if notebook.get('path') is not None:
|
|
|
|
|
changes['path'] = notebook['path']
|
|
|
|
|
if 'kernel' in model:
|
|
|
|
|
if model['kernel'].get('name') is not None:
|
|
|
|
|
kernel_name = model['kernel']['name']
|
|
|
|
|
kernel_id = yield sm.start_kernel_for_session(
|
|
|
|
|
session_id, kernel_name=kernel_name, path=before['notebook']['path'])
|
|
|
|
|
changes['kernel_id'] = kernel_id
|
|
|
|
|
# Kernel id takes precedence over name.
|
|
|
|
|
if model['kernel'].get('id') is not None:
|
|
|
|
|
kernel_id = model['kernel']['id']
|
|
|
|
|
if kernel_id not in km:
|
|
|
|
|
raise web.HTTPError(400, "No such kernel: %s" % kernel_id)
|
|
|
|
|
changes['kernel_id'] = kernel_id
|
|
|
|
|
elif model['kernel'].get('name') is not None:
|
|
|
|
|
kernel_name = model['kernel']['name']
|
|
|
|
|
kernel_id = yield sm.start_kernel_for_session(
|
|
|
|
|
session_id, kernel_name=kernel_name, path=before['notebook']['path'])
|
|
|
|
|
changes['kernel_id'] = kernel_id
|
|
|
|
|
|
|
|
|
|
yield gen.maybe_future(sm.update_session(session_id, **changes))
|
|
|
|
|
model = yield gen.maybe_future(sm.get_session(session_id=session_id))
|
|
|
|
|
|