a
    xd
                     @   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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)clsz-fz--forceTzPurging OptionszDon't prompt for verification.)r   Z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}|sd	t
|}tj| j jddd d| d| dd	d
 dd  | (t fdd|D }	W d   n1 s0    Y  |	r
t|	d}
| j d|	 d|
 d| d| d	 n| j d| d| d dS )zvErase all messages from all known task queues.

    Warning:

        There's no undo operation for this command.
    queuez, WARNINGZred)Z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 0 d S )Nr   )Zdefault_channelZqueue_purgeZchannel_errors)connr    r   H/var/www/html/Ranjet/env/lib/python3.9/site-packages/celery/bin/purge.py_purge7   s    zpurge.<locals>._purgec                 3   s   | ]} |V  qd S )Nr   ).0r   r   r   r   r   	<genexpr>>       zpurge.<locals>.<genexpr>NmessagezPurged  z from z known task .zNo messages purged from )objappsetZamqpqueueskeyslenr   Z	pluralizejoinsortedclickZconfirmstyleZconnection_for_writesumZecho)ctxforcer   Zexclude_queuesr   namesZqnumZqueues_headlineZqueue_namesmessagesZmessages_headliner   r   r   purge	   s6    
6r(   )__doc__r!   Zcelery.bin.baser   r   r   r   Zcelery.utilsr   commandoptionZpass_contextr(   r   r   r   r   <module>   s8   
