o
    r¨ÊhC  ã                   @   s4  d dl mZ d dlmZ g Zdd„ Zdd„ Zdd„ Zd	d
„ ZG dd„ dƒZ	G dd„ de	ƒZ
G dd„ de
ƒZG dd„ de
ƒZG dd„ de	ƒZG dd„ deƒZG dd„ deƒZG dd„ de	ƒZG dd„ de	ƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"ƒZG d#d$„ d$e	ƒZG d%d&„ d&eƒZG d'd(„ d(eƒZG d)d*„ d*eƒZG d+d,„ d,eƒZG d-d.„ d.eƒZG d/d0„ d0eƒZG d1d2„ d2eƒZG d3d4„ d4eƒZG d5d6„ d6eƒZG d7d8„ d8e	ƒZG d9d:„ d:eƒZ G d;d<„ d<eƒZ!G d=d>„ d>e	ƒZ"G d?d@„ d@e"ƒZ#G dAdB„ dBe"ƒZ$G dCdD„ dDe"ƒZ%e#e$e%gZ&G dEdF„ dFƒZ'dGdH„ Z(dIdJ„ Z)dKS )Lé    )ÚgetProcessStateDescription)Ú	as_stringc                 C   ó   t  | |f¡ d S ©N)Ú	callbacksÚappend©ÚtypeÚcallback© r   úC/var/www/html/env/lib/python3.10/site-packages/supervisor/events.pyÚ	subscribe   ó   r   c                 C   r   r   )r   Úremover   r   r   r   Úunsubscribe	   r   r   c                 C   s$   t D ]\}}t| |ƒr|| ƒ qd S r   )r   Ú
isinstance)Úeventr	   r
   r   r   r   Únotify   s
   
€þr   c                   C   s   g t d d …< d S r   )r   r   r   r   r   Úclear   ó   r   c                   @   ó   e Zd ZdZdS )ÚEventz Abstract event type N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r      s    r   c                   @   s$   e Zd ZdZdZdd„ Zdd„ ZdS )ÚProcessLogEventú
 Abstract Nc                 C   ó   || _ || _|| _d S r   ©ÚprocessÚpidÚdata©Úselfr    r!   r"   r   r   r   Ú__init__   ó   
zProcessLogEvent.__init__c                 C   s|   d}| j jd ur| j jjj}zt| jƒ}W n ty#   d| j }Y nw tdƒ}|t| j jjƒt|ƒ| jt| jƒ|f }|S )NÚ úUndecodable: %rz0processname:%s groupname:%s pid:%s channel:%s
%s)	r    ÚgroupÚconfigÚnamer   r"   ÚUnicodeDecodeErrorr!   Úchannel)r$   Ú	groupnamer"   ÚfmtÚresultr   r   r   Úpayload    s   ÿ

þzProcessLogEvent.payload)r   r   r   r   r-   r%   r1   r   r   r   r   r      s
    r   c                   @   r   )ÚProcessLogStdoutEventÚstdoutN©r   r   r   r-   r   r   r   r   r2   1   ó    r2   c                   @   r   )ÚProcessLogStderrEventÚstderrNr4   r   r   r   r   r6   4   r5   r6   c                   @   s(   e Zd ZdZdZdZdd„ Zdd„ ZdS )	ÚProcessCommunicationEventr   s   <!--XSUPERVISOR:BEGIN-->s   <!--XSUPERVISOR:END-->c                 C   r   r   r   r#   r   r   r   r%   =   r&   z"ProcessCommunicationEvent.__init__c                 C   s`   d}| j jd ur| j jjj}zt| jƒ}W n ty#   d| j }Y nw d| j jj|| j|f S )Nr'   r(   z%processname:%s groupname:%s pid:%s
%s)r    r)   r*   r+   r   r"   r,   r!   )r$   r.   r"   r   r   r   r1   B   s   ÿüz!ProcessCommunicationEvent.payloadN)r   r   r   r   ÚBEGIN_TOKENÚ	END_TOKENr%   r1   r   r   r   r   r8   7   s    r8   c                   @   r   )ÚProcessCommunicationStdoutEventr3   Nr4   r   r   r   r   r;   P   r5   r;   c                   @   r   )ÚProcessCommunicationStderrEventr7   Nr4   r   r   r   r   r<   S   r5   r<   c                   @   ó   e Zd Zdd„ Zdd„ ZdS )ÚRemoteCommunicationEventc                 C   ó   || _ || _d S r   ©r	   r"   )r$   r	   r"   r   r   r   r%   W   ó   
z!RemoteCommunicationEvent.__init__c                 C   s   d| j | jf S )Nz
type:%s
%sr@   ©r$   r   r   r   r1   [   r   z RemoteCommunicationEvent.payloadN©r   r   r   r%   r1   r   r   r   r   r>   V   s    r>   c                   @   s   e Zd ZdZdd„ ZdS )ÚSupervisorStateChangeEventz Abstract class c                 C   s   dS )Nr'   r   rB   r   r   r   r1   `   ó   z"SupervisorStateChangeEvent.payloadN)r   r   r   r   r1   r   r   r   r   rD   ^   s    rD   c                   @   ó   e Zd ZdS )ÚSupervisorRunningEventN©r   r   r   r   r   r   r   rG   c   ó    rG   c                   @   rF   )ÚSupervisorStoppingEventNrH   r   r   r   r   rJ   f   rI   rJ   c                   @   ó   e Zd Zdd„ ZdS )ÚEventRejectedEventc                 C   r?   r   )r    r   )r$   r    r   r   r   r   r%   j   rA   zEventRejectedEvent.__init__N)r   r   r   r%   r   r   r   r   rL   i   ó    rL   c                   @   s2   e Zd ZdZdZdZd
dd„Zdd„ Zdd	„ ZdS )ÚProcessStateEventz' Abstract class, never raised directly NTc                 C   s    || _ || _|| _|  ¡ | _d S r   )r    Ú
from_stateÚexpectedÚget_extra_valuesÚextra_values)r$   r    rO   rP   r   r   r   r%   r   s   zProcessStateEvent.__init__c                 C   sb   d}| j jd ur| j jjj}d| j jjfd|fdt| jƒfg}| | j¡ d dd„ |D ƒ¡}|S )Nr'   Úprocessnamer.   rO   ú c                 S   s   g | ]
\}}d ||f ‘qS )z%s:%sr   )Ú.0r+   Úvalr   r   r   Ú
<listcomp>�   s    z-ProcessStateEvent.payload.<locals>.<listcomp>)	r    r)   r*   r+   r   rO   ÚextendrR   Újoin)r$   r.   ÚLÚsr   r   r   r1   z   s   ÿzProcessStateEvent.payloadc                 C   s   g S r   r   rB   r   r   r   rQ   „   rE   z"ProcessStateEvent.get_extra_values)T)	r   r   r   r   ÚfrmÚtor%   r1   rQ   r   r   r   r   rN   n   s    

rN   c                   @   rF   )ÚProcessStateFatalEventNrH   r   r   r   r   r^   ‡   rI   r^   c                   @   rF   )ÚProcessStateUnknownEventNrH   r   r   r   r   r_   Š   rI   r_   c                   @   rK   )Ú"ProcessStateStartingOrBackoffEventc                 C   s   dt | jjƒfgS )NÚtries)Úintr    ÚbackoffrB   r   r   r   rQ   Ž   r   z3ProcessStateStartingOrBackoffEvent.get_extra_valuesN©r   r   r   rQ   r   r   r   r   r`   �   rM   r`   c                   @   rF   )ÚProcessStateBackoffEventNrH   r   r   r   r   re   ‘   rI   re   c                   @   rF   )ÚProcessStateStartingEventNrH   r   r   r   r   rf   ”   rI   rf   c                   @   rK   )ÚProcessStateExitedEventc                 C   s   dt | jƒfd| jjfgS )NrP   r!   )rb   rP   r    r!   rB   r   r   r   rQ   ˜   s   z(ProcessStateExitedEvent.get_extra_valuesNrd   r   r   r   r   rg   —   rM   rg   c                   @   rK   )ÚProcessStateRunningEventc                 C   ó   d| j jfgS ©Nr!   ©r    r!   rB   r   r   r   rQ   œ   ó   z)ProcessStateRunningEvent.get_extra_valuesNrd   r   r   r   r   rh   ›   rM   rh   c                   @   rK   )ÚProcessStateStoppingEventc                 C   ri   rj   rk   rB   r   r   r   rQ       rl   z*ProcessStateStoppingEvent.get_extra_valuesNrd   r   r   r   r   rm   Ÿ   rM   rm   c                   @   rK   )ÚProcessStateStoppedEventc                 C   ri   rj   rk   rB   r   r   r   rQ   ¤   rl   z)ProcessStateStoppedEvent.get_extra_valuesNrd   r   r   r   r   rn   £   rM   rn   c                   @   r=   )ÚProcessGroupEventc                 C   s
   || _ d S r   ©r)   )r$   r)   r   r   r   r%   ¨   ó   
zProcessGroupEvent.__init__c                 C   ó
   d| j  S )Nzgroupname:%s
rp   rB   r   r   r   r1   «   rq   zProcessGroupEvent.payloadNrC   r   r   r   r   ro   §   s    ro   c                   @   rF   )ÚProcessGroupAddedEventNrH   r   r   r   r   rs   ®   rI   rs   c                   @   rF   )ÚProcessGroupRemovedEventNrH   r   r   r   r   rt   ±   rI   rt   c                   @   s    e Zd ZdZdd„ Zdd„ ZdS )Ú	TickEventr   c                 C   r?   r   )ÚwhenÚsupervisord)r$   rv   rw   r   r   r   r%   ¶   rA   zTickEvent.__init__c                 C   rr   )Nzwhen:%s)rv   rB   r   r   r   r1   º   rq   zTickEvent.payloadN)r   r   r   r   r%   r1   r   r   r   r   ru   ´   s    ru   c                   @   r   )Ú
Tick5Eventé   N©r   r   r   Úperiodr   r   r   r   rx   ½   r5   rx   c                   @   r   )ÚTick60Eventé<   Nrz   r   r   r   r   r|   À   r5   r|   c                   @   r   )ÚTick3600Eventi  Nrz   r   r   r   r   r~   Ã   r5   r~   c                   @   sx   e Zd ZeZeZeZe	Z
eZeZeZeZeZeZeZeZeZeZeZ e!Z"e#Z$e%Z&e'Z(e)Z*e+Z,e-Z.e/Z0e1Z2e3Z4e5Z6e7Z8dS )Ú
EventTypesN)9r   r   r   r   ÚEVENTrN   ÚPROCESS_STATErn   ÚPROCESS_STATE_STOPPEDrg   ÚPROCESS_STATE_EXITEDrf   ÚPROCESS_STATE_STARTINGrm   ÚPROCESS_STATE_STOPPINGre   ÚPROCESS_STATE_BACKOFFr^   ÚPROCESS_STATE_FATALrh   ÚPROCESS_STATE_RUNNINGr_   ÚPROCESS_STATE_UNKNOWNr8   ÚPROCESS_COMMUNICATIONr;   ÚPROCESS_COMMUNICATION_STDOUTr<   ÚPROCESS_COMMUNICATION_STDERRr   ÚPROCESS_LOGr2   ÚPROCESS_LOG_STDOUTr6   ÚPROCESS_LOG_STDERRr>   ÚREMOTE_COMMUNICATIONrD   ÚSUPERVISOR_STATE_CHANGErG   ÚSUPERVISOR_STATE_CHANGE_RUNNINGrJ   Ú SUPERVISOR_STATE_CHANGE_STOPPINGru   ÚTICKrx   ÚTICK_5r|   ÚTICK_60r~   Ú	TICK_3600ro   ÚPROCESS_GROUPrs   ÚPROCESS_GROUP_ADDEDrt   ÚPROCESS_GROUP_REMOVEDr   r   r   r   r   È   s8    r   c                 C   s(   t j ¡ D ]\}}|| u r|  S qd S r   )r   Ú__dict__Úitems)Ú	requestedr+   Útypr   r   r   ÚgetEventNameByTypeå   s
   ÿÿrŸ   c                 C   s   t t| |ƒ d S r   )Úsetattrr   )r+   r   r   r   r   Úregisterê   r   r¡   N)*Úsupervisor.statesr   Úsupervisor.compatr   r   r   r   r   r   r   r   r2   r6   r8   r;   r<   r>   rD   rG   rJ   rL   rN   r^   r_   r`   re   rf   rg   rh   rm   rn   ro   rs   rt   ru   rx   r|   r~   ÚTICK_EVENTSr   rŸ   r¡   r   r   r   r   Ú<module>   sP    	
