
    k"g                     t    d Z ddlmZ ddlmZ  G d dej                        Z G d dej                        Z	y)	zn
This module allows importing AbstractBaseSession even
when django.contrib.sessions is not in INSTALLED_APPS.
    )models)gettext_lazyc                       e Zd Zd Zd Zy)BaseSessionManagerc                 b    | j                   j                         } |       j                  |      S )zY
        Return the given session dictionary serialized and encoded as a string.
        )modelget_session_store_classencode)selfsession_dictsession_store_classs      ]/var/www/html/djangosite/lib/python3.12/site-packages/django/contrib/sessions/base_session.pyr
   zBaseSessionManager.encode   s+     #jj@@B"$++L99    c                     | j                  || j                  |      |      }|r|j                          |S |j                          |S N)r   r
   savedelete)r   session_keyr   expire_datess        r   r   zBaseSessionManager.save   s@    JJ{DKK$={KFFH  HHJr   N)__name__
__module____qualname__r
   r    r   r   r   r   
   s    :r   r   c                       e Zd Z ej                   ed      dd      Z ej                   ed            Z ej                   ed      d      Z
 e       Z G d d	      Zd
 Zed        Zd Zy)AbstractBaseSessionzsession key(   T)
max_lengthprimary_keyzsession datazexpire date)db_indexc                   0    e Zd ZdZ ed      Z ed      Zy)AbstractBaseSession.MetaTsessionsessionsN)r   r   r   abstract_verbose_nameverbose_name_pluralr   r   r   Metar"   "   s    |
mr   r)   c                     | j                   S r   )r   )r   s    r   __str__zAbstractBaseSession.__str__'   s    r   c                     t         r   )NotImplementedError)clss    r   r	   z+AbstractBaseSession.get_session_store_class*   s    !!r   c                 b    | j                         } |       j                  | j                        S r   )r	   decodesession_data)r   r   s     r   get_decodedzAbstractBaseSession.get_decoded.   s+    "::<"$++D,=,=>>r   N)r   r   r   r   	CharFieldr&   r   	TextFieldr1   DateTimeFieldr   r   objectsr)   r+   classmethodr	   r2   r   r   r   r   r      s~    "&""1]#3PTUK#6##An$56L&&&&q'7$GK "G, ,
  " "?r   r   N)
__doc__	django.dbr   django.utils.translationr   r&   Managerr   Modelr   r   r   r   <module>r=      s2   
  6 "?&,, ?r   