
    @=d                         d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZmZ ddlmZmZ ddl
mZ ej        Zdd	lmZ d
 Z G d deee          Zd                     e            e          efgZdS )zWTornado handlers for the live notebook view.

This is a fork from jupyter/notebook#6.x
    )
namedtuple)webgen)_i18n)ensure_async)
path_regexFilesRedirectHandler)ExtensionHandlerMixinExtensionHandlerJinjaMixin)JupyterHandler)nbclassic_pathc                  n   ddl m} m} t          dddg          } |dd           |d	d
           |dd           |dd           |dd           |dd           |dd           |dd          g}g } |             D ]} ||          } |            }t	          |dd           }t	          t          ||          dd           }	|M||	k    rGt          d                    ||j                            }
|	                     |||
                     t          d |D                       }|D ] }|j        |vr|	                    |           ! |dd          }||v r|                    |            |dd          }||v r|                    |           t          |          S )Nr   )get_export_namesget_exporterExporterInfonamedisplayhtmlzHTML (.html))r   r   latexzLaTeX (.tex)markdownzMarkdown (.md)notebookzNotebook (.ipynb)pdfzPDF via LaTeX (.pdf)rstzreST (.rst)scriptzScript (.txt)slideszReveal.js slides (.slides.html)export_from_notebookz{} ({})c              3   H   K   | ]}|j                                         V  d S )N)r   lower).0exporters     ;lib/python3.11/site-packages/nbclassic/notebook/handlers.py	<genexpr>z)get_frontend_exporters.<locals>.<genexpr>=   s0      II(##%%IIIIII    pythonzpython (.py)customzcustom (.txt))nbconvert.exporters.baser   r   r   getattrsuperr   formatfile_extensionappendsetr   removesorted)r   r   r   default_exportersfrontend_exportersr   exporter_classexporter_instanceux_namesuper_uxnamer   namesr    python_exportertemplate_exporters                  r!   get_frontend_exportersr8      sn   GGGGGGGG nvy.ABBL 	&.999'>:::*.>???*.ABBB%)?@@@%777(O<<<(,MNNN	   "" C C%d++*N,,+-CTJJu^5FGG5t= = 7l#:#:I,,W->-MO O P PG%%ll4&A&ABBB II6HIIIIIE% 0 0=%%%%h/// #l.IIIO,,,!!/222 %(OLLL...!!"3444$%%%r#   c                   H    e Zd Zej        ej        d                         ZdS )NotebookHandlerc              #   :  K   |                     d          }| j        }	 t          |                    |d                    V }nW# t          j        $ rE}|j        dk    r/d|                    d          v rt          j	        | |          V  n Y d}~nd}~ww xY w|d         dk    rt          j	        | |          V  |
                    dd	          d
         }|                     |                     d||d| j        | j        t                               dS )z}get renders the notebook template if a name is given, or
        redirects to the '/files/' handler if the name is not given./F)contenti  filesNtyper      znotebook.html)notebook_pathnotebook_namekill_kernelmathjax_urlmathjax_configr8   )stripcontents_managerr   getr   	HTTPErrorstatus_codesplitr	   redirect_to_filesrsplitwriterender_templaterE   rF   r8   )selfpathcmmodeler   s         r!   rI   zNotebookHandler.getP   sO     
 zz#"	&rvvdEv'B'BCCCCEE} 	 	 	}##4::c??(B(B*<T4HHHHHH IHHHH	 =J&&&8tDDDDD{{3""2&

4''6:6:49484D7;7J?U ( * * 	 	 	 	 	s   &A B;BBN)__name__
__module____qualname__r   authenticatedr   	coroutinerI    r#   r!   r:   r:   N   s=        ]  ]   r#   r:   z{}/notebooks{}N)__doc__collectionsr   tornador   r   jupyter_server.transutilsr   jupyter_server.utilsr   jupyter_server.base.handlersr   r	    jupyter_server.extension.handlerr
   r   r   rJ   	nbclassicr   r8   r:   r)   default_handlersr[   r#   r!   <module>re      sL    # " " " " "         + + + + + +      J I I I I I I I        8 7 7 7 7 7M	 $ $ $ $ $ $/& /& /&d    02G   N nn..
;;_M   r#   