
    A=dt                         d Z ddlZddlmZmZ ddlmZ ddlmZm	Z	 ddlm
Z
 ddlmZmZmZ ddlmZ  G d	 d
e	ee          Zd                     e            e
          efd e            z  efgZdS )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                   Z    e Zd ZdZd Zd Zej        ej	        dd                        Z
dS )TreeHandlerz-Render the tree view, listing notebooks, etc.c                 R   t          | j        d          dfg}|                    d          }t          t	          |                    D ]\}||         rRt          | j        dt          t          |d |dz                                 }|                    |||         f           ]|S )Ntree /   )r	   base_urlsplitrangelenr
   append)selfpathbreadcrumbspartsilinks         7lib/python3.11/site-packages/nbclassic/tree/handlers.pygenerate_breadcrumbsz TreeHandler.generate_breadcrumbs   s    %dmV<<bAB

3s5zz"" 	5 	5AQx 5$T]F}eDQqSDk:;;  ""D%(#3444    c                     |                     d          }t          |          dk    r7t          t          |          dz
            D ]}|                    d           t	          | }|r|dz   S dS )Nr         r   Home)r   r   r   popr	   )r   r   compsr   
page_titles        r   generate_page_titlezTreeHandler.generate_page_title%   ss    

3u::>>3u::a<((  		!"E*
 	c>!6r!   r   c              #     K   |                     d          }| j        }d}t          |                    |                    V }|s$t          |                    |                    V }|rt          |                    |                    V }|r5|j        s.| j                            d           t          j
        d          |                     |          }|                     |          }|                     |                     d|||| j        d         | j        d         | j                            d	d          
                     d S |rt          |                    |d                    V }|d         dk    rdnd}	t#          | j        |	t'          |                    }
| j                            d| j        j        |
           |                     |
           d S t          j
        d          )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_rootr-   )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   cmr8   r7   r9   r   r(   modelserviceurls              r   rA   zTreeHandler.get0   s
      zz#"'4(@(@AAAA
 	C ,R^^D-A-A B BBBK 	%*2<<+=+=>>>>I ) )QRRRmC(((33D99K11$77JJJt++K%"'$(M2G$H M*;< $ 1 12CU K K ,         	%&rvvdEv'B'BCCCCE%*6]j%@%@kkgGw
4(8(8 C HNN14<3DcJJJMM#-$$$r!   N)r   )__name__
__module____qualname____doc__r    r)   r   authenticatedr   	coroutinerA    r!   r   r   r      sh        77	 	 		 	 	 	]"% "% "% ] "% "% "%r!   r   z	{}/tree{}z%s/tree)rL   retornador   r   jupyter_server.base.handlersr    jupyter_server.extension.handlerr   r   r   jupyter_server.utilsr	   r
   r   	nbclassicr   r   formatdefault_handlersrO   r!   r   <module>rX      s&    
			         7 7 7 7 7 7        4 3 3 3 3 3 H H H H H H H H H H $ $ $ $ $ $=% =% =% =% =%,.C^ =% =% =%L )):66D.."""K0   r!   