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   Q/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/notebook/tree/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   z'Home Page - Select or create a notebook)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rG||r!|js!| jd td| 	|}| 
|}| | jd|||| jd | jd | jdd	d
 d S ||rw|j|d	d}|d dkr[d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shutdown_buttonF)r   notebook_pathr   r    server_rootr"   )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getfile_existsr   r   r   debugrequestr   redirect)r   r   cmr   r   modelserviceurlr   r   r   r5   %   s2   






zTreeHandler.getN)r
   )	__name__
__module____qualname____doc__r   r   r   authenticatedr5   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    @