Ë
    ÝXËh  ã                  óÊ   — U d Z ddlm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	d
lmZ dZ G d„ de«      Z G d„ dee«      Z G d„ dee«      ZdefdefgZded<   y)zAPI handlers for terminals.é    )ÚannotationsN)ÚPath)ÚAny)Ú
authorized)Ú
APIHandler)Úwebé   )ÚTerminalsMixinÚ	terminalsc                  ó   — e Zd ZdZeZy)ÚTerminalAPIHandlerzThe base terminal handler.N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚAUTH_RESOURCEÚauth_resource© ó    úY/var/www/html/myenv/lib/python3.12/site-packages/jupyter_server_terminals/api_handlers.pyr   r      s
   „ Ù$à!Mr   r   c                  óp   — e Zd ZdZej
                  edd„«       «       Zej
                  edd„«       «       Zy)ÚTerminalRootHandlerzThe root termanal API handler.c                ó€   — | j                   j                  «       }| j                  t        j                  |«      «       y)zGet the list of terminals.N)Úterminal_managerÚlistÚfinishÚjsonÚdumps)ÚselfÚmodelss     r   ÚgetzTerminalRootHandler.get   s-   € ð ×&Ñ&×+Ñ+Ó-ˆØ‰”D—J‘J˜vÓ&Õ'r   c                ó¶  — | j                  «       xs i }d|v r t        |d   «      }|€J ‚|j                  «       j                  «       sIt        | j                  d   «      j                  «       |z  }|j                  «       j                  «       sd}|€?| j                  d   }| j                  j                  d|j                  d«      |«       |d= nF| j                  j                  d|j                  «       «       t        |j                  «       «      |d<    | j                  j                  di |¤Ž}| j                  t        j                  |«      «       y)z:POST /terminals creates a new terminal and redirects to itÚcwdNÚserver_root_dirz`Failed to find requested terminal cwd: %s
  It was not found within the server root neither: %s.zOpening terminal in: %sr   )Úget_json_bodyr   ÚresolveÚexistsÚsettingsÚ
expanduserÚlogÚdebugr!   Ústrr   Úcreater   r   r   )r   Údatar#   r$   Úmodels        r   ÚpostzTerminalRootHandler.post!   s!  € ð ×!Ñ!Ó#Ò) rˆð
 DŠ=Ü# D¨¡KÓ0ˆCØ?Ð"?Ø—;‘;“=×'Ñ'Ô)Ü˜4Ÿ=™=Ð):Ñ;Ó<×GÑGÓIÈCÑOØ—{‘{“}×+Ñ+Ô-ØCàˆ{Ø"&§-¡-Ð0AÑ"BØ—‘—‘ðMà—H‘H˜U“OØ#ô	ð ˜‘Kà—‘—‘Ð8¸#¿+¹+»-ÔHÜ! #§+¡+£-Ó0U‘à,×%Ñ%×,Ñ,Ñ4¨tÑ4ˆØ‰”D—J‘J˜uÓ%Õ&r   N)ÚreturnÚNone)	r   r   r   r   r   Úauthenticatedr   r!   r0   r   r   r   r   r      sG   „ Ù(à×ÑØò(ó ó ð(ð
 	×ÑØò'ó ó ñ'r   r   c                  ót   — e Zd ZdZdZej                  edd„«       «       Zej                  edd„«       «       Z	y)ÚTerminalHandlerz"A handler for a specific terminal.)ÚGETÚDELETEÚOPTIONSc                ó‚   — | j                   j                  |«      }| j                  t        j                  |«      «       y)zGet a terminal by name.N)r   r!   r   r   r   )r   Únamer/   s      r   r!   zTerminalHandler.getH   s/   € ð ×%Ñ%×)Ñ)¨$Ó/ˆØ‰”D—J‘J˜uÓ%Õ&r   c              ƒ  óœ   K  — | j                   j                  |d¬«      ƒ d{  –—†  | j                  d«       | j                  «        y7 Œ&­w)zRemove a terminal by name.T)ÚforceNéÌ   )r   Ú	terminateÚ
set_statusr   )r   r:   s     r   ÚdeletezTerminalHandler.deleteO   sB   è ø€ ð ×#Ñ#×-Ñ-¨d¸$Ð-Ó?×?Ð?Ø‰˜ÔØ‰ð 	@ús   ‚!A£A
¤'AN)r:   r,   r1   r2   )
r   r   r   r   ÚSUPPORTED_METHODSr   r3   r   r!   r@   r   r   r   r5   r5   C   sM   „ Ù,à4Ðà×ÑØò'ó ó ð'ð
 	×ÑØòó ó ñr   r5   z/api/terminalsz/api/terminals/(\w+)zlist[tuple[str, type[Any]]]Údefault_handlers)r   Ú
__future__r   r   Úpathlibr   Útypingr   Újupyter_server.auth.decoratorr   Újupyter_server.base.handlersr   Útornador   Úbaser
   r   r   r   r5   rB   Ú__annotations__r   r   r   ú<module>rK      ss   ðÚ !Ý "ã Ý Ý å 4Ý 3Ý å  à€ô"˜ô "ô)'˜.Ð*<ô )'ôXnÐ&8ô ð, Ð+Ð,Ø˜oÐ.ð1Ð Ð-ô r   