
    h                        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j                  d      Z ej                  d      Z ej                  d	      Z ej                  d
      Z ej                  d      ZdZ G d de      Zd Z G d d      Z ej,                         ej.                  e	d                      Zej3                  e       ej4                  dd      ej.                  d                      Zej3                  e       ej4                  dd      ej.                  d                      Zej3                  e       ej4                  dd      ej.                  d                      Zej3                  e       ej4                  dd      ej.                  d                      Zej3                  e       ej4                  dd      ej.                  d                      Zy)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                       e Zd Zed        Zy)_task_countsc                 2    dj                  d | D              S )N
c              3   :   K   | ]  } d j                   |   yw)z{}: {}N)format).0is     N/var/www/Befach/backend/env/lib/python3.12/site-packages/celery/bin/logtool.py	<genexpr>z&_task_counts.format.<locals>.<genexpr>#   s     ;!,;s   )joinselfs    r   r   z_task_counts.format!   s    yy;d;;;    N)__name__
__module____qualname__propertyr    r   r   r
   r
      s    < <r   r
   c                 L    t         j                  |       }|j                         S N)RE_TASK_INFOmatchgroups)linems     r   	task_infor#   &   s    4 A88:r   c                   >    e Zd Zd
dZd Zd Zd Zd Zd Zd Z	d	 Z
y)AuditNc                     t               | _        i | _        i | _        t               | _        t               | _        d| _        || _        || _	        || _
        d | _        y )Nr   )setidsnamesresultsreadyr   
task_typestask_errorson_task_erroron_traceon_debug	prev_line)r   r.   r/   r0   s       r   __init__zAudit.__init__-   sP    5
U
!)*  r   c                 H    t        |      D ]  }| j                  |        | S r   )r   feed)r   filesr!   s      r   runz	Audit.run9   s!    e$DIIdO %r   c                     || j                   |<   | j                  j                  |       | j                  |xx   dz  cc<   y N   )r)   r(   addr,   )r   r!   	task_nametask_ids       r   task_receivedzAudit.task_received>   s4    '

7W	"a'"r   c                     | j                   j                  |       || j                  |<   d|vr| j                  ||||       y y )N	succeeded)r+   r:   r*   
task_errorr   r!   r;   r<   results        r   
task_readyzAudit.task_readyC   s?    

w &Wf$OOD)Wf= %r   c                 p    | xj                   dz  c_         | j                  r| j                  ||||       y y r8   )r-   r.   rA   s        r   r@   zAudit.task_errorI   s5    AtY@ r   c           	      V   t         j                  |      rt        j                  |      r)t        |      \  }}| j	                  |||       || _
        y t
        j                  |      rSt        |      \  }}t        j                  |      }|r|j                         \  }| j                  ||||       || _
        y | j                  r| j                  |       || _
        y | j                  r6| j                  dj                  t        d | j                  |g                   d | _
        y )Nr   )RE_LOG_STARTr   RE_TASK_RECEIVEDr#   r=   RE_TASK_READYRE_TASK_RESULTr    rC   r0   r1   r/   r   filterrA   s        r   r4   z
Audit.feedN   s    d#%%d+%.t_"	7""4G< "DN $$T*%.t_"	7'--d3$mmoGFi&A "DN ==MM$'!DN}}diitdnnd5K(LMN!DNr   c                 4    | j                   | j                  z  S r   )r(   r+   r   s    r   incomplete_taskszAudit.incomplete_tasksb   s    xx$**$$r   c                     dt        | j                  j                               t        | j                        | j
                  t        | j                        t        | j                        | j
                  z
  diS )Ntask)typestotalerrors	completedr?   )r
   r,   most_commonlenr(   r-   r+   r   s    r   reportzAudit.reporte   s^    %doo&A&A&CDTXX** _ _t/?/??
 	
r   )NNN)r   r   r   r2   r6   r=   rC   r@   r4   rL   rU   r   r   r   r%   r%   +   s+    

(
>A
"(%	
r   r%   c                      y)r   Nr   )ctxs    r   r   r   q   s    r   )clsr5   )nargsc           	          | j                   j                  t        j                  di t	               j                  |      j                                y )Nr   )objechoREPORT_FORMATr   r%   r6   rU   rW   r5   s     r   statsr`   x   s=     GGLL%% 
'++e

#
#
% r   c                 b    t        | j                  j                        j                  |       y )N)r/   r%   r\   r]   r6   r_   s     r   tracesrc           
377<< $$U+r   c                 B     t         fd      j                  |       y )Nc                 :    j                   j                  |       S r   )r\   r]   )r!   _rW   s     r   <lambda>zerrors.<locals>.<lambda>   s    d);r   )r.   )r%   r6   r_   s   ` r   rQ   rQ      s     
;<@@Gr   c                     t               }|j                  |       |j                         D ]   }| j                  j	                  d|        " y )NzDid not complete: )r%   r6   rL   r\   r]   )rW   r5   auditr<   s       r   
incompleterk      sB     GE	IIe))+)'34 ,r   c                 b    t        | j                  j                        j                  |       y )N)r0   rb   r_   s     r   debugrm      rd   r   ) __doc__recollectionsr   	fileinputr   clickcelery.bin.baser   r   __all__compilerF   rG   rH   r   rI   r^   listr
   r#   r%   grouppass_contextr   commandargumentr`   rc   rQ   rk   rm   r   r   r   <module>r{      s   % 	    A
rzz452::/0 

=)rzz4556
<4 <
C
 C
L *   * 	]#r"  # $ 	]#r",  # $, 	]#r"H  # $H 	]#r"5  # $5 	]#r",  # $,r   