o
    i                     @   sH   d Z ddlZddlZddlZddlmZ dZdd ZG dd deZdS )	z(Tornado handlers for listing extensions.    N)
APIHandlerz4@jupyterlab/extensionmanager-extension/listings.jsonc           
      C   s"  | sddl m} | } ttjdkrDg }tjD ]+}| dtj tj	d|fi tj
}t|j}|d D ]}|| q8|t_qttjdkr|g }tjD ](}| dtj tj	d|fi tj
}t|j}|d D ]}	||	 qpqP|t_tttjttjtjtjdt_d	S )
z-Fetch the listings for the extension manager.r   )logz#Fetching blocked_extensions from {}GETblocked_extensionsz#Fetching allowed_extensions from {}allowed_extensions)blocked_extensions_urisallowed_extensions_urisr   r   N)	traitletsr   
get_loggerlenListingsHandlerr   infoformatrequestsrequestlistings_request_optsjsonloadstextappendr   r   r   dumpslistlistings)
loggerr   r   blocked_extensions_urirjbr   allowed_extensions_uriw r    ]/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyterlab_server/listings_handler.pyfetch_listings   sZ   


r"   c                   @   sh   e Zd ZU dZ	 e Zeed< e Zeed< g Ze	ed< g Z
e	ed< i Zeed< eed< dZd	d
 ZdS )r   z+An handler that returns the listings specs.r   r   r   r   r   listings_refresh_secondsNc                 C   s0   |  dd |tkr| tj dS tjd)z+Get the listings for the extension manager.zContent-Typezapplication/jsoni  N)
set_headerLISTINGS_URL_SUFFIXwriter   r   tornadoweb	HTTPError)selfpathr    r    r!   getV   s   zListingsHandler.get)__name__
__module____qualname____doc__setr   __annotations__r   r   r   r   r   dictintpcr,   r    r    r    r!   r   =   s   
 r   )	r0   r   r   r'   jupyter_server.base.handlersr   r%   r"   r   r    r    r    r!   <module>   s    .