
    g
                     ^    S r SSKJr  SSKJr   SSKJr  SrSq	 " S S	\5      r
g!   Sr N= f)
z<Provide a :class:`.CacheImpl` for the Beaker caching system.    )
exceptions)	CacheImpl)cacheTFNc                   J   ^  \ rS rSrSrU 4S jrS rS rS rS r	S r
S	rU =r$ )
BeakerCacheImpl   zA :class:`.CacheImpl` provided for the Beaker caching system.

This plugin is used by default, based on the default
value of ``'beaker'`` for the ``cache_impl`` parameter of the
:class:`.Template` or :class:`.TemplateLookup` classes.

c                   > [         (       d  [        R                  " S5      e[        cI  SUR                  R
                  ;   a  UR                  R
                  S   qO[        R                  " 5       q[        TU ]%  U5        g )Nz8Can't initialize Beaker plugin; Beaker is not installed.manager)

has_beakerr   RuntimeException_beaker_cachetemplate
cache_argsbeaker_cacheCacheManagersuper__init__)selfr   	__class__s     ]/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/mako/ext/beaker_cache.pyr   BeakerCacheImpl.__init__    sg    z--J   ENN555 % 9 9) D , 9 9 ;    c                 x   UR                  SS 5      nSU;   a  UR                  S5      US'   OHU R                  R                  R                  (       a#  U R                  R                  R                  US'   SU;   a  UR                  S5        UR	                  S5      S:X  a  SUS'   SU;   a>  UR                  S5      n[
        R                  " U R                  R                  U40 UD6nO+[
        R                  " U R                  R                  40 UD6nS	U R                  R                  0nU(       a  X%S
'   XE4$ )Ntimeoutdirdata_dirr
   type	memcachedzext:memcachedregion	starttime
expiretime)
popr   r   module_directorygetr   get_cache_regionid	get_cacher    )r   kwr!   r   r   r   s         r   
_get_cacheBeakerCacheImpl._get_cache-   s    VVIt,
B;VVE]BzNZZ  11!ZZ00AABzN?FF966&>[((BvJr>VVH%F!224::==&OBOE!++DJJMM@R@E!4::#7#78
'1|$  r   c                 T    U R                   " S0 UD6u  pCUR                  " U4SU0UD6$ )N
createfunc r)   r$   )r   keycreation_functionr(   r   s        r   get_or_createBeakerCacheImpl.get_or_createD   s/    OO)b)	yyA):AbAAr   c                 R    U R                   " S0 UD6u  pCUR                  " X40 UD6  g Nr-   )r)   put)r   r/   valuer(   r   s        r   r5   BeakerCacheImpl.putH   s&    OO)b)			###r   c                 P    U R                   " S0 UD6u  p2UR                  " U40 UD6$ r4   r.   r   r/   r(   r   s       r   r$   BeakerCacheImpl.getL   s)    OO)b)	yy###r   c                 R    U R                   " S0 UD6u  p2UR                  " U40 UD6  g r4   )r)   remove_valuer9   s       r   
invalidateBeakerCacheImpl.invalidateP   s(    OO)b)	3%"%r   r-   )__name__
__module____qualname____firstlineno____doc__r   r)   r1   r5   r$   r=   __static_attributes____classcell__)r   s   @r   r   r      s,     !.B$$& &r   r   )rC   makor   
mako.cacher   beakerr   r   r   r   r   r-   r   r   <module>rI      s=    C   , J<&i <&Js   & ,