
    hB                     J    S SK Jr  S SKJrJrJr  S SKJr  Sr " S S\5      r	g)    )settings)CreateErrorSessionBaseUpdateError)cacheszdjango.contrib.sessions.cachec                      ^  \ rS rSrSr\rSU 4S jjr\S 5       r	S r
S rS rS rS	 rSS
 jrSS jrS rS rSS jrSS jr\S 5       r\S 5       rSrU =r$ )SessionStore   z
A cache-based session store.
c                 \   > [         [        R                     U l        [        TU ]  U5        g N)r   r   SESSION_CACHE_ALIAS_cachesuper__init__)selfsession_key	__class__s     X/var/www/html/env/lib/python3.13/site-packages/django/contrib/sessions/backends/cache.pyr   SessionStore.__init__   s"    X99:%    c                 <    U R                   U R                  5       -   $ r   )cache_key_prefix_get_or_create_session_keyr   s    r   	cache_keySessionStore.cache_key   s    $$t'F'F'HHHr   c                 X   #    U R                   U R                  5       I S h  vN -   $  N7fr   )r   _aget_or_create_session_keyr   s    r   
acache_keySessionStore.acache_key   s%     $$T-M-M-O'OOO'Os   *(*c                      U R                   R                  U R                  5      nUb  U$ S U l        0 $ ! [         a    S n Nf = fr   )r   getr   	Exception_session_keyr   session_datas     r   loadSessionStore.load   sP    	 ;;??4>>:L
 # 	  	   L	 s   %5 AAc                    #     U R                   R                  U R                  5       I S h  vN 5      I S h  vN nUb  U$ S U l        0 $  N N! [         a    S n N f = f7fr   )r   agetr   r#   r$   r%   s     r   aloadSessionStore.aload&   sb     	 !%!1!18I2I!JJL # 	 3JJ 	 L	 sG   A!(A AA AA A!A A AA!AA!c                     [        S5       H/  nU R                  5       U l         U R                  SS9  SU l          g    [        S5      e! [         a     MK  f = fNi'  T)must_createzOUnable to create a new session key. It is likely that the cache is unavailable.)range_get_new_session_keyr$   saver   modifiedRuntimeErrorr   is     r   createSessionStore.create0   sj     uA $ 9 9 ;D		d	+ !DM  :
 	
	  s   A


AAc                    #    [        S5       H?  nU R                  5       I S h  vN U l         U R                  SS9I S h  vN   SU l          g    [        S5      e N7 N! [         a     M_  f = f7fr.   )r0   _aget_new_session_keyr$   asaver   r3   r4   r5   s     r   acreateSessionStore.acreateC   sz     uA&*&@&@&B BDjjTj222 !DM  :
 	
 !C2 sD   "A1A	A1A AA A1A  
A.*A1-A..A1c                    U R                   c  U R                  5       $ U(       a  U R                  R                  nOCU R                  R	                  U R
                  5      b  U R                  R                  nO[        eU" U R
                  U R                  US9U R                  5       5      nU(       a  U(       d  [        eg g N)no_load)r   r7   r   addr"   r   setr   _get_sessionget_expiry_ager   r   r/   funcresults       r   r2   SessionStore.saveQ   s    #;;= ;;??D[[__T^^,8;;??DNNk2!

 v  &;r   c                 ,  #    U R                   c  U R                  5       I S h  vN $ U(       a  U R                  R                  nOWU R                  R	                  U R                  5       I S h  vN 5      I S h  vN b  U R                  R                  nO[        eU" U R                  5       I S h  vN U R                  US9I S h  vN U R                  5       I S h  vN 5      I S h  vN nU(       a  U(       d  [        eg g  N N N NY NE N0 N&7fr?   )r   r<   r   aaddr*   r   asetr   _aget_sessionaget_expiry_ager   rE   s       r   r;   SessionStore.asaveb   s     #'';;##D;;##$//*;$;<<H;;##D//##$$[$99&&((
 

 v  &; ( %<<
 $9(
s|   !DDA
D.D/D:D
;7D2D3DD
	DD D+D,DD
DDDDDc                 ^    [        U5      =(       a    U R                  U-   U R                  ;   $ r   )boolr   r   r   r   s     r   existsSessionStore.existss   s(    V4#8#8;#F4;;"V	
r   c                    #    [        U5      =(       a0    U R                  R                  U R                  U-   5      I S h  vN $  N7fr   )rP   r   ahas_keyr   rQ   s     r   aexistsSessionStore.aexistsx   s@     K  
4;;+?+?!!K/,
 &
 	
 &
s   >A AAc                     Uc  U R                   c  g U R                   nU R                  R                  U R                  U-   5        g r   )r   r   deleter   rQ   s     r   rY   SessionStore.delete}   s?    '**K400;>?r   c                    #    Uc  U R                   c  g U R                   nU R                  R                  U R                  U-   5      I S h  vN   g  N7fr   )r   r   adeleter   rQ   s     r   r\   SessionStore.adelete   sH     '**Kkk!!$"7"7+"EFFFs   A	AAAc                     g r    clss    r   clear_expiredSessionStore.clear_expired   s    r   c                    #    g 7fr   r_   r`   s    r   aclear_expiredSessionStore.aclear_expired   s     s   )r   r$   r3   r   )F)__name__
__module____qualname____firstlineno____doc__
KEY_PREFIXr   r   propertyr   r   r'   r+   r7   r<   r2   r;   rR   rV   rY   r\   classmethodrb   re   __static_attributes____classcell__)r   s   @r   r	   r	      s     "& I IP

&
""



@G    r   r	   N)
django.confr   %django.contrib.sessions.backends.baser   r   r   django.core.cacher   rl   r	   r_   r   r   <module>rt      s$      W W $,
I; Ir   