HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib64/python3.10/site-packages/flower/__pycache__/command.cpython-310.pyc
o

/we��@sPddlZddlZddlZddlZddlZddlmZddlmZddlZddl	m
Z
ddl	mZmZddl
mZddlmZdd	lmZdd
lmZddlmZmZmZddl
mZmZdd
lmZe�e�ZdZ dd�Z!ej"eddid�ej#ddej$d�ej%dd����Z&dd�Z'dd�Z(dd�Z)dd �Z*d!d"�Z+d#d$�Z,d%d&�Z-d'd(�Z.dS))�N)�pformat)�NullHandler)�options)�parse_command_line�parse_config_file)�enable_pretty_logging)�
CeleryCommand�)�Flower)�settings)�abs_path�prepend_url�	strtobool)�DEFAULT_CONFIG_FILE�default_options)�validate_auth_option�FLOWER_cCst�d|�t�d�dS)Nz%s detected, shutting downr)�logger�info�sys�exit)�signum�_�r�G/home/arjun/projects/env/lib/python3.10/site-packages/flower/command.py�sigterm_handlersr�ignore_unknown_optionsT)�cls�context_settings�tornado_argv���)�nargs�typec	Cs�t||�t�ttjd|�t�t�|jj}t	d|t
d�t��}t�
|j�t�tjt�|jjs<t|dtv�z|��WdSttfyOYdSw)zAWeb based tool for monitoring and administrating Celery clusters.r)�cappr�ssl_optionsNr)�-warn_about_celery_args_used_in_flower_command�apply_env_options�
apply_optionsr�argv�extract_settings�
setup_logging�obj�appr
rr�atexit�register�stop�signal�SIGTERMr�quiet�print_banner�start�KeyboardInterrupt�
SystemExit)�ctxrr,�
flower_apprrr�flower s 
�r9c	s�tttj�}|D]Q}|�tdd���}tj|}ztj|�Wnt	y1tj|�dd��Ynw�j
rB�fdd�|�d�D�}n�jt
urNt
t|��}n��|�}tt||�qdS)	z2apply options passed through environment variables�r	r�-csg|]}��|��qSr)r")�.0�i��optionrr�
<listcomp>Isz%apply_env_options.<locals>.<listcomp>�,N)�filter�is_flower_envvar�os�environ�replace�ENV_VAR_PREFIX�lowerr�_options�KeyError�multiple�splitr"�boolr�setattr)�env_options�env_var_name�name�valuerr>rr&>s 
�

�r&cCspttt|��}t|g|�zttj�tj	�dd�t|g|�WdSt
y7tj�tj	�tkr4�YdSw)z3apply options passed through the configuration fileF)�finalN)
�listrB�is_flower_optionrrrD�path�abspathr�conf�IOError�basenamer)�	prog_namer(rrrr'Rs��r'cCs\dd�|jjjD�}g}|D]}|�d�\}}}||vr!|�|�q|r,t�d|�dSdS)NcSsg|]
}|jD]}|�qqSr)�opts)r<�paramr?rrrr@`szAwarn_about_celery_args_used_in_flower_command.<locals>.<listcomp>�=z�You have incorrectly specified the following celery arguments after flower command: %s. Please specify them after celery command instead following this template: celery [celery args] flower [flower args].)�parent�command�params�	partition�appendr�warning)r7�flower_args�celery_options�incorrectly_used_args�arg�arg_namerrrrr%_s
���r%cCsBtjrtjdkrdt_t�dSt�d��t��dt�d�_dS)Nr�debugztornado.accessF)rrj�loggingr�	getLogger�
addHandlerr�	propagaterrrrr*qs

r*cCs�tjtd<tjr
tjtd<tjrdD]}tt|tj�t|<qtjr?tjp*tj	�
d�tjp2tj	�
d�tjp:tj	�
d�d�td<tj
r_tjr_tttj
�ttj�d	�td
<tjr_ttj�td
d<tjruttj�swt�dtj�t�d
�dSdSdS)Nrj�
cookie_secret)�	login_url�static_url_prefix�FLOWER_OAUTH2_KEY�FLOWER_OAUTH2_SECRET�FLOWER_OAUTH2_REDIRECT_URI)�key�secret�redirect_uri�oauth)�certfile�keyfiler$�ca_certszInvalid '--auth' option: %sr	)rrjrro�
url_prefixr
�auth�
oauth2_keyrDrE�get�
oauth2_secret�oauth2_redirect_uriryrz�dictrr{rr�errorrr�rQrrrr)zs*


�

��r)cCs,|�d��d�\}}}|�dd�}tt|�S)Nr;r^r)�lstriprbrF�hasattrr)rhrQrrrrrU�s
rUcCs"|�t�o|tt�d���tvS)N)�
startswithrG�lenrHrr�rrrrC�s
�rCcCs�tjs"tjrdtj�d�}nd}t�d|rdndtjpdtj|�nt�dtj�t�d|�����t�dt	t
|j�����t�
d	t	t��dS)
N�/r:zVisit me at http%s://%s:%s%s�sz0.0.0.0z!Visit me via unix socket file: %sz
Broker: %szRegistered tasks: 
%szSettings: %s)r�unix_socketr|rr�address�port�
connection�as_urir�sorted�tasks�keysrjr)r,�ssl�
prefix_strrrrr3�s ��r3)/rDrr-r0rk�pprintrr�click�tornado.optionsrrr�tornado.logr�celery.bin.baserr,r
�urlsr�utilsrr
rrr�
views.authrrl�__name__rrGrr`�argument�UNPROCESSED�pass_contextr9r&r'r%r*r)rUrCr3rrrr�<module>sF
��