o
    /“h	  ã                   @   sh   d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ G dd	„ d	eƒZdS )
é    N)Údefaultdict)Úapps)Úsettings)ÚBaseCommandÚCommandError)Úmodels)Úsignalcommandc                   @   s   e Zd ZdZedd„ ƒZdS )ÚCommandzQPrints a list of all files in MEDIA_ROOT that are not referenced in the database.c              
   O   s  t tdƒs	tdƒ‚tƒ }t tj¡D ]\}}}|D ]}| tj 	tj 
||¡¡¡ qqttƒ}t ¡ D ]}	|	jjD ]}
t|
jtjƒrI||	  |
¡ q9q3tƒ }|D ]'}	|	j ¡  ¡ }|D ]}||	 D ]}
t ||
jƒ}|ru| tj 	|j¡¡ qaq[qP|| }|D ]}t|ƒ q~d S )NÚ
MEDIA_ROOTz$MEDIA_ROOT is not set, nothing to do)Úgetattrr   r   ÚsetÚosÚwalkr
   ÚaddÚpathÚabspathÚjoinr   Úlistr   Ú
get_modelsÚ_metaÚfieldsÚ
issubclassÚ	__class__r   Ú	FileFieldÚappendÚobjectsÚallÚiteratorÚnameÚprint)ÚselfÚargsÚoptionsÚmediaÚrootÚdirsÚfilesÚfÚ
model_dictÚmodelÚfieldÚ
referencedr   ÚobjectÚtarget_fileÚnot_referenced© r/   ús/var/www/html/env_mimamsha/lib/python3.10/site-packages/django_extensions/management/commands/unreferenced_files.pyÚhandle   s:   
ÿ€þ€ýÿ
ÿzCommand.handleN)Ú__name__Ú
__module__Ú__qualname__Úhelpr   r1   r/   r/   r/   r0   r	      s    r	   )r   Úcollectionsr   Údjango.appsr   Údjango.confr   Údjango.core.management.baser   r   Ú	django.dbr   Ú"django_extensions.management.utilsr   r	   r/   r/   r/   r0   Ú<module>   s   