
    ^h\                    h    S r SSKJr  SSKrSSKJr  SSKrSSKrSSKJ	r	  Sr
S
S jr " S S	\	5      rg)z(Tornado handlers for listing extensions.    )annotationsN)Logger)
APIHandlerz4@jupyterlab/extensionmanager-extension/listings.jsonc                4   U (       d  SSK Jn  UR                  5       n U c   e[        [        R
                  5      S:  a  / n[        R
                   H  nU R                  S[        R
                  5        [        R                  " SU40 [        R                  D6n[        R                  " UR                  5      nUS    H  nUR                  U5        M     U[        l        M     [        [        R                  5      S:  a  / n[        R                   H  nU R                  S[        R                  5        [        R                  " SU40 [        R                  D6n[        R                  " UR                  5      nUS    H  n	UR                  U	5        M     M     U[        l        [        R"                  " [%        [        R
                  5      [%        [        R                  5      [        R                  [        R                   S	.5      [        l        g)
z-Fetch the listings for the extension manager.r   )logNz#Fetching blocked_extensions from %sGETblocked_extensionsz#Fetching allowed_extensions from %sallowed_extensions)blocked_extensions_urisallowed_extensions_urisr	   r
   )	traitletsr   
get_loggerlenListingsHandlerr   info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ws
             \/home/james-whalen/.local/lib/python3.13/site-packages/jupyterlab_server/listings_handler.pyfetch_listingsr$      s   !!
?223a7&5&M&M"KK57^7^   -1@1V1VA 

166"A+,"))!, -1CO. 'N ?223a7&5&M&M"KK57^7^   -1@1V1VA 

166"A+,"))!, - 'N .@*#zz'+O,S,S'T'+O,S,S'T"1"D"D"1"D"D		
 O    c                      \ rS rSr% Sr \" 5       rS\S'   \" 5       rS\S'   / r	S\S'   / r
S\S'   0 rS	\S
'   S\S'   SrSS jrSrg)r   <   z+An handler that returns the listings specs.setr   r   r   r	   r
   dictr   intlistings_refresh_secondsNc                    U R                  SS5        U[        :X  a   U R                  [        R                  5        g[
        R                  R                  S5      e)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paths     r#   getListingsHandler.getU   sA    (:;&&JJ//0++'',,r%    )r4   strreturnNone)__name__
__module____qualname____firstlineno____doc__r(   r   __annotations__r   r	   r
   r   pcr5   __static_attributes__r7   r%   r#   r   r   <   sW    5 $'5S(#&5S(!!!!"$4$!!	B-r%   r   )r   zLogger | Noner9   r:   )r?   
__future__r   r   loggingr   r   r0   jupyter_server.base.handlersr   r.   r$   r   r7   r%   r#   <module>rF      s4    . #     3L (V-j -r%   