File: //home/arjun/projects/env/lib/python3.10/site-packages/celery/bin/__pycache__/purge.cpython-310.pyc
o
-we0
� @ s� d Z ddlZddlmZmZmZmZ ddlmZ ej eddid�ej
dd edd
dd�ej
d
deed
dd�ej
ddeed
dd�ejedd� ������ZdS )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--forcezPurging OptionszDon'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|jj�� �}t|pg �}|| }t|�}|r�t�|d�}|sCd� t
|��} tj| j j
ddd�� d|� d| � d�d d
� dd� � |�� ��t� �fd
d�|D ��}
W d � n1 sbw Y |
r�t�|
d�}| j �d|
� d|� d|� d|� d� � dS | j �d|� d|� d�� dS dS )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 �|�pdW S | jy Y dS w )Nr )�default_channel�queue_purge�channel_errors)�connr � r �I/home/arjun/projects/env/lib/python3.10/site-packages/celery/bin/purge.py�_purge8 s
�zpurge.<locals>._purgec 3 s � | ]}� �|�V qd S )Nr )�.0r �r r r r � <genexpr>? s � zpurge.<locals>.<genexpr>N�messagezPurged � z from z known task �.zNo 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>