o
    i                     @   sf   d Z ddlZddlZddlmZ ddlmZ ddlmZ ddl	m
Z
 dZG d	d
 d
e
ZdefgZdS )zAPI Handlers for nbconvert.    N)run_sync)web)
authorized   )
APIHandler	nbconvertc                       sB   e Zd ZU dZeZejed<  fddZ	e
jedd Z  ZS )NbconvertRootHandlerzThe nbconvert root API handler._exporter_lockc                    s8   t  jdi | t| jdst | j_| jj| _dS )z%Initialize an nbconvert root handler.r	   N )super
initializehasattr	__class__asyncioLockr	   )selfkwargsr   r
   e/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyter_server/services/nbconvert/handlers.pyr      s   zNbconvertRootHandler.initializec              
      s   zddl m} W n ty } z	tdd| |d}~ww i }t|jI dH }| j4 I dH , |D ]}zt|j|I dH }W n	 t	yI   Y q3w d|j
i||< q3W d  I dH  n1 I dH sbw   Y  | t| dS )z$Get the list of nbconvert exporters.r   )basei  zCould not import nbconvert: %sNoutput_mimetype)nbconvert.exportersr   ImportErrorr   	HTTPErrorr   get_export_namesr	   get_exporter
ValueErrorr   finishjsondumps)r   r   eres	exportersexporter_nameexporter_classr
   r
   r   get   s*   

(zNbconvertRootHandler.get)__name__
__module____qualname____doc__AUTH_RESOURCEauth_resourcer   r   __annotations__r   r   authenticatedr   r%   __classcell__r
   r
   r   r   r      s   
 
r   z/api/nbconvert)r)   r   r   anyio.to_threadr   tornador   jupyter_server.authr   base.handlersr   r*   r   default_handlersr
   r
   r
   r   <module>   s    /