o
    /h                     @   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 	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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__ g/var/www/html/env_mimamsha/lib/python3.10/site-packages/django_extensions/management/commands/runjob.pyr      s   
zCommand.add_argumentsc                 C   s   |d }|dkrt d|| zt||}W n ty5   |r't d|| nt d| t d Y d S w z|   W d S  tyO   t d|| Y d S w )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   jobr   r   r   runjob   s&   
	zCommand.runjobc                 O   sX   |d }|d }|r|s|}d }t t| j |d r#tdddd d S | ||| d S )Nr	   r   r   FT)only_scheduled	show_whenshow_appname)r   r   stdoutr   r'   )r   argsr%   r	   r   r   r   r   handle1   s   zCommand.handle)
__name__
__module____qualname__r   missing_args_messager   r'   r   r-   __classcell__r   r   r   r   r      s    r   )loggingdjango.core.management.baser   !django_extensions.management.jobsr   r   "django_extensions.management.utilsr   r   	getLoggerr.   r   r   r   r   r   r   <module>   s   
