
    Mh
                         d 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dl
mZ d	Z G d
 dej        e	          Zdez  efgZdS )zKernelspecs API Handlers.    N)ensure_async)web)
authorized   )JupyterHandler)kernel_name_regexkernelspecsc                       e Zd ZdZdZeZd Zej	        e
dd                        Zej	        e
d                         ZdS )	KernelSpecResourceHandlerzA Kernelspec resource handler.)GETHEADc                 H    t           j                            | d           dS )z)Initialize a kernelspec resource handler. )pathN)r   StaticFileHandler
initialize)selfs    c/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyter_server/kernelspecs/handlers.pyr   z$KernelSpecResourceHandler.initialize   s$    ((B(77777    Tc                 2  K   | j         }|                                                    d          r|                     ddd            | j         }t	          |d          r|                    ||           d{V }|P|| _        t          j        |          d         pd}|                     d	|           | 	                    |           dS | j
                            d
| d| d           	 t          |                    |                     d{V }|j        | _        n+# t           $ r}t#          j        dd|z            |d}~ww xY w| j
                            d| j                   t"          j                            | ||           d{V S )zGet a kernelspec resource.z.pngzCache-Controlzmax-age=i ' get_kernel_spec_resourceNr   z
text/plainzContent-TypezKernelspec resource 'z' for 'ze' not found.  Kernel spec manager may not support resource serving. Falling back to reading from diski  zKernel spec %s not foundz Serving kernel resource from: %sinclude_body)kernel_spec_managerlowerendswith
set_headerhasattrr   absolute_path	mimetypes
guess_typefinishlogwarningr   get_kernel_specresource_dirrootKeyErrorr   	HTTPErrordebugr   get)	r   kernel_namer   r   ksmkernel_spec_resmimetypekspeces	            r   r+   zKernelSpecResourceHandler.get   s      &::<<  (( 	GOOO-E-E-EFFF&3233 	 %($@$@d$S$SSSSSSSO* &*" ) 4T : :1 = M999O,,,t  WD W W W W W  	V&s':':;'G'GHHHHHHHHE*DII 	V 	V 	V-%?+%MNNTUU	V949EEE*..tT.UUUUUUUUUs   14D& &
E0E		Ec                 \   K   t          |                     ||d                     d{V S )z(Get the head info for a kernel resource.Fr   N)r   r+   )r   r,   r   s      r   headzKernelSpecResourceHandler.head;   s:       "$((;5("Q"QRRRRRRRRRr   N)T)__name__
__module____qualname____doc__SUPPORTED_METHODSAUTH_RESOURCEauth_resourcer   r   authenticatedr   r+   r3    r   r   r   r      s        (('!M8 8 8 	V V V Z V> 	S S Z S S Sr   r   z/kernelspecs/%s/(?P<path>.*))r7   r    jupyter_core.utilsr   tornador   jupyter_server.auth.decoratorr   base.handlersr   services.kernelspecs.handlersr   r9   r   r   default_handlersr<   r   r   <module>rC      s          + + + + + +       4 4 4 4 4 4 * * * * * * = = = = = =/S /S /S /S /S 5~ /S /S /Sf %'88:ST   r   