From 266e2978e94ff5143f5cd87e8d4a90e03295081e Mon Sep 17 00:00:00 2001 From: lucabem Date: Wed, 27 May 2020 18:56:30 +0200 Subject: [PATCH] Changed _get_endpoint_for_user_filter to static and used in constructor class instead of each class method --- notebook/gateway/managers.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) diff --git a/notebook/gateway/managers.py b/notebook/gateway/managers.py index f7c0a9b02..8f89db6fb 100644 --- a/notebook/gateway/managers.py +++ b/notebook/gateway/managers.py @@ -498,15 +498,25 @@ class GatewayKernelManager(MappingKernelManager): self.remove_kernel(kernel_id) + class GatewayKernelSpecManager(KernelSpecManager): def __init__(self, **kwargs): super(GatewayKernelSpecManager, self).__init__(**kwargs) - self.base_endpoint = url_path_join(GatewayClient.instance().url, - GatewayClient.instance().kernelspecs_endpoint) + base_endpoint = url_path_join(GatewayClient.instance().url, + GatewayClient.instance().kernelspecs_endpoint) + + self.base_endpoint = GatewayKernelSpecManager._get_endpoint_for_user_filter(base_endpoint) self.base_resource_endpoint = url_path_join(GatewayClient.instance().url, GatewayClient.instance().kernelspecs_resource_endpoint) + @staticmethod + def _get_endpoint_for_user_filter(default_endpoint): + kernel_user = os.environ.get('KERNEL_USERNAME') + if kernel_user: + return '?user='.join([default_endpoint, kernel_user]) + return default_endpoint + def _get_kernelspecs_endpoint_url(self, kernel_name=None): """Builds a url for the kernels endpoint @@ -519,12 +529,6 @@ class GatewayKernelSpecManager(KernelSpecManager): return self.base_endpoint - def _get_endpoint_for_user_filter(self, default_endpoint): - kernel_user = os.environ.get('KERNEL_USERNAME') - if kernel_user: - return '?user='.join([default_endpoint, kernel_user]) - return default_endpoint - @gen.coroutine def get_all_specs(self): fetched_kspecs = yield self.list_kernel_specs() @@ -549,9 +553,6 @@ class GatewayKernelSpecManager(KernelSpecManager): def list_kernel_specs(self): """Get a list of kernel specs.""" kernel_spec_url = self._get_kernelspecs_endpoint_url() - - kernel_spec_url = self._get_endpoint_for_user_filter(kernel_spec_url) - self.log.debug("Request list kernel specs at: %s", kernel_spec_url) response = yield gateway_request(kernel_spec_url, method='GET') kernel_specs = json_decode(response.body) @@ -567,9 +568,6 @@ class GatewayKernelSpecManager(KernelSpecManager): The name of the kernel. """ kernel_spec_url = self._get_kernelspecs_endpoint_url(kernel_name=str(kernel_name)) - - kernel_spec_url = self._get_endpoint_for_user_filter(kernel_spec_url) - self.log.debug("Request kernel spec at: %s" % kernel_spec_url) try: response = yield gateway_request(kernel_spec_url, method='GET') @@ -598,7 +596,6 @@ class GatewayKernelSpecManager(KernelSpecManager): The name of the desired resource """ kernel_spec_resource_url = url_path_join(self.base_resource_endpoint, str(kernel_name), str(path)) - kernel_spec_resource_url = self._get_endpoint_for_user_filter(kernel_spec_resource_url) self.log.debug("Request kernel spec resource '{}' at: {}".format(path, kernel_spec_resource_url)) try: response = yield gateway_request(kernel_spec_resource_url, method='GET')