
    (ph2                     F    S r SSKJr  SSKJr  SSKJr  Sr " S S\5      rg)	z#
Cached, database-backed sessions.
    )settings)SessionStore)cachesz!django.contrib.sessions.cached_dbc                   |   ^  \ rS rSrSr\rSU 4S jjr\S 5       r	S r
U 4S jrSU 4S jjrSU 4S jjrS	 rS
rU =r$ )r      z-
Implement cached, database backed sessions.
c                 \   > [         [        R                     U l        [        TU ]  U5        g N)r   r   SESSION_CACHE_ALIAS_cachesuper__init__selfsession_key	__class__s     ]/var/www/html/venv/lib/python3.13/site-packages/django/contrib/sessions/backends/cached_db.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                 b    U R                   R                  U R                  5      nUcs  U R	                  5       nU(       aZ  U R                  UR                  5      nU R                   R                  U R                  XR                  UR                  S95        U$ 0 nU$ ! [         a    S n Nf = f)N)expiry)
r   getr   	Exception_get_session_from_dbdecodesession_datasetget_expiry_ageexpire_date)r   datass      r   loadSessionStore.load   s    	;;??4>>2D <))+A{{1>>2NND*=*=Q]]*=*S
    	 D	s   %B B.-B.c                 z   > U=(       a    U R                   U-   U R                  ;   =(       d    [        TU ]  U5      $ r	   )r   r   r   existsr   s     r   r*   SessionStore.exists.   s9     E&&4D+w~k*	
r   c                    > [         TU ]  U5        U R                  R                  U R                  U R
                  U R                  5       5        g r	   )r   saver   r"   r   _sessionr#   )r   must_creater   s     r   r-   SessionStore.save5   s4    [!t7J7J7LMr   c                    > [         TU ]  U5        Uc  U R                  c  g U R                  nU R                  R                  U R                  U-   5        g r	   )r   deleter   r   r   r   s     r   r2   SessionStore.delete9   sL    {#'**K400;>?r   c                 h    U R                  5         U R                  U R                  5        SU l        g)zK
Remove the current session data from the database and regenerate the
key.
N)clearr2   r   _session_keyr   s    r   flushSessionStore.flushA   s'    
 	

D$$% r   )r   r6   r	   )F)__name__
__module____qualname____firstlineno____doc__
KEY_PREFIXr   r   propertyr   r'   r*   r-   r2   r7   __static_attributes____classcell__)r   s   @r   r   r      sK     "& I I&
N@! !r   r   N)	r=   django.confr   #django.contrib.sessions.backends.dbr   DBStoredjango.core.cacher   r>    r   r   <module>rG      s&    ! G $0
<!7 <!r   