o
    i                     @   sj   d Z ddlm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jeZde
 efgZdS )zKernelspecs API Handlers.    )ensure_async)web)
authorized   )JupyterHandler)kernel_name_regexkernelspecsc                   @   sF   e Zd ZdZdZeZdd Zej	e
dddZej	e
dd	 Zd
S )KernelSpecResourceHandlerzA Kernelspec resource handler.)GETHEADc                 C   s   t jj| dd dS )z)Initialize a kernelspec resource handler. )pathN)r   StaticFileHandler
initialize)self r   ^/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/jupyter_server/kernelspecs/handlers.pyr      s   z$KernelSpecResourceHandler.initializeTc              
      s   | j }| dr| ddd  zt||I dH }|j| _W n ty9 } z	t	
dd| |d}~ww | jd| j t	jj| ||d	I dH S )
zGet a kernelspec resource.z.pngzCache-Controlzmax-age=i ' Ni  zKernel spec %s not foundz Serving kernel resource from: %sinclude_body)kernel_spec_managerlowerendswith
set_headerr   get_kernel_specresource_dirrootKeyErrorr   	HTTPErrorlogdebugr   get)r   kernel_namer   r   ksmkspecer   r   r   r       s   zKernelSpecResourceHandler.getc                    s   t | j||ddI dH S )z)Get the head infor for a kernel resource.Fr   N)r   r    )r   r!   r   r   r   r   head&   s   zKernelSpecResourceHandler.headN)T)__name__
__module____qualname____doc__SUPPORTED_METHODSAUTH_RESOURCEauth_resourcer   r   authenticatedr   r    r%   r   r   r   r   r	      s    r	   z/kernelspecs/%s/(?P<path>.*)N)r)   jupyter_core.utilsr   tornador   jupyter_server.authr   base.handlersr   services.kernelspecs.handlersr   r+   r   r	   default_handlersr   r   r   r   <module>   s    
!