
    Mh                       d Z ddlmZ ddlZddlZddlmZ ddlZddlm	Z
 ddlmZ ddlmZmZ ddlZddlmZ ddlmZ d	gZd#dZej                            ej                            e                    Z ej        d           Z ej        d           Z ej        d           Z ej        d           Z ej        d           Z ej        d$d            Z!ej        d%d"            Z"dS )&zpytest fixtures.    )annotationsN)join)Path)AnyCallable)	ServerApp)LabServerAppzpytest_jupyter.jupyter_servertmp_pathr   partsstrreturnc                n     | j         | }|                                s|                    d           |S )zUtil for making a directory.T)parents)joinpathexistsmkdir)r
   r   paths      _/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyterlab_server/pytest_plugin.pyr   r      s:    8e$D;;== !

4
   K    c                "    t          | d          S )Napp_settingsr   r
   s    r   <lambda>r   !   s    5>3R3R r   c                "    t          | d          S )Nuser_settingsr   r   s    r   r   r   "   s    E(O4T4T r   c                "    t          | d          S )Nschemasr   r   s    r   r   r   #   s    eHi.H.H r   c                "    t          | d          S )N
workspacesr   r   s    r   r   r   $   s    x1N1N r   c                "    t          | d          S )Nlabextensions_dirr   r   s    r   r   r   %   s    E(DW4X4X r   jp_root_dirjp_template_dirapp_settings_diruser_settings_dirschemas_dirworkspaces_dirr"   Callable[..., LabServerApp]c                    d fd}                     d          }|                    d           t          t          dd	d
          }	t          t	                    d
          }
t
          j                            |
          rt          j	        |
           t          j
        |	|
           dD ]}|dz   }t          t	                    d
|          }t          t          dd	d
|          }	t          |d	d
|          }
t          j        |
          rt          j	        |
           t          j
        |	|
           t          t          |d          d          5 }t          |t          d                    }t          j        ||           ddd           n# 1 swxY w Y   t          t          ddd          }	t          t	                    d          }
t
          j                            |
          rt          j        |
           t          j        |	|
           t          t          dd          }t          j        |          D ]}t          ||          }	t          t	                    |          }
t
          j                            |
          rt          j        |
           t          j        |	t	                               |S )z8Return a factory function for a labserver extension app.kwargsr   r   r	   c                     t          t                    t                    dt                    t                    t                    t                    t                    g          S )z/Factory function for lab server extension apps.z/lab)
static_dirtemplates_dirapp_urlr%   r&   r'   r(   extra_labextensions_path)r	   r   )r+   r%   r#   r$   r"   r'   r&   r(   s    r   _make_labserver_extension_appzCmake_labserver_extension_app.<locals>._make_labserver_extension_app4   sp    ;''o.. !122!"34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   r   r	   )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"   r1   indexsrcdstr5   target_nametargetfiddataws_pathitems   ```````           r   make_labserver_extension_apprP   (   s   
 
 
 
 
 
 
 
 
 
 
 
 $$\22E		     F k9m
<
<C
K  -
0
0C	w~~c c
OC ? 
! 
!\)s,--}kJJD+y-FFFI}kBB:c?? 	M#S!!!% 344c:: 	!c[TD5I5I5IJJJDIdC   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!
 k>3C
D
DC
$%%'7
8
8C	w~~c 
	#
OC D+|44G
7## . .GT""C''..7>># 	IcNNNC^,,----((s   &5F''F+	.F+	jp_serverappr   rP   r	   c                l     |            }|                     |            |                                 |S )zA lab server app.)_link_jupyter_server_extension
initialize)rQ   rP   apps      r   labserverapprV      s;    
 '
&
(
(C&&|444NNJr   )r
   r   r   r   r   r   )r#   r   r$   r   r%   r   r&   r   r'   r   r(   r   r"   r   r   r)   )rQ   r   rP   r)   r   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>re      s     " " " " " "  				        ! ! ! ! ! !                        . . . . . . * * * * * *12    
wrwx0011!6>"R"RSS "FN#T#TUU fnHHII N NOO"FN#X#XYY  `) `) `) `)F      r   