@@ -21,9 +21,10 @@ def css_unit(v):
2121def iframe_url_builder_default (layout ):
2222 base_url = layout .iframe_base_url
2323 server = layout .server
24- template_name = layout ._template_name
25- src = f"{ base_url } :{ server .port } /index.html?ui={ template_name [16 :]} &reconnect=auto"
26- elem_id = f"{ server .name } _{ template_name } "
24+ src = (
25+ f"{ base_url } :{ server .port } /index.html?ui={ layout .template_name } &reconnect=auto"
26+ )
27+ elem_id = f"{ server .name } _{ layout ._template_name } "
2728
2829 return {
2930 "id" : elem_id ,
@@ -36,9 +37,10 @@ def iframe_url_builder_default(layout):
3637def iframe_url_builder_serverproxy (layout ):
3738 base_url = layout .iframe_base_url
3839 server = layout .server
39- template_name = layout ._template_name
40- src = f"{ base_url } /{ server .port } /index.html?ui={ template_name [16 :]} &reconnect=auto"
41- elem_id = f"{ server .name } _{ template_name } "
40+ src = (
41+ f"{ base_url } /{ server .port } /index.html?ui={ layout .template_name } &reconnect=auto"
42+ )
43+ elem_id = f"{ server .name } _{ layout ._template_name } "
4244
4345 return {
4446 "id" : elem_id ,
@@ -53,11 +55,10 @@ def iframe_url_builder_jupyter_extension(layout):
5355
5456 www_endpoint = os .environ .get ("TRAME_JUPYTER_ENDPOINT" , "/trame-jupyter-server" )
5557 server = layout .server
56- template_name = layout ._template_name
5758 url_base = f"{ www_endpoint } /{ server .client_type } /index.html"
58- url_query = f"ui={ template_name [ 16 :] } &server={ server .name } &wsProxy&reconnect=auto"
59+ url_query = f"ui={ layout . template_name } &server={ server .name } &wsProxy&reconnect=auto"
5960 src = f"{ url_base } ?{ url_query } "
60- elem_id = f"{ server .name } _{ template_name } "
61+ elem_id = f"{ server .name } _{ layout . _template_name } "
6162
6263 # Check if server/kernel are collocated
6364 www_path = os .environ .get ("TRAME_JUPYTER_WWW" )
@@ -66,7 +67,7 @@ def iframe_url_builder_jupyter_extension(layout):
6667 server_www = Path (www_path ) / "servers" / server .name
6768 url_base = f"{ www_endpoint } /servers/{ server .name } /index.html"
6869 url_query = (
69- f"ui={ template_name [ 16 :] } &server={ server .name } &wsProxy&reconnect=auto"
70+ f"ui={ layout . template_name } &server={ server .name } &wsProxy&reconnect=auto"
7071 )
7172 src = f"{ url_base } ?{ url_query } "
7273 if not server_www .exists ():
@@ -86,13 +87,12 @@ def iframe_url_builder_jupyter_extension(layout):
8687
8788def iframe_url_builder_jupyter_hub (layout ):
8889 server = layout .server
89- template_name = layout ._template_name
9090 url_base = (
9191 f"{ os .environ ['JUPYTERHUB_SERVICE_PREFIX' ]} proxy/{ server .port } /index.html"
9292 )
93- url_query = f"ui={ template_name [ 16 :] } &reconnect=auto"
93+ url_query = f"ui={ layout . template_name } &reconnect=auto"
9494 src = f"{ url_base } ?{ url_query } "
95- elem_id = f"{ server .name } _{ template_name } "
95+ elem_id = f"{ server .name } _{ layout . _template_name } "
9696
9797 return {
9898 "id" : elem_id ,
@@ -105,11 +105,10 @@ def iframe_url_builder_jupyter_hub(layout):
105105def iframe_url_builder_jupyter_hub_host (layout ):
106106 host = os .environ .get ("HOSTNAME" )
107107 server = layout .server
108- template_name = layout ._template_name
109108 url_base = f"{ os .environ ['JUPYTERHUB_SERVICE_PREFIX' ]} proxy/{ host } :{ server .port } /index.html"
110- url_query = f"ui={ template_name [ 16 :] } &reconnect=auto"
109+ url_query = f"ui={ layout . template_name } &reconnect=auto"
111110 src = f"{ url_base } ?{ url_query } "
112- elem_id = f"{ server .name } _{ template_name } "
111+ elem_id = f"{ server .name } _{ layout . _template_name } "
113112
114113 return {
115114 "id" : elem_id ,
@@ -176,6 +175,11 @@ def __init__(
176175 self .iframe_base_url = base_url
177176 self ._iframe_builder = get_iframe_builder (iframe_builder )
178177
178+ @property
179+ def template_name (self ):
180+ """Layout template name without the 'trame__template_' prefix"""
181+ return self ._template_name [16 :]
182+
179183 @property
180184 def iframe_builder (self ):
181185 """Instance of iframe builder responsible for generating the iframe tag for mainly for Jupyter"""
0 commit comments