
    (ph
                     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                   z   ^  \ rS rSrSr\rSU 4S jjr\S 5       r	S r
S rSS jrS rSS	 j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     Y/var/www/html/venv/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                      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                     [        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.create#   sj     uA $ 9 9 ;D		d	+ !DM  :
 	
	  s   A


AA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   r+   r   addr   r   setr   _get_sessionget_expiry_ager   )r   r$   funcresults       r   r'   SessionStore.save6   s    #;;= ;;??D[[__T^^,8;;??DNNk2!

 v  &;r   c                 ^    [        U5      =(       a    U R                  U-   U R                  ;   $ r   )boolr   r   r   r   s     r   existsSessionStore.existsG   s(    V4#8#8;#F4;;"V	
r   c                     Uc  U R                   c  g U R                   nU R                  R                  U R                  U-   5        g r   )r   r   deleter   r8   s     r   r<   SessionStore.deleteL   s?    '**K400;>?r   c                     g r    )clss    r   clear_expiredSessionStore.clear_expiredS   s    r   )r   r   r(   r   )F)__name__
__module____qualname____firstlineno____doc__
KEY_PREFIXr   r   propertyr   r!   r+   r'   r9   r<   classmethodrA   __static_attributes____classcell__)r   s   @r   r	   r	      sY     "& I I

&"

@  r   r	   N)
django.confr   %django.contrib.sessions.backends.baser   r   r   django.core.cacher   rH   r	   r?   r   r   <module>rP      s$      W W $,
M; Mr   