B
    ;R[                 @   s(   d Z ddlZdZdZdd Zdd ZdS )	z#A tornado based Jupyter lab server.    NzYou're running JupyterLab from source.
If you're working on the TypeScript sources of JupyterLab, try running

    jupyter lab --dev-mode --watch


to have the system incrementally watch and build JupyterLab for you, as you
make changes.
zH
Running the core application with no additional extensions or settings
c             C   s
  ddl m} ddlm}m}m}m}m} t| d| }||}|d }	t| d| }
t| d| }| }||_	d	|_
d
|_||d|_|d |_d|_||d|_||d|_||d|_|
|_||_t| ddr| j|_t| ddr| j|_|	r|	|_n||d|_|S )zLLoad the JupyterLab configuration and defaults for a given application.
    r   )	LabConfig   )get_app_dirget_app_infoget_workspaces_dirget_user_settings_dirpjoinapp_dirZ	publicUrluser_settings_dirworkspaces_dir
JupyterLab
jupyterlabsettingsversionTZschemasZstaticZthemesoverride_static_url override_theme_url)jupyterlab_serverr   commandsr   r   r   r   r   getattrr	   app_nameapp_namespaceZapp_settings_dirZapp_versioncache_filesZschemas_dirZtemplates_dirZ
themes_dirr
   r   r   
public_urlr   Z
themes_urlZ
static_dir)nbappr   r   r   r   r   r   r	   infor   r
   r   config r   3lib/python3.7/site-packages/jupyterlab/extension.pyload_config   s8    
r   c       (      C   sd  ddl m} ddlm} ddlm}m} ddlm} ddl	m
} ddlm} dd	lm}m}	m}
 dd
lm}m}m} ddlm}m}m}m}m}m}m} | j}| j}t| d| }d}t| dds| |r|}d}|!d d}t| dds| |r|}d}|!d || _"t#| }d|_$d|_%d|_&d|_'t| dd}|rX|rX|(d d}|rr|rr|(d d}|j)*dt+ }| o| |d< | o| |d< | j,|d< ||d< |j-}| |j&r|| j.|}||d< ||||dd |d < | j/rJt0| j1d!krJt2j34| j/| j5}||d,|6t2j7 }|| _8d#| _/|rh|!t9:  || n|r|| |s|!t; |!d$|  |!d%|  |r|!d& |< | _=|r|| n||| d|d< d|_'|j)d' } || |}!|	|||}"|!|
d(|"if}#|#g}$|sJ|| |}%|||}&|%|d)|&if}'|$>|' |d*|$ ||| d+S )-z*Load the JupyterLab server extension.
    r   )dumps)add_handlers)url_path_join
url_escape)version_info)IOLoop)Markupr   )
build_pathBuilderBuildHandler)extensions_handler_pathExtensionManagerExtensionHandler)DEV_DIRHEREensure_core
ensure_devwatch	watch_devr   r	   F	core_modeTzRunning JupyterLab in core modedev_modezRunning JupyterLab in dev moder   r   z/labr1   z3Cannot watch in core mode, did you mean --dev-mode?z3Conflicting modes, choosing dev_mode over core_modeZpage_config_dataZbuildAvailableZ
buildChecktokenZdevModeZ	bundleUrlZnotebookVersionZLabApp	/lab/treer   z#JupyterLab extension loaded from %sz&JupyterLab application directory is %sz!Starting JupyterLab watch mode...base_urlbuilderZmanagerz.*$N)r7   )?Zjsonr    r   r!   Znotebook.utilsr"   r#   Znotebook._versionr$   Ztornado.ioloopr%   Z
markupsafer&   build_handlerr'   r(   r)   Zextension_manager_handlerr*   r+   r,   r   r-   r.   r/   r0   r1   r2   r   web_applogr   
startswithr   r	   r   r   r   Zpage_urlr   warnr   
setdefaultdictr5   r   r8   Zfile_to_runtype__name__ospathrelpathZnotebook_dirsplitsepZdefault_url	CORE_NOTEstripDEV_NOTEZcurrentZioloopappend)(r   r    r!   Zujoinr#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r   r;   Zloggerr	   r3   r4   r   Z
watch_modeZpage_configZ
bundle_urlrE   Zurir8   Z	build_urlr9   r:   ZhandlersZext_urlZext_managerZext_handlerr   r   r   load_jupyter_server_extensionJ   s    $















rL   )__doc__rC   rJ   rH   r   rL   r   r   r   r   <module>   s
   
.