
    ^Og6                        S SK Jr  S SKrS SKJrJrJr  S SKJr  S SK	J
r
Jr  S SKJr  S SKJr  S rS	 rS
 rSS jrSS jrS r\R.                  " \5        \R.                  " \5        \R.                  " \5        S\R0                  ;   a-   S SKJrJr  \R.                  " \5        \R.                  " \5        \" S5        g! \ a     Nf = f)    )FileSystemStorageN)	post_savepost_deletepre_save)	FileField)ObjectDoesNotExistMultipleObjectsReturned)settings)IMAGE_CACHE_STORAGEc                 4   [        [        [        5      (       ai  [        R                  R                  [        R                  U 5      n[        R                  R                  U5      (       a  [        R                  " U5        g [        R                  " U 5        g N)

isinstancer   r   ospathjoinlocationisdirrmdirdelete)r   	full_paths     Q/Users/admin/workspace/ai/Jarvis/env/lib/python3.13/site-packages/image/models.pysafe_deleter      s\    %'899GGLL!4!=!=tD	77==##HHYt$    c                 p    [         R                  " U 5      nUS    H+  n[        [        R                  R                  X5      5        M-     US    H+  n[        [        R                  R                  X5      5        M-     [         R                  " U 5      (       a  [        U 5        g g ! [         a     N4f = f)Nr      )r   listdirr   r   r   r   OSErrorexists)dir_pathcontents	directoryfilenames       r   remove_directoryr#      s    	:&..x8 "!IX9: % HX89 $ !!(++H ,  s   B( (
B54B5c                 *    U (       a  [        U 5        g g r   )r#   )
image_paths    r   remove_cacher&   %   s    $ r   c                 Z   Uc  g 0 Ul         S nUR                  R                   Hm  n[        U[        5      (       d  M  U(       d$   U R
                  R                  UR                  S9nUR                  U5      UR                   UR                  '   Mo     g ! [        [        4 a       g f = f)N)pk)old_image_fields_metafieldsr   r   objectsgetr(   r   r	   value_to_stringattname)senderinstancekwargsold_instancefields        r   prepare_image_cache_cleanupr5   *   s     "HL&&eY''#)>>#5#5#5#EL 8=7L7L\7ZH%%emm4 '
 +,CD s   #BB*)B*c                 $   U(       a  g Uc  g UR                   R                   Hj  n[        U[        5      (       d  M  UR                  UR
                     UR                  U5      :w  d  MH  [        UR                  UR
                     5        Ml     g r   )r*   r+   r   r   r)   r/   r.   r&   )r0   r1   createdr2   r4   s        r   "clear_prepared_image_cache_cleanupr8   <   sl    &&eY''((75;P;PQY;ZZX66u}}EF 'r   c                     UR                   R                   H4  n[        U[        5      (       d  M  [	        UR                  U5      5        M6     g r   )r*   r+   r   r   r&   r.   )r0   r1   r2   r4   s       r   clear_image_cacher:   G   s6    &&eY''..x89 'r   	reversion)pre_revision_commitpost_revision_commitzactuality/file0001116000079.jpgr   )NF)django.core.files.storager   r   django.db.models.signalsr   r   r   django.db.models.fields.filesr   django.core.exceptionsr   r	   django.confr
   django_settingsimage.storager   r   r#   r&   r5   r8   r:   connectINSTALLED_APPSreversion.modelsr<   r=   ImportError r   r   <module>rJ      s    7 	 E E 3 N 3 -%"%
[$G: 	  , - 	  4 5   % & /000N##$?@$$%GH 2 3  s   ,C C
	C
