a
    ܌xd                     @   sX   d dl Z d dlZd dlmZ d dlmZ d dlmZm	Z	 d dl
mZ G dd deZdS )    N)join)settings)BaseCommandCommandError)signalcommandc                   @   s(   e Zd ZdZdZdd Zedd ZdS )Commandz<Removes all python bytecode compiled files from the project.Fc              	   C   s0   |j dddddddd |j d	d
dddd d S )Nz
--optimizez-oz-O
store_trueoptimizeFz&Remove optimized python bytecode files)actiondestdefaulthelpz--pathz-pstorepathzSpecify path to recurse into)r
   r   r   )add_argument)selfparser r   g/var/www/html/Ranjet/env/lib/python3.9/site-packages/django_extensions/management/commands/clean_pyc.pyadd_arguments   s    zCommand.add_argumentsc                 O   s   | dttdd }|s$ttdd }|d }|s8td|d rDdpFd}t|D ]H\}}}t||D ]0}	t||	}
|dkr| j	
d	|
  t|
 qhqRd S )
Nr   ZBASE_DIR	verbosityz=No --path specified and settings.py does not contain BASE_DIRr	   z*.py[co]z*.pyc   z%s
)getgetattrr   r   oswalkfnmatchfilter_jstdoutwriteremove)r   argsoptionsZproject_rootr   extsrootdirs	filenamesfilename	full_pathr   r   r   handle   s    
zCommand.handleN)__name__
__module____qualname__r   Zrequires_system_checksr   r   r*   r   r   r   r   r      s
   r   )r   r   os.pathr   r   Zdjango.confr   Zdjango.core.management.baser   r   Z"django_extensions.management.utilsr   r   r   r   r   r   <module>   s   