Skip to content

Commit fa2d6b3

Browse files
committed
Get gateway functionality working
1 parent 736114b commit fa2d6b3

File tree

3 files changed

+15
-11
lines changed

3 files changed

+15
-11
lines changed

jupyter_server/gateway/handlers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
from tornado.escape import url_escape, json_decode, utf8
1717

1818
from ipython_genutils.py3compat import cast_unicode
19-
from jupyter_protocol.session import Session, new_id
19+
from jupyter_protocol.session import Session, new_id_bytes
2020
from traitlets.config.configurable import LoggingConfigurable
2121

2222
from .managers import GatewayClient
@@ -58,7 +58,7 @@ def authenticate(self):
5858

5959
def initialize(self):
6060
self.log.debug("Initializing websocket connection %s", self.request.path)
61-
self.session = Session(key=new_id())
61+
self.session = Session(key=new_id_bytes())
6262
self.gateway = GatewayWebSocketClient(gateway_url=GatewayClient.instance().url)
6363

6464
@gen.coroutine
@@ -231,8 +231,8 @@ class GatewayResourceHandler(APIHandler):
231231
@web.authenticated
232232
@gen.coroutine
233233
def get(self, kernel_name, path, include_body=True):
234-
ksm = self.kernel_spec_manager
235-
kernel_spec_res = yield ksm.get_kernel_spec_resource(kernel_name, path)
234+
kf = self.kernel_finder
235+
kernel_spec_res = yield kf.get_kernel_spec_resource(kernel_name, path)
236236
if kernel_spec_res is None:
237237
self.log.warning("Kernelspec resource '{}' for '{}' not found. Gateway may not support"
238238
" resource serving.".format(path, kernel_name))

jupyter_server/gateway/managers.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,7 @@
1414
from ..services.kernels.kernelmanager import MappingKernelManager
1515
from ..services.sessions.sessionmanager import SessionManager
1616

17-
from ..utils import url_path_join
18-
17+
from ..utils import url_path_join, maybe_future
1918
from traitlets import Instance, Unicode, Float, Bool, default, validate, TraitError
2019
from traitlets.config import SingletonConfigurable
2120

@@ -522,8 +521,13 @@ def _get_kernelspecs_endpoint_url(self, kernel_name=None):
522521

523522
@gen.coroutine
524523
def find_kernels(self):
525-
remote_kspecs = yield self.get_all_specs()
526-
raise gen.Return(remote_kspecs)
524+
remote_kspecs_list = []
525+
remote_kspecs = yield maybe_future(self.get_all_specs())
526+
# convert to list of 2 tuples
527+
for kernel_type, attributes in remote_kspecs.items():
528+
remote_kspecs_list.append((kernel_type, attributes))
529+
530+
raise gen.Return(remote_kspecs_list)
527531

528532
@gen.coroutine
529533
def get_all_specs(self):

jupyter_server/services/kernelspecs/handlers.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,8 @@ def get(self):
6363
model = {}
6464
model['default'] = km.default_kernel_name
6565
model['kernelspecs'] = specs = {}
66-
67-
found_specs = yield maybe_future(kf.find_kernels())
68-
for kernel_name, kernel_info in found_specs:
66+
found_kernels = yield maybe_future(kf.find_kernels())
67+
for kernel_name, kernel_info in found_kernels:
6968
try:
7069
if is_kernelspec_model(kernel_info):
7170
d = kernel_info
@@ -75,6 +74,7 @@ def get(self):
7574
self.log.error("Failed to load kernel spec: '%s'", kernel_name, exc_info=True)
7675
continue
7776
specs[kernel_name] = d
77+
7878
self.set_header("Content-Type", 'application/json')
7979
self.finish(json.dumps(model))
8080

0 commit comments

Comments
 (0)