o
    ›¨Êh0
  ã                   @   sš   d Z ddlZddlmZmZmZmZ ddlmZ ej	eddid�ej
dd	edd
dd�ej
ddeed
dd�ej
ddeed
dd�ejedd„ ƒƒƒƒƒƒZdS )zBThe ``celery purge`` program, used to delete messages from queues.é    N)ÚCOMMA_SEPARATED_LISTÚCeleryCommandÚCeleryOptionÚhandle_preload_options)ÚtextÚallow_extra_argsT)ÚclsÚcontext_settingsz-fz--forcezPurging OptionszDon't prompt for verification.)r   Úis_flagÚ
help_groupÚhelpz-Qz--queuesz-Comma separated list of queue names to purge.)r   Útyper   r   z-Xz--exclude-queuesz2Comma separated list of queues names not to purge.c                    s*  | j j}t|p|jj ¡ ƒ}t|pg ƒ}|| }t|ƒ}|r“t |d¡}|sCd 	t
|ƒ¡}	tj| j jddd�› d|› d|	› d�d	d
� dd„ ‰ | ¡ �‰t‡ ‡fdd„|D ƒƒ}
W d  ƒ n1 sbw   Y  |
r„t |
d¡}| j  d|
› d|› d|› d|› d�	¡ dS | j  d|› d|› d�¡ dS dS )zvErase all messages from all known task queues.

    Warning:

        There's no undo operation for this command.
    Úqueuez, ÚWARNINGÚred)Úfgz!:This will remove all tasks from z: zƒ.
         There is no undo for this operation!

(to skip this prompt use the -f option)
Are you sure you want to delete all tasks?T)Úabortc                 S   s*   z	| j  |¡pdW S  | jy   Y dS w )Nr   )Údefault_channelÚqueue_purgeÚchannel_errors)Úconnr   © r   úB/var/www/html/env/lib/python3.10/site-packages/celery/bin/purge.pyÚ_purge8   s
   ÿzpurge.<locals>._purgec                 3   s   � | ]}ˆ ˆ|ƒV  qd S )Nr   )Ú.0r   ©r   r   r   r   Ú	<genexpr>?   s   € zpurge.<locals>.<genexpr>NÚmessagezPurged ú z from z known task Ú.zNo messages purged from )ÚobjÚappÚsetÚamqpÚqueuesÚkeysÚlenr   Ú	pluralizeÚjoinÚsortedÚclickÚconfirmÚstyleÚconnection_for_writeÚsumÚecho)ÚctxÚforcer$   Úexclude_queuesÚkwargsr!   ÚnamesÚqnumÚqueues_headlineÚqueue_namesÚmessagesÚmessages_headliner   r   r   Úpurge   s:   þþú
ÿÿÿær:   )Ú__doc__r*   Úcelery.bin.baser   r   r   r   Úcelery.utilsr   ÚcommandÚoptionÚpass_contextr:   r   r   r   r   Ú<module>   s>    ÿûûû