Skip to content
Snippets Groups Projects
Commit 9e2c3de5 authored by Julian's avatar Julian
Browse files

changed method to find jupyterlab base url for dash app

parent cc492b0f
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
......@@ -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