
    Ti/                     L    S SK Jr  S SKrS SKrS SKrSqS r " S S5      rS rg)    )get_storageNc                      [         $ N)cache     f/var/www/html/backend/Backoffice_Marketplace/venv/lib/python3.13/site-packages/libretranslate/cache.pyget_translation_cacher
      s    Lr   c                   ,    \ rS rSrS rS rS rS rSrg)TranslationCache
   c                 <   [        U5      S:  U l        U Vs/ s H  o"R                  5       S:w  d  M  UPM     snU l        SU Vs/ s H  o"R                  5       PM     sn;   U l        SU l        [        5       U l        U R                  c   S5       eg s  snf s  snf )Nr   alli:	 zStorage is none)lenenabledlowerapi_keys	cache_allexpirer   storage)selftranslation_cache_aksaks      r	   __init__TranslationCache.__init__   s    01A5&;S&;xxzU?R&;S8M"N8M"88:8M"NN"}||':)::' T"Ns   BBBc                 j    U R                   =(       a!    U R                  =(       d    XR                  ;   $ r   )r   r   r   )r   r   s     r	   should_checkTranslationCache.should_check   s!    ||G!F23FGr   c           	         [        U[        5      (       a  SR                  U5      OUnU SU SU SU SU 3	nS[        R                  " UR                  S5      5      R                  5       -   nU R                  R                  USS9n	[        U	5      S:X  a  S n	U	b)   [        R                  " U	5      R                  S5      n	X4$ X4$ ! [         a   n
[        [        U
5      5         S n
A
X4$ S n
A
ff = f)N|:tcache_utf-8T)rawr   )
isinstancelistjoinhashlibmd5encode	hexdigestr   get_strr   gzip
decompressdecode	Exceptionprintstr)r   	src_textssource_langtarget_langtext_formatnum_alternatives	text_blobfingerprint	cache_keycachedes              r	   hitTranslationCache.hit   s    +5i+F+FCHHY'I	"1[M;-qQO_N`aK,>,>w,G H R R TT	%%iT%:v;!F077@   y    c!f  s   %C	 	
C3C..C3c                 J    [        U[        5      (       a;  [        R                  " U5      n[        R
                  " UR                  S5      5      nU R                  R                  UWU R                  5        g ! [         a  n[        [        U5      5         S nAg S nAff = f)Nr#   )r%   dictjsondumpsr-   compressr*   r   set_strr   r0   r1   r2   )r   r:   content
compressedr<   s        r	   r   TranslationCache.cache(   sp    	'4((**W-!]]7>>'+BC
LL  JD 	#a&MM	s   A7A: :
B"BB")r   r   r   r   r   N)	__name__
__module____qualname____firstlineno__r   r   r=   r   __static_attributes__r   r   r	   r   r   
   s    ;H!"r   r   c                 $    [        U 5      q[        $ r   )r   r   )r   s    r	   setuprN   2   s     23ELr   )	libretranslate.storager   r(   rA   r-   r   r
   r   rN   r   r   r	   <module>rP      s+    .   & &Pr   