
    Mh{                     ^    d Z ddlZddlZddlmZ ddlmZ ddlmZ  G d de          Z	dZ
dS )	z'Tornado handlers for plugin management.    N)
APIHandler)web)PluginManagerc                   d     e Zd Zdef fdZej        d             Zej        d             Z xZ	S )PluginHandlermanagerc                 V    t                                                       || _        d S )N)super
initializer   )selfr   	__class__s     j/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/jupyterlab/handlers/plugin_manager_handler.pyr   zPluginHandler.initialize   s$        c                    K   | j                                          d{V }|                     d           |                     t	          j        |                     dS )z'GET query returns info on plugins locksN   )r   plugin_locks
set_statusfinishjsondumps)r   lockss     r   getzPluginHandler.get   sa       l//11111111DJu%%&&&&&r   c                 ~  K   |                                  }|d         }|d         }|dvs|st          j        dd|d|          d}	 |dk    r!| j                            |           d{V }n&|d	k    r | j                            |           d{V }n5# t          $ r(}t          j        d
t          |                    |d}~ww xY w|j        dk    r| 	                    d
           n| 	                    d           | 
                    t          j        t          j        |                               dS )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   postzPluginHandler.post   su      !!##5kM"+++4+-RRR$RR  
 		4h"&,"5"5d";";;;;;;;			!!"&,"6"6t"<"<<<<<<<	 	4 	4 	4-SVV,,!3	4 w&&OOC    OOC   DJ{1)<<==>>>>>s   AB 
C##CC)
__name__
__module____qualname__r   r   r   authenticatedr   r+   __classcell__)r   s   @r   r   r      s        -       	' ' ' 	? ? ? ? ? ? ?r   r   z/lab/api/plugins)__doc__r%   r   jupyter_server.base.handlersr   tornador   jupyterlab.extensions.managerr   r   plugins_handler_path r   r   <module>r7      s    - -
      3 3 3 3 3 3       7 7 7 7 7 7-? -? -? -? -?J -? -? -?b +   r   