
    +j                     4    S SK Jr  S SKrS SKr " S S5      rg)    )on_flushNc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
TerminalService   c                 t    Xl         S U l        S U l        [        5       U l        [        U R                  5        g N)servercolsrowssetsubscriptionsr   send_messages)selfr	   s     D/home/wildlama/comfy/ComfyUI/api_server/services/terminal_service.py__init__TerminalService.__init__   s-    		 U##$    c                      [         R                  " 5       nUR                  UR                  4$ ! [         aB     [
        R                  " 5       nUR                  UR                  4s $ ! [         a      gf = ff = f)N)P      )osget_terminal_sizecolumnslinesOSErrorshutil)r   sizes     r   r   !TerminalService.get_terminal_size   so    	 '')DLL$**-- 	  //1djj11   		 s,   ,/ 
A;,A)&A;)
A73A;6A77A;c                     U R                  5       u  pSnXR                  :w  a  Xl        SnX R                  :w  a  X l        SnU(       a  U R                  U R                  S.$ g )NFT)r
   r   )r   r
   r   )r   r   r   changeds       r   update_sizeTerminalService.update_size   sX    //1iiIGIIIG IItyy99r   c                 :    U R                   R                  U5        g r   )r   addr   	client_ids     r   	subscribeTerminalService.subscribe*   s    y)r   c                 :    U R                   R                  U5        g r   )r   discardr%   s     r   unsubscribeTerminalService.unsubscribe-   s    ""9-r   c                 R   [        U5      (       a  [        U R                  5      (       d  g U R                  5       nU R                  R                  5        HN  nX0R                  R
                  ;  a  U R                  U5        M/  U R                  R                  SXS.U5        MP     g )Nlogs)entriesr   )lenr   r!   copyr	   socketsr+   	send_sync)r   r/   new_sizer&   s       r   r   TerminalService.send_messages0   s    7||3t'9'9#:#:##%++002I 3 33  +KK!!&g*PR[\ 3r   )r
   r   r	   r   N)__name__
__module____qualname____firstlineno__r   r   r!   r'   r+   r   __static_attributes__ r   r   r   r      s!    %	 "*.]r   r   )
app.loggerr   r   r   r   r;   r   r   <module>r=      s     	 6] 6]r   