Ë
    &]jé  ã                   óp   — d dl Z d dlZd dlZd dlZd dlmZ d dlmZ ddlm	Z	 ddl
mZ d„ Zdd„Zdd	„Zd
„ Zy)é    N)Úsettings)ÚEMPTY_VALUESé   )Úremove_media)Úget_file_fieldsc                  ó’  — t        «       } t        «       D ]¯  }d|j                  z  di}d|j                  z  di}|j                  }  |j                  j
                  j                  |j                  d¬«      j                  di |¤Žj                  di |¤ŽD ]+  }|t        vsŒ| j                  |j                  |«      «       Œ- Œ± | S )z6
        Get media which are still used in models
    z
%s__isnullTz%sÚ )Úflat© )Úsetr   ÚnameÚstorageÚmodelÚ_base_managerÚvalues_listÚexcluder   ÚaddÚpath)ÚmediaÚfieldÚis_nullÚis_emptyr   Úvalues         úR/var/www/zogu/zoguvenv/lib/python3.12/site-packages/django_unused_media/cleanup.pyÚget_used_mediar      sÒ   € ô
 ‹E€Eä Ó"ò /ˆà˜5Ÿ:™:Ñ% tð
ˆð �5—:‘:Ñ˜rð
ˆð —-‘-ˆð-ð �U—[‘[×.Ñ.ß‘˜UŸZ™Z¨d�Ó3ß‘ñ%à#ñ%ç%,¡Wñ8à/6ñ8ò 	/ˆEð œLÒ(Ø—	‘	˜'Ÿ,™, uÓ-Õ.ñ		/ð/ð  €Ló    c           
      ó¬  — | sg } t        «       }t        j                  «       }t        j                  t	        j
                  t        j                  «      «      D ]ø  \  }}}|D ]í  }t        j                  j                  t        j                  j                  ||«      «      }t        j                  j                  |t        j                  «      }	|r(|t        j                  j                  |«      z
  }
|
|k  rŒ˜| D ]@  }t        j                  dt        j                  |«      j!                  dd«      z  |	«      sŒ@ ŒÜ |j#                  |«       Œï Œú |S )z+
        Get all media from MEDIA_ROOT
    z^%s$z\*z.*)r   ÚtimeÚosÚwalkÚsixÚ	text_typer   Ú
MEDIA_ROOTr   ÚabspathÚjoinÚrelpathÚgetmtimeÚreÚmatchÚescapeÚreplacer   )r   Úminimum_file_ager   Úinitial_timeÚrootÚdirsÚfilesr   r   r&   Úfile_ageÚes               r   Úget_all_mediar3   )   s  € ñ
 Øˆä‹E€EÜ—9‘9“;€LäŸW™W¤S§]¡]´8×3FÑ3FÓ%GÓHò  Ñˆˆd�EØò 	 ˆDÜ—7‘7—?‘?¤2§7¡7§<¡<°°dÓ#;Ó<ˆDÜ—g‘g—o‘o d¬H×,?Ñ,?Ó@ˆGáØ'¬"¯'©'×*:Ñ*:¸4Ó*@Ñ@�ØÐ.Ò.Øàò  �Ü—8‘8˜G¤b§i¡i°£l×&:Ñ&:¸5À$Ó&GÑGÈÕQÙð ð —	‘	˜$•ñ	 ð ð  €Lr   c                 ó@   — | sg } t        | |«      }t        «       }||z
  S )z4
        Get media which are not used in models
    )r3   r   )r   r,   Ú	all_mediaÚ
used_medias       r   Úget_unused_mediar7   G   s,   € ñ
 Øˆä˜gÐ'7Ó8€IÜÓ!€Jà�zÑ!Ð!r   c                  ó*   — t        t        «       «       y)z!
        Remove unused media
    N)r   r7   r   r   r   Úremove_unused_mediar9   U   s   € ô Ô!Ó#Õ$r   )NN)r   r(   r   r!   Údjango.confr   Údjango.core.validatorsr   Úremover   Úutilsr   r   r3   r7   r9   r   r   r   ú<module>r>      s3   ðó 
Û 	Û ã 
Ý  Ý /å  Ý "òó4ó<"ó%r   