
    ^h{                     V    S r SSKrSSKrSSKJr  SSKJr  SSKJr   " S S\5      r	Sr
g)	z'Tornado handlers for plugin management.    N)
APIHandler)web)PluginManagerc                   x   ^  \ rS rSrS\4U 4S jjr\R                  S 5       r\R                  S 5       r	Sr
U =r$ )PluginHandler   managerc                 .   > [         TU ]  5         Xl        g )N)super
initializer	   )selfr	   	__class__s     d/home/james-whalen/.local/lib/python3.13/site-packages/jupyterlab/handlers/plugin_manager_handler.pyr   PluginHandler.initialize   s        c                    #    U R                   R                  5       I Sh  vN nU R                  S5        U R                  [        R
                  " U5      5        g N;7f)z'GET query returns info on plugins locksN   )r	   plugin_locks
set_statusfinishjsondumps)r   lockss     r   getPluginHandler.get   sB      ll//11DJJu%& 2s   AA<Ac                   #    U R                  5       nUS   nUS   nUS;  d  U(       d  [        R                  " SSU< SU< 35      eSn US:X  a$  U R                  R	                  U5      I Sh  vN nO)US	:X  a#  U R                  R                  U5      I Sh  vN nUR                  S:X  a  U R                  S
5        OU R                  S5        U R                  [        R                  " [        R                  " U5      5      5        g N Ns! [         a&  n[        R                  " S
[        U5      5      UeSnAff = f7f)zPOST query performs an action on a specific plugin

Body arguments:
    {
        "cmd": Action to perform - ["enable", "disable"]
        "plugin_name": Plugin name
    }
cmdplugin_name)enabledisablei  zCould not process instruction z with plugin name Nr   r    i  error   )get_json_bodyr   	HTTPErrorr	   r   r    	Exceptionstrstatusr   r   r   r   dataclassesasdict)r   datar   name	ret_valuees         r   postPluginHandler.post   s     !!#5kM"++4--07I$R 
 		4h"&,,"5"5d";;		!"&,,"6"6t"<<	 w&OOC OOC DJJ{11)<=> << 	4--SV,!3	4s[   A	E$D 0D1D 5E6$D DD A-ED D 
E !D;;E  E)r	   )__name__
__module____qualname____firstlineno__r   r   r   authenticatedr   r.   __static_attributes____classcell__)r   s   @r   r   r      sC    -  	' ' 	? ?r   r   z/lab/api/plugins)__doc__r(   r   jupyter_server.base.handlersr   tornador   jupyterlab.extensions.managerr   r   plugins_handler_path r   r   <module>r=      s.    -
   3  7-?J -?b + r   