o
    ›¨Êh«  ã                   @   s‚  d Z ddlZddlmZ ddlmZ ddlZddlmZm	Z	 dZ
e d¡Ze d¡Ze d	¡Ze d
¡Ze d¡ZdZG dd„ deƒZdd„ ZG dd„ dƒZe ¡ eje	dd„ ƒƒƒZejed�ejddd�ejdd„ ƒƒƒZejed�ejddd�ejdd„ ƒƒƒZejed�ejddd�ejdd„ ƒƒƒZejed�ejddd�ejdd „ ƒƒƒZejed�ejddd�ejd!d"„ ƒƒƒZdS )#úThe ``celery logtool`` command.é    N)ÚCounter)Ú	FileInput)ÚCeleryCommandÚhandle_preload_options)Úlogtoolz^\[\d\d\d\d\-\d\d-\d\d z.+?\] Receivedz
.+?\] Taskz.+?([\w\.]+)\[(.+?)\].+z.+?[\w\.]+\[.+?\] (.+)z¨
Report
======
Task total: {task[total]}
Task errors: {task[errors]}
Task success: {task[succeeded]}
Task completed: {task[completed]}
Tasks
=====
{task[types].format}
c                   @   s   e Zd Zedd„ ƒZdS )Ú_task_countsc                 C   s   d  dd„ | D ƒ¡S )NÚ
c                 s   s   � | ]}d j |Ž V  qdS )z{}: {}N)Úformat)Ú.0Úi© r   úD/var/www/html/env/lib/python3.10/site-packages/celery/bin/logtool.pyÚ	<genexpr>#   s   € z&_task_counts.format.<locals>.<genexpr>)Újoin©Úselfr   r   r   r
   !   s   z_task_counts.formatN)Ú__name__Ú
__module__Ú__qualname__Úpropertyr
   r   r   r   r   r      s    r   c                 C   s   t  | ¡}| ¡ S ©N)ÚRE_TASK_INFOÚmatchÚgroups)ÚlineÚmr   r   r   Ú	task_info&   s   
r   c                   @   sN   e Zd Zddd„Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dS )ÚAuditNc                 C   sF   t ƒ | _i | _i | _t ƒ | _tƒ | _d| _|| _|| _	|| _
d | _d S )Nr   )ÚsetÚidsÚnamesÚresultsÚreadyr   Ú
task_typesÚtask_errorsÚon_task_errorÚon_traceÚon_debugÚ	prev_line)r   r&   r'   r(   r   r   r   Ú__init__-   s   
zAudit.__init__c                 C   s   t |ƒD ]}|  |¡ q| S r   )r   Úfeed)r   Úfilesr   r   r   r   Úrun9   s   z	Audit.runc                 C   s,   || j |< | j |¡ | j|  d7  < d S ©Né   )r!   r    Úaddr$   )r   r   Ú	task_nameÚtask_idr   r   r   Útask_received>   s   
zAudit.task_receivedc                 C   s6   | j  |¡ || j|< d|vr|  ||||¡ d S d S )NÚ	succeeded)r#   r0   r"   Ú
task_error©r   r   r1   r2   Úresultr   r   r   Ú
task_readyC   s
   
ÿzAudit.task_readyc                 C   s,   |  j d7  _ | jr|  ||||¡ d S d S r.   )r%   r&   r6   r   r   r   r5   I   s   ÿzAudit.task_errorc                 C   s¶   t  |¡rEt |¡rt|ƒ\}}|  |||¡ n(t |¡r8t|ƒ\}}t |¡}|r/| ¡ \}|  ||||¡ n| j	r@|  	|¡ || _
d S | jrV|  d td | j
|gƒ¡¡ d | _
d S )Nr	   )ÚRE_LOG_STARTr   ÚRE_TASK_RECEIVEDr   r3   ÚRE_TASK_READYÚRE_TASK_RESULTr   r8   r(   r)   r'   r   Úfilterr6   r   r   r   r+   N   s    







z
Audit.feedc                 C   s   | j | jA S r   )r    r#   r   r   r   r   Úincomplete_tasksb   s   zAudit.incomplete_tasksc                 C   s8   dt | j ¡ ƒt| jƒ| jt| jƒt| jƒ| j dœiS )NÚtask)ÚtypesÚtotalÚerrorsÚ	completedr4   )r   r$   Úmost_commonÚlenr    r%   r#   r   r   r   r   Úreporte   s   ûÿzAudit.report)NNN)r   r   r   r*   r-   r3   r8   r5   r+   r>   rF   r   r   r   r   r   +   s    
r   c                 C   s   dS )r   Nr   ©Úctxr   r   r   r   q   s    r   )Úclsr,   éÿÿÿÿ)Únargsc                 C   s(   | j  tjdi tƒ  |¡ ¡ ¤Ž¡ d S )Nr   )ÚobjÚechoÚREPORT_FORMATr
   r   r-   rF   ©rH   r,   r   r   r   Ústatsx   s   ÿrP   c                 C   ó   t | jjd� |¡ d S )N)r'   ©r   rL   rM   r-   rO   r   r   r   Útraces�   ó   rS   c                    s   t ‡ fdd„d� |¡ d S )Nc                    s   ˆ j  | ¡S r   )rL   rM   )r   Ú_rG   r   r   Ú<lambda>Œ   s    zerrors.<locals>.<lambda>)r&   )r   r-   rO   r   rG   r   rB   ˆ   s   rB   c                 C   s4   t ƒ }| |¡ | ¡ D ]}| j d|› �¡ qd S )NzDid not complete: )r   r-   r>   rL   rM   )rH   r,   Úauditr2   r   r   r   Ú
incomplete�   s
   
ÿrX   c                 C   rQ   )N)r(   rR   rO   r   r   r   Údebug™   rT   rY   ) Ú__doc__ÚreÚcollectionsr   Ú	fileinputr   ÚclickÚcelery.bin.baser   r   Ú__all__Úcompiler9   r:   r;   r   r<   rN   Úlistr   r   r   ÚgroupÚpass_contextr   ÚcommandÚargumentrP   rS   rB   rX   rY   r   r   r   r   Ú<module>   sP    




F




