12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # Copyright (c) Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- import os
- HERE = os.path.dirname(__file__)
- os.environ["JUPYTERLAB_SETTINGS_DIR"] = str(os.path.join(HERE, "settings"))
- import json
- from jupyterlab_server import LabConfig, LabServerApp
- from notebook.base.handlers import FileFindHandler, IPythonHandler
- from notebook.utils import url_path_join as ujoin
- from traitlets import Unicode
- from jupyterlab.labapp import LabApp
- with open(os.path.join(HERE, "package.json")) as fid:
- version = json.load(fid)["version"]
- class ListingsApp(LabApp):
- base_url = "/"
- default_url = Unicode("/lab", help="The default URL to redirect to from `/`")
- def init_webapp(self):
- """initialize tornado webapp and httpserver."""
- super().init_webapp()
- default_handlers = [
- (
- ujoin(self.base_url, r"/listings/(.*)"),
- FileFindHandler,
- {"path": os.path.join(HERE, "list")},
- )
- ]
- self.web_app.add_handlers(".*$", default_handlers)
- def start(self):
- settings = self.web_app.settings
- # By default, make terminals available.
- settings.setdefault("terminals_available", True)
- super().start()
- if __name__ == "__main__":
- ListingsApp.launch_instance()
|