
    Ib(                     h    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e      Z
d	e e
fd	e
fgZy)
z#Tornado handlers for the tree view.    )webN   )IPythonHandler
path_regex)url_path_join
url_escapec                   B    e Zd ZdZd Zd Zej                  dd       Zy)TreeHandlerz-Render the tree view, listing notebooks, etc.c                    t        | j                  d      dfg}|j                  d      }t        t	        |            D ]J  }||   s	t        | j                  dt        t        |d |dz                 }|j                  |||   f       L |S )Ntree /   )r   base_urlsplitrangelenr   append)selfpathbreadcrumbspartsilinks         8/usr/lib/python3/dist-packages/notebook/tree/handlers.pygenerate_breadcrumbsz TreeHandler.generate_breadcrumbs   s    %dmmV<bAB

3s5z" 	5AQx$T]]F}eDQqSk:; ""D%(#34	5     c                     |j                  d      }t        |      dkD  r-t        t        |      dz
        D ]  }|j                  d        t	        | }|r|dz   S y)Nr      r   r   z'Home Page - Select or create a notebook)r   r   r   popr   )r   r   compsr   
page_titles        r   generate_page_titlezTreeHandler.generate_page_title   s[    

3u:>3u:a<( 		!"E*
c>!<r   c                 F   |j                  d      }| j                  }|j                  |      r|j                  |      r<|j                  s0| j
                  j                  d       t        j                  d      | j                  |      }| j                  |      }| j                  | j                  d|||| j                  d   | j                  d   | j                  j                  dd	      
             y |j                  |      r|j                  |d	      }|d   dk(  rdnd}t!        | j"                  |t%        |            }| j
                  j'                  d| j(                  j*                  |       | j-                  |       y t        j                  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urls           r   r:   zTreeHandler.get%   sZ   zz#""==d=#||D!"//QRmmC((33D9K11$7JJJt++K%"'$(MM2G$H MM*;< $ 1 12CU K ,   ^^D!FF4F/E%*6]j%@kgGw
4(8C HHNN14<<3D3DcJMM#--$$r   N)r   )	__name__
__module____qualname____doc__r   r#   r   authenticatedr:    r   r   r
   r
      s)    7		= 	% %r   r
   z/tree)rF   tornador   osbase.handlersr   r   utilsr   r   r
   default_handlersrH   r   r   <module>rN      sD    )
  	 6 -7%. 7%@ 	j\K({ r   