U
    d	                     @   s  d Z ddlZddlmZ ddlZddlmZmZmZm	Z	 ddl
mZmZmZ d)ddZd	d
 Zd*ddZdd Zejedejddedddejddeddejddedddejdddededdejd d!eddejd"d#d$eedd%d&eje	d'd( ZdS )+zThe ``celery events`` program.    N)partial)	LOG_LEVELCeleryDaemonCommandCeleryOptionhandle_preload_options)detachedset_process_titlestrargv c                 C   s,   d d| } | dttj }t| |dS )Nz{}:{}zcelery events )info)formatr	   sysargvr   )progr    r   5/tmp/pip-unpacked-wheel-9cz4377o/celery/bin/events.py_set_process_status   s    r   c                 C   s   ddl m} td || dS )Nr   )evdumpdumpapp)Zcelery.events.dumperr   r   )r   r   r   r   r   _run_evdump   s    r   Fc	              
   K   sp   ddl m}
 td ||	d< t|
| f||d|	}|rft|||||| | W  5 Q R  S Q R X n| S d S )Nr   )evcamcamr   )logfilepidfile)Zcelery.events.snapshotr   r   r   r   )camerar   r   r   uidgidumaskZworkdirdetachkwargsr   r   r   r   r   
_run_evcam   s     r#   c              
   C   s\   z ddl m} td || dW S  tk
rV } z|jdkrFtdW 5 d }~X Y nX d S )Nr   )evtoptopr   Z_cursesz/The curses module is required for this command.)Zcelery.events.cursesmonr$   r   ModuleNotFoundErrornameclickZ
UsageError)r   r$   er   r   r   
_run_evtop(   s    
r*   )clsz-dz--dumpTZDumper)r+   Zis_flag
help_groupz-cz--cameraZSnapshot)r+   r,   z--detachz-Fz--frequencyz--freqg      ?)typedefaultr+   r,   z-rz	--maxratez-lz
--loglevelWARNINGzLogging level.)r.   r+   r-   r,   helpc           	      K   s<   | j j}|rt|S |r4t|f|||||d|S t|S )zEvent-stream utilities.)r   freqmaxrateloglevelr!   )objr   r   r#   r*   )	ctxr   r   r!   Z	frequencyr2   r3   r"   r   r   r   r   events3   s    "r6   )r
   )NNNNNNF)__doc__r   	functoolsr   r(   Zcelery.bin.baser   r   r   r   Zcelery.platformsr   r   r	   r   r   r#   r*   commandoptionfloatZpass_contextr6   r   r   r   r   <module>   sj   
       


