
    9i                        S SK r S SKrS SKrS SKrS SKrS SKJr  S SKrS SK	r	S SK
Jr  S SKr\R                  " \R                  " \R                  R                  S5      S5      5      r\R"                  R%                  S\5      r\R                  " \S5      r\R                  " \S5      r\R                  " \S5      rS	 rS
 rSS jr " S S5      r\" 5       rg)    N)Path~z.paddlexPADDLE_PDX_CACHE_HOMEfunc_retlockstempc                      [         R                  " [        SS9  [         R                  " [        SS9  [         R                  " [        SS9  g)zcreate cache dirT)exist_okN)osmakedirs	CACHE_DIRFUNC_CACHE_DIRFILE_LOCK_DIRargskwargss     S/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddlex/utils/cache.pycreate_cache_dirr   #   s.     KK	D)KK.KK-    c                      [         $ )zget cache dir)r   r   s     r   get_cache_dirr   ,   s
     r   c                 f   ^ ^^^^ Sm[         [        [        4mT c  S m S mUU4S jmUUU 4S jnU$ )persistzpersist_{key}.pklc                 
    U S L$ N )rets    r   <lambda>persist.<locals>.<lambda>;   s    3d?r   c                 6    [        U 5      R                  S5      $ )Nzutf-8)strencode)objs    r   	_to_bytespersist.<locals>._to_bytes=   s    3xw''r   c           
      "  > [         R                  " 5       nUR                  T" [        R                  " [
        R                  " U 5      5      5      5        UR                  T" U R                  5      5        UR                  R                  5        Hj  u  p4[        UT5      (       d&  [        [        U5       SU S[        U5       S35      eUR                  T" U5      5        UR                  T" U5      5        Ml     UR                  5       nU$ )Nz: z, z' is unhashable or not a supported type.)hashlibmd5updateosprealpathinspectgetsourcefile__name__	argumentsitems
isinstance	TypeErrorreprtype	hexdigest)funcbnd_argsmkvhash_SUPPORTED_ARG_TYPESr$   s         r   	_make_keypersist.<locals>._make_key@   s     KKM	3<<(=(=d(CDEF	4==)*&&,,.DAa!455Awir!BtAwi/VW  HHYq\"HHYq\" / r   c                 N   >^  [         R                  " T 5      UUUU 4S j5       nU$ )Nc                    > [         R                  " T5      nUR                  " U 0 UD6nUR                  5         T
" TU5      n[        R
                  " [        T	R                  [        U5      S95      n[        R                  " [        R
                  " [        U S35      5      nU   [        R                  " U5      (       a,  [        US5       n[        R                  " U5      nS S S 5        O@T" U 0 UD6nT" U5      (       a+  [        US5       n[        R                   " X5        S S S 5        S S S 5        W$ ! , (       d  f       N= f! , (       d  f       N)= f! , (       d  f       W$ = f)N)keyz.lockrbwb)r,   	signaturebindapply_defaultsr*   joinr   formatr!   filelockFileLockr   existsopenpickleloaddump)r   r   sigr7   rA   cache_file_pathlockfr   FILENAME_PATTERNr=   condr6   s            r   _wrapper(persist.<locals>._deco.<locals>._wrapperR   s   ##D)Cxx00H##%D(+C!hh 0 7 7CH 7 EO $$SXXmuE]%KLD::o..ot4$kk!n 54 //CCyy!/48A"KK/ 9  J 54
 98  Js<   ((ED:'*EE(E:
E	E
E	E
E+)	functoolswraps)r6   rV   rT   r=   rU   s   ` r   _decopersist.<locals>._decoQ   s%    			 
	( r   )r!   intfloat)rU   rZ   rT   r<   r=   r$   s   ` @@@@r   r   r   2   s8    
 +U+|*("0 Lr   c                   @    \ rS rSrS rS rS r " S S5      rS rSr	g	)
TempFileManagerl   c                     / U l         [        [        5      R                  SSS9  [        R
                  " U R                  5        g )NT)parentsr
   )
temp_filesr   TEMP_DIRmkdiratexitregistercleanupselfs    r   __init__TempFileManager.__init__m   s0    XTD9%r   c                 v    [         R                  " SS[        S.UD6nU R                  R	                  U5        U$ )NF)deletedirr   )tempfileNamedTemporaryFilerd   rc   append)rj   r   	temp_files      r   create_temp_file TempFileManager.create_temp_filer   s4    //Uu(UfU	y)r   c                     U R                    H4  n UR                  5         [        R                  " UR                  5        M6     / U l         g ! [
         a     MM  f = fr   )rc   closer   removenameFileNotFoundError)rj   rs   s     r   rh   TempFileManager.cleanupw   sL    I!		)..) )  % s   0A
AAc                   &    \ rS rSrS rS rS rSrg)&TempFileManager.TempFileContextManager   c                 *    Xl         X l        S U l        g r   )managerr   rs   )rj   r   r   s      r   rk   /TempFileManager.TempFileContextManager.__init__   s    "L K!DNr   c                 p    U R                   R                  " S0 U R                  D6U l        U R                  $ )Nr   )r   rt   r   rs   ri   s    r   	__enter__0TempFileManager.TempFileContextManager.__enter__   s)    !\\::IT[[IDN>>!r   c                 \    U R                   (       a  U R                   R                  5         g g r   )rs   rw   )rj   exc_type	exc_value	tracebacks       r   __exit__/TempFileManager.TempFileContextManager.__exit__   s    ~~$$& r   )r   r   rs   N)r.   
__module____qualname____firstlineno__rk   r   r   __static_attributes__r   r   r   TempFileContextManagerr}      s    	"
	"	'r   r   c                 (    U R                   " U 40 UD6$ r   )r   )rj   r   s     r   temp_file_context!TempFileManager.temp_file_context   s    **4:6::r   )rc   N)
r.   r   r   r   rk   rt   rh   r   r   r   r   r   r   r_   r_   l   s     &

' ';r   r_   r   )rf   rX   r'   r,   r   os.pathpathr*   rM   rp   pathlibr   rI   abspathrG   
expanduserDEFAULT_CACHE_DIRenvirongetr   r   r   rd   r   r   r   r_   temp_file_managerr   r   r   <module>r      s         	     KK););C)@* MN JJNN24EF	)Z0G,88Iv&.7t#; #;L $% r   