main.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. # Copyright (c) Jupyter Development Team.
  2. # Distributed under the terms of the Modified BSD License.
  3. import os
  4. HERE = os.path.dirname(__file__)
  5. os.environ['JUPYTERLAB_SETTINGS_DIR'] = str(os.path.join(HERE, 'settings'))
  6. from jupyterlab.labapp import LabApp
  7. from jupyterlab_server import LabServerApp, LabConfig
  8. from notebook.base.handlers import IPythonHandler, FileFindHandler
  9. from notebook.utils import url_path_join as ujoin
  10. import json
  11. from traitlets import Unicode
  12. with open(os.path.join(HERE, 'package.json')) as fid:
  13. version = json.load(fid)['version']
  14. class ExampleApp(LabApp):
  15. base_url = '/'
  16. default_url = Unicode('/lab',
  17. help='The default URL to redirect to from `/`')
  18. def init_webapp(self):
  19. """initialize tornado webapp and httpserver.
  20. """
  21. super().init_webapp()
  22. default_handlers = [
  23. (
  24. ujoin(self.base_url, r"/listings/(.*)"), FileFindHandler,
  25. {'path': os.path.join(HERE, 'list')}
  26. )
  27. ]
  28. self.web_app.add_handlers('.*$', default_handlers)
  29. def start(self):
  30. settings = self.web_app.settings
  31. # By default, make terminals available.
  32. settings.setdefault('terminals_available', True)
  33. super().start()
  34. if __name__ == '__main__':
  35. ExampleApp.launch_instance()