
    vg
                         d dl 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d	 Zd
 Zd ZddZ G d d          Z e            Z G d d          Z e            ZdS )    N)	xmlrpclib)long)	as_string)SupervisorTransport)ProcessCommunicationEvent)PEventListenerDispatcherc                     |                      dd          }|                      dd          }t          ||| d                   S )NSUPERVISOR_USERNAME SUPERVISOR_PASSWORDSUPERVISOR_SERVER_URL)getr   )envups      R/var/www/pixelcanvas.ch/venv/lib/python3.11/site-packages/supervisor/childutils.pygetRPCTransportr      sB    %r**A%r**Aq!S)@%ABBB    c                 F    t          j        dt          |                     S )Nzhttp://127.0.0.1)r   ServerProxyr   )r   s    r   getRPCInterfacer      s       !3_S5I5IJJJr   c                 X    t          d |                                 D                       S )Nc                 8    g | ]}|                     d           S ):)split).0xs     r   
<listcomp>zget_headers.<locals>.<listcomp>   s"    6661!''#,,666r   )dictr   )lines    r   get_headersr!      s'    66

666777r   c                 Z    |                      dd          \  }}t          |          }||fS )N
   )r   r!   )payload
headerinfodataheaderss       r   	eventdatar)      s1    }}T1--J*%%GD=r   c                     | t          j                     } | t          |           z
  dz  }t          j        dt          j        |                     }d||fz  }|S )Ni  z%Y-%m-%d %H:%M:%Sz%s,%03d)timer   strftime	localtime)nowmsecspart1asctimes       r   get_asctimer2      sU    
{ikk499_$EM-t~c/B/BCCE5%.(GNr   c                   .    e Zd Zej        fdZd Zd ZdS )ProcessCommunicationsProtocolc                     |                     t          j                   |                     |           |                     t          j                   |                                 d S N)writer   BEGIN_TOKEN	END_TOKENflush)selfmsgfps      r   sendz"ProcessCommunicationsProtocol.send(   sN    
*6777

*4555





r   c                 B    |                      |t          j                  S r6   )r>   sysstdoutr;   r<   s     r   rA   z$ProcessCommunicationsProtocol.stdout.       yycj)))r   c                 B    |                      |t          j                  S r6   )r>   r@   stderrrB   s     r   rE   z$ProcessCommunicationsProtocol.stderr1   rC   r   N)__name__
__module____qualname__r@   rA   r>   rE    r   r   r4   r4   '   sK        :    * * ** * * * *r   r4   c                   ~    e Zd Zej        ej        fdZej        fdZej        fdZej        fdZ	ej        fdZ
dS )EventListenerProtocolc                     |                      |           |                                }t          |          }|                    t	          |d                             }||fS )Nlen)readyreadliner!   readint)r;   stdinrA   r    r(   r%   s         r   waitzEventListenerProtocol.wait7   sX    

6~~d##**S0011r   c                     |                     t          t          j                             |                                 d S r6   )r7   r   r   READY_FOR_EVENTS_TOKENr:   r;   rA   s     r   rN   zEventListenerProtocol.ready>   s1    Y7NOOPPPr   c                 2    |                      d|           d S )NOKr>   rV   s     r   okzEventListenerProtocol.okB   s    		$r   c                 2    |                      d|           d S )NFAILrY   rV   s     r   failzEventListenerProtocol.failE   s    		&&!!!!!r   c                     t          |          }t          t          j                  t	          |          d|}|                    |           |                                 d S )Nr#   )rM   r   r   RESULT_TOKEN_STARTstrr7   r:   )r;   r'   rA   	resultlenresults        r   r>   zEventListenerProtocol.sendH   s]    II	()A)TUUU"9~~~~#t% 	Vr   N)rF   rG   rH   r@   rR   rA   rS   rN   rZ   r]   r>   rI   r   r   rK   rK   6   s        3:         :     
         * " " " " !$
      r   rK   r6   )r@   r+   supervisor.compatr   r   r   supervisor.xmlrpcr   supervisor.eventsr   supervisor.dispatchersr   r   r   r!   r)   r2   r4   pcommrK   listenerrI   r   r   <module>ri      sM   



  ' ' ' ' ' ' " " " " " " ' ' ' ' ' ' 1 1 1 1 1 1 7 7 7 7 7 7 ; ; ; ; ; ;C C C
K K K8 8 8  
   * * * * * * * * 	&%''       4 ! ""r   