Ë
    Ávžj{  ã                   óV   — 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
y)	z'Tornado handlers for plugin management.é    N)Ú
APIHandler)Úweb)ÚPluginManagerc                   ól   ‡ — e Zd Zdefˆ fd„Zej                  d„ «       Zej                  d„ «       Zˆ xZ	S )ÚPluginHandlerÚmanagerc                 ó0   •— t         ‰| �  «        || _        y )N)ÚsuperÚ
initializer   )Úselfr   Ú	__class__s     €ú{/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/jupyterlab/handlers/plugin_manager_handler.pyr   zPluginHandler.initialize   s   ø€ Ü‰ÑÔØˆ�ó    c              ƒ   ó¾   K  — | j                   j                  «       ƒ d{  –—† }| j                  d«       | j                  t	        j
                  |«      «       y7 Œ:­w)z'GET query returns info on plugins locksNéÈ   )r   Úplugin_locksÚ
set_statusÚfinishÚjsonÚdumps)r   Úlockss     r   ÚgetzPluginHandler.get   sC   è ø€ ð —l‘l×/Ñ/Ó1×1ˆØ�‰˜ÔØ�‰”D—J‘J˜uÓ%Õ&ð 2ús   ‚A A¡;Ac              ƒ   óh  K  — | j                  «       }|d   }|d   }|dvs|st        j                  dd|›d|›�«      ‚d}	 |dk(  r$| j                  j	                  |«      ƒ d{  –—† }n(|d	k(  r#| j                  j                  |«      ƒ d{  –—† }|j                  dk(  r| j                  d
«       n| j                  d«       | j                  t        j                  t        j                  |«      «      «       y7 Œ—7 Œp# t        $ r%}t        j                  d
t        |«      «      |‚d}~ww xY w­w)zÜPOST 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   s  è ø€ ð ×!Ñ!Ó#ˆØ�5‰kˆØ�MÑ"ˆØÐ+Ñ+±4Ü—-‘-ØØ0°°Ð7IÈ$ÈÐRóð ð
 ˆ	ð	4Ø�hŠØ"&§,¡,×"5Ñ"5°dÓ";×;‘	Ø˜	Ò!Ø"&§,¡,×"6Ñ"6°tÓ"<×<�	ð ×Ñ˜wÒ&Ø�O‰O˜CÕ à�O‰O˜CÔ Ø�‰”D—J‘Jœ{×1Ñ1°)Ó<Ó=Õ>ð <øà<ùÜò 	4Ü—-‘- ¤S¨£VÓ,°!Ð3ûð	4üsN   ‚?D2Á#D Á%C=Á&(D ÂC?ÂD ÂA*D2Ã=D Ã?D Ä	D/Ä
 D*Ä*D/Ä/D2)
Ú__name__Ú
__module__Ú__qualname__r   r   r   Úauthenticatedr   r+   Ú__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>r7      s.   ðÙ -ó
 Û å 3Ý å 7ô-?�Jô -?ðb +Ñ r   