
    ^h                    2   S r SSKJr  SSKrSSKrSSKJr  SSKrSSKJ	r
  SSKJr  SSKJrJr  SSKrSSKJr  SSKJr  S	/rSS
 jr\R                  R/                  \R                  R1                  \5      5      r\R6                  " S 5      r\R6                  " S 5      r\R6                  " S 5      r\R6                  " S 5      r\R6                  " S 5      r \R6                                  SS j5       r!\R6                        SS j5       r"g)zpytest fixtures.    )annotationsN)join)Path)AnyCallable)	ServerApp)LabServerAppzpytest_jupyter.jupyter_serverc                l    U R                   " U6 nUR                  5       (       d  UR                  SS9  U$ )zUtil for making a directory.T)parents)joinpathexistsmkdir)tmp_pathpartspaths      Y/home/james-whalen/.local/lib/python3.13/site-packages/jupyterlab_server/pytest_plugin.pyr   r      s0    e$D;;==

4
 K    c                    [        U S5      $ )Napp_settingsr   r   s    r   <lambda>r   !   s    5>3Rr   c                    [        U S5      $ )Nuser_settingsr   r   s    r   r   r   "   s    E(O4Tr   c                    [        U S5      $ )Nschemasr   r   s    r   r   r   #   s    eHi.Hr   c                    [        U S5      $ )N
workspacesr   r   s    r   r   r   $   s    x1Nr   c                    [        U S5      $ )Nlabextensions_dirr   r   s    r   r   r   %   s    E(DW4Xr   c           	     l  ^ ^^^^^^ SUU UUUUU4S jjnTR                  S5      nUR                  S5        [        [        SSS5      n	[        [	        T5      S5      n
[
        R                  R                  U
5      (       a  [        R                  " U
5        [        R                  " X5        S H  nUS-   n[        [	        T5      SU5      n[        [        SSSU5      n	[        USSU5      n
[        R                  " U
5      (       a  [        R                  " U
5        [        R                  " X5        [        [        US	5      S
5       n[        U[        SS9S9n[        R                  " X5        SSS5        M     [        [        SSS5      n	[        [	        T5      S5      n
[
        R                  R                  U
5      (       a  [
        R                   " U
5        [        R"                  " X5        [        [        SS5      n[
        R$                  " U5       H~  n[        UU5      n	[        [	        T5      U5      n
[
        R                  R                  U
5      (       a  [
        R                   " U
5        [        R&                  " U	[	        T5      5        M     U$ ! , (       d  f       GM  = f)z8Return a factory function for a labserver extension app.c                    > [        [        T5      [        T5      S[        T5      [        T5      [        T5      [        T5      [        T5      /S9$ )z/Factory function for lab server extension apps.z/lab)
static_dirtemplates_dirapp_urlapp_settings_diruser_settings_dirschemas_dirworkspaces_dirextra_labextensions_path)r	   str)kwargsr&   jp_root_dirjp_template_dirr    r(   r'   r)   s    r   _make_labserver_extension_appCmake_labserver_extension_app.<locals>._make_labserver_extension_app4   sQ    ;'o. !12!"34K(~.&)*;&<%=	
 		
r   z
index.htmla  
<!DOCTYPE html>
<html>
<head>
  <title>{{page_config['appName'] | e}}</title>
</head>
<body>
    {# Copy so we do not modify the page_config with updates. #}
    {% set page_config_full = page_config.copy() %}

    {# Set a dummy variable - we just want the side effect of the update. #}
    {% set _ = page_config_full.update(baseUrl=base_url, wsUrl=ws_url) %}

      <script id="jupyter-config-data" type="application/json">
        {{ page_config_full | tojson }}
      </script>
  <script src="{{page_config['fullStaticUrl'] | e}}/bundle.js" main="index"></script>

  <script type="text/javascript">
    /* Remove token from URL. */
    (function () {
      var parsedUrl = new URL(window.location.href);
      if (parsedUrl.searchParams.get('token')) {
        parsedUrl.searchParams.delete('token');
        window.history.replaceState({ }, '', parsedUrl.href);
      }
    })();
  </script>
</body>
</html>
	test_datar   z@jupyterlab)zapputils-extensionzcodemirror-extensionz
-federatedzpackage.orig.jsonwT)	extension)name
jupyterlabNzapp-settingszoverrides.jsonr   )r,   r   returnr	   )r   
write_textpjoinHEREr+   osr   r   shutilrmtreecopytreeospopendictjsondumpremovecopyfilelistdircopy)r-   r.   r&   r'   r(   r)   r    r/   indexsrcdstr4   target_nametargetfiddataws_pathitems   ```````           r   make_labserver_extension_apprP   (   s   
 
 $$\2E		 F k9m
<C
K -
0C	ww~~cc
OOC ?\)s,-}kJD+y-FFI}kB::c??MM#!% 34c:c[TD5IJDIId  ;: ? k>3C
DC
$%'7
8C	ww~~c
		#
OOC D+|4G

7#GT"C'.77>>#IIcNC^,- $ )() ;:s   (J##
J3	c                V    U" 5       nUR                  U 5        UR                  5         U$ )zA lab server app.)_link_jupyter_server_extension
initialize)jp_serverapprP   apps      r   labserverapprV      s)    
 '
(C&&|4NNJr   )r   r   r   r+   r6   r   )r-   r   r.   r   r&   r   r'   r   r(   r   r)   r   r    r   r6   Callable[..., LabServerApp])rT   r   rP   rW   r6   r	   )#__doc__
__future__r   rA   r:   os.pathr   r>   r;   r   r8   pathlibr   typingr   r   pytestjupyter_server.serverappr   jupyterlab_serverr	   pytest_pluginsr   abspathdirname__file__r9   fixturer&   r'   r(   r)   r    rP   rV    r   r   <module>rf      sF    "  	   !     . *12 
wwrwwx01>>"RS NN#TU nnHI NONN#XY  `)`)`) `) 	`)
 `) `) `) !`) `)F ;V r   