|
13 | 13 | )
|
14 | 14 | from traitlets.config import Config
|
15 | 15 | from tornado.log import LogFormatter
|
| 16 | +from tornado.web import RedirectHandler |
16 | 17 |
|
17 | 18 | from jupyter_core.application import JupyterApp
|
18 | 19 |
|
|
21 | 22 | from jupyter_server.utils import url_path_join
|
22 | 23 | from .handler import ExtensionHandlerMixin
|
23 | 24 |
|
24 |
| - |
25 | 25 | # -----------------------------------------------------------------------------
|
26 | 26 | # Util functions and classes.
|
27 | 27 | # -----------------------------------------------------------------------------
|
@@ -422,6 +422,36 @@ def _load_jupyter_server_extension(cls, serverapp):
|
422 | 422 | extension.initialize()
|
423 | 423 | return extension
|
424 | 424 |
|
| 425 | + @classmethod |
| 426 | + def load_classic_server_extension(cls, serverapp): |
| 427 | + """Enables extension to be loaded as classic Notebook (jupyter/notebook) extension. |
| 428 | + """ |
| 429 | + extension = cls() |
| 430 | + extension.serverapp = serverapp |
| 431 | + extension.load_config_file() |
| 432 | + extension.update_config(serverapp.config) |
| 433 | + extension.parse_command_line(serverapp.extra_args) |
| 434 | + # Add redirects to get favicons from old locations in the classic notebook server |
| 435 | + extension.handlers.extend([ |
| 436 | + (r"/static/favicons/favicon.ico", RedirectHandler, |
| 437 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon.ico")}), |
| 438 | + (r"/static/favicons/favicon-busy-1.ico", RedirectHandler, |
| 439 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-busy-1.ico")}), |
| 440 | + (r"/static/favicons/favicon-busy-2.ico", RedirectHandler, |
| 441 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-busy-2.ico")}), |
| 442 | + (r"/static/favicons/favicon-busy-3.ico", RedirectHandler, |
| 443 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-busy-3.ico")}), |
| 444 | + (r"/static/favicons/favicon-file.ico", RedirectHandler, |
| 445 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-file.ico")}), |
| 446 | + (r"/static/favicons/favicon-notebook.ico", RedirectHandler, |
| 447 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-notebook.ico")}), |
| 448 | + (r"/static/favicons/favicon-terminal.ico", RedirectHandler, |
| 449 | + {"url": url_path_join(serverapp.base_url, "static/base/images/favicon-terminal.ico")}), |
| 450 | + (r"/static/logo/logo.png", RedirectHandler, |
| 451 | + {"url": url_path_join(serverapp.base_url, "static/base/images/logo.png")}), |
| 452 | + ]) |
| 453 | + extension.initialize() |
| 454 | + |
425 | 455 | @classmethod
|
426 | 456 | def launch_instance(cls, argv=None, **kwargs):
|
427 | 457 | """Launch the extension like an application. Initializes+configs a stock server
|
|
0 commit comments