3
g                 @   sR   d dl Z d dlmZ d dlmZmZ d dlmZmZ e j	e
ZG dd deZdS )    N)BaseCommand)get_job
print_jobs)setup_loggersignalcommandc                   s8   e Zd ZdZdZ fddZdd Zedd Z  Z	S )	CommandzRun a single maintenance job.testc                sB   t  j| |jddd |jddd |jddddd	d
d d S )Napp_name?)nargsjob_namez--listz-l
store_true	list_jobsFz$List all jobs with their description)actiondestdefaulthelp)superadd_argumentsadd_argument)selfparser)	__class__ j/var/www/tester-filtro-web/env/lib/python3.6/site-packages/django_extensions/management/commands/runjob.pyr      s    zCommand.add_argumentsc             C   s   |d }|dkrt jd|| yt||}W n> tk
rj   |rPt jd|| nt jd| t jd d S X y| j  W n" tk
r   t jd|| Y nX d S )N	verbosity   zExecuting job: %s (app: %s)z'Error: Job %s for applabel %s not foundzError: Job %s not foundz,Use -l option to view all the available jobsz"ERROR OCCURED IN JOB: %s (APP: %s))loggerinfor   KeyErrorerrorexecute	Exception	exception)r   r	   r   optionsr   Zjobr   r   r   runjob   s    
zCommand.runjobc             O   sX   |d }|d }|r"| r"|}d }t t| j |d rFtdddd n| j||| d S )Nr	   r   r   FT)Zonly_scheduledZ	show_whenZshow_appname)r   r   stdoutr   r%   )r   argsr$   r	   r   r   r   r   handle+   s    
zCommand.handle)
__name__
__module____qualname__r   Zmissing_args_messager   r%   r   r(   __classcell__r   r   )r   r   r      s
   	r   )loggingZdjango.core.management.baser   Z!django_extensions.management.jobsr   r   Z"django_extensions.management.utilsr   r   	getLoggerr)   r   r   r   r   r   r   <module>   s
   
