
    ^h                         S r SSKrSSKJrJr  SSKJr  SSKJrJ	r	  SSKJ
r
  SSKJrJrJr  SSKJr   " S	 S
\	\\5      rSR%                  \" 5       \
5      \4S\" 5       -  \4/rg)zPTornado handlers for the tree view.

This is a fork from jupyter/notebook#5.7.x
    N)webgen)JupyterHandler)ExtensionHandlerMixinExtensionHandlerJinjaMixin)
path_regex)url_path_join
url_escapeensure_async)nbclassic_pathc                   j    \ rS rSrSrS rS r\R                  \	R                  SS j5       5       rSrg)	TreeHandler   z-Render the tree view, listing notebooks, etc.c                 (   [        U R                  S5      S4/nUR                  S5      n[        [	        U5      5       HO  nX4   (       d  M  [        U R                  S[        [        US US-    6 5      5      nUR                  XSU   45        MQ     U$ )Ntree /   )r	   base_urlsplitrangelenr
   append)selfpathbreadcrumbspartsilinks         Q/home/james-whalen/.local/lib/python3.13/site-packages/nbclassic/tree/handlers.pygenerate_breadcrumbs TreeHandler.generate_breadcrumbs   s    %dmmV<bAB

3s5z"Axx$T]]F}eDQqSk:; ""D(#34 #     c                     UR                  S5      n[        U5      S:  a/  [        [        U5      S-
  5       H  nUR                  S5        M     [	        U6 nU(       a  US-   $ g)Nr         r   Home)r   r   r   popr	   )r   r   compsr   
page_titles        r    generate_page_titleTreeHandler.generate_page_title%   sV    

3u:>3u:a<(		! )"E*
c>!r#   c              #     #    UR                  S5      nU R                  nSn[        UR                  US95      v nU(       d  [        UR	                  U5      5      v nU(       a  [        UR                  U5      5      v nU(       aB  UR                  (       d1  U R                  R                  S5        [        R                  " S5      eU R                  U5      nU R                  U5      nU R                  U R                  SUUUU R                  R!                  SS5      U R                  S   U R                  R!                  S	S5      S
95        g U(       a  [        UR!                  USS95      v nUS   S:X  a  SOSn	[#        U R$                  U	['        U5      5      n
U R                  R)                  SU R*                  R,                  U
5        U R/                  U
5        g [        R                  " S5      e7f)Nr   F)r   z1Refusing to serve hidden directory, via 404 Errori  z	tree.htmlterminals_availableserver_root_dirshutdown_button)r*   notebook_pathr   r.   server_rootr0   )contenttypenotebook	notebooksfileszRedirecting %s to %s)stripcontents_managerr   
dir_existsfile_exists	is_hiddenallow_hiddenloginfor   	HTTPErrorr!   r+   writerender_templatesettingsgetr	   r   r
   debugrequestr   redirect)r   r   cmr;   r:   r<   r   r*   modelserviceurls              r    rD   TreeHandler.get0   s     zz#""'4(@AA
 ,R^^D-A BBK*2<<+=>>IQRmmC((33D9K11$7JJJt++K%"'$(MM$5$56KU$S MM*;< $ 1 12CU K ,   &rvvdEv'BCCE%*6]j%@kgGw
4(8C HHNN14<<3D3DcJMM#--$$s   G9G; N)r   )__name__
__module____qualname____firstlineno____doc__r!   r+   r   authenticatedr   	coroutinerD   __static_attributes__rM   r#   r    r   r      s5    7		 	]]"%  "%r#   r   z	{}/tree{}z%s/tree)rR   retornador   r   jupyter_server.base.handlersr    jupyter_server.extension.handlerr   r   r   jupyter_server.utilsr	   r
   r   	nbclassicr   r   formatdefault_handlersrM   r#   r    <module>r^      sm    
  7 4 H H $=%,.C^ =%L ):6D.""K0 r#   