o
    i
                     @   sb   d Z ddlmZ ddlZddlmZmZ ddlmZm	Z	 G dd deZ
d	e e
fd	e
fgZdS )
z#Tornado handlers for the tree view.    )webN   )IPythonHandler
path_regex)url_path_join
url_escapec                   @   s0   e Zd ZdZdd Zdd Zejd
ddZd	S )TreeHandlerz-Render the tree view, listing notebooks, etc.c              
   C   sn   t | jddfg}|d}tt|D ] }|| r4t | jdtt |d |d   }|||| f q|S )Ntree /   )r   base_urlsplitrangelenr   append)selfpathbreadcrumbspartsilink r   W/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/notebook/tree/tests/handlers.pygenerate_breadcrumbs   s   
z TreeHandler.generate_breadcrumbsc                 C   sN   | d}t|dkrtt|d D ]}|d qt| }|r%|d S dS )Nr      r   r   Home)r   r   r   popr   )r   r   compsr   
page_titler   r   r   generate_page_title   s   
zTreeHandler.generate_page_titler
   c              
   C   s   | d}| j}|j|drA||r!|js!| jd td| 	|}| 
|}| | jd|||| jd | jd d d S ||rq|j|d	d
}|d dkrUdnd}t| j|t|}| jd| jj| | | d S td)Nr   )r   z1Refusing to serve hidden directory, via 404 Errori  z	tree.htmlterminals_availableserver_root_dir)r   notebook_pathr   r!   server_rootF)contenttypenotebook	notebooksfileszRedirecting %s to %s)stripcontents_manager
dir_exists	is_hiddenallow_hiddenloginfor   	HTTPErrorr   r    writerender_templatesettingsfile_existsgetr   r   r   debugrequestr   redirect)r   r   cmr   r   modelserviceurlr   r   r   r6   %   s0   






zTreeHandler.getN)r
   )	__name__
__module____qualname____doc__r   r    r   authenticatedr6   r   r   r   r   r      s    r   z/tree)rA   tornador   osbase.handlersr   r   utilsr   r   r   default_handlersr   r   r   r   <module>   s    ?