浏览代码

Merge pull request #9568 from afshin/hub-integration

Fix integration with JupyterHub
Steven Silvester 4 年之前
父节点
当前提交
d5a60437aa
共有 2 个文件被更改,包括 22 次插入1 次删除
  1. 4 0
      jupyterlab/labapp.py
  2. 18 1
      jupyterlab/labhubapp.py

+ 4 - 0
jupyterlab/labapp.py

@@ -730,6 +730,10 @@ class LabApp(NBClassicConfigShimMixin, LabServerApp):
         self.handlers.extend(handlers)
         super().initialize_handlers()
 
+    def initialize(self, argv=None):
+        """Subclass because the ExtensionApp.initialize() method does not take arguments"""
+        super().initialize()
+
 #-----------------------------------------------------------------------------
 # Main entry point
 #-----------------------------------------------------------------------------

+ 18 - 1
jupyterlab/labhubapp.py

@@ -59,6 +59,8 @@ flags.update(
     }
 )
 
+
+
 if make_singleuser_app:
 
     class SingleUserNotebookMixin(LabApp):
@@ -510,8 +512,23 @@ else:
             env.loader = ChoiceLoader([FunctionLoader(get_page), orig_loader])
 
 
+
+# Overrides for Jupyter Server Extension config
+class OverrideSingleUserNotebookApp(SingleUserNotebookApp):
+    name = 'labhub'
+
+    # Disable the default jupyterlab extension and enable ourself
+    serverapp_config = {
+        "open_browser": True,
+        "jpserver_extensions": { "jupyterlab": False, "jupyterlab.labhubapp": True }
+    }
+
+
+load_jupyter_server_extension = OverrideSingleUserNotebookApp._load_jupyter_server_extension
+
+
 def main(argv=None):
-    return SingleUserNotebookApp.launch_instance(argv)
+    return OverrideSingleUserNotebookApp.launch_instance(argv)
 
 
 if __name__ == "__main__":