Skip to content
Snippets Groups Projects
Commit b268e3ed authored by Julian Rasch's avatar Julian Rasch
Browse files

Merge branch 'dev' into 'dev'

changed method to find jupyterlab base url for dash app

See merge request !3
parents 9782a559 9e2c3de5
No related branches found
No related tags found
2 merge requests!6Finalized Jupyterlab for the sprint,!3changed method to find jupyterlab base url for dash app
Pipeline #182432 passed
......@@ -4,13 +4,25 @@ sys.path.append("/home/jovyan/")
import argparse
import logging
from urllib.parse import urlparse, urljoin
from dash import Dash
from jupyter_server.serverapp import list_running_servers
from layout import layout
from callbacks import register_callbacks
logging.basicConfig(level=logging.INFO)
# weird trick to find base_url for the jupyterlab
def find_jupyterlab_base_url():
servers = list_running_servers()
for server in servers:
if server["port"] == 8888:
return server['url']
return None
# get the correct port from proxy
parser = argparse.ArgumentParser()
......@@ -23,10 +35,19 @@ if not port:
else:
logging.debug(f"Dash app running on port {port}.")
base_url = find_jupyterlab_base_url()
if base_url is None:
raise ValueError("Base URL of Jupyterlab could not be detected.")
logging.debug(f"Base URL: {base_url}")
proxy_base_path = urlparse(urljoin(base_url + "/", f"proxy/{port}/")).path
logging.debug(f"Proxy base path: {proxy_base_path}")
# define Dash app
app = Dash(
name=__name__,
requests_pathname_prefix="/Dash/"
requests_pathname_prefix=proxy_base_path
)
# define layout
......@@ -39,6 +60,6 @@ register_callbacks(app=app)
app.run(
jupyter_mode="jupyterlab",
port=port,
host="localhost",
host="0.0.0.0",
debug=True
)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment