o
    Mf                     @   sD   d Z ddlmZ ddlmZ G dd dejZG dd dejZ	dS )	zn
This module allows importing AbstractBaseSession even
when django.contrib.sessions is not in INSTALLED_APPS.
    )models)gettext_lazyc                   @   s   e Zd Zdd Zdd ZdS )BaseSessionManagerc                 C   s   | 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_class r   f/var/www/html/analyze/labelStudio/lib/python3.10/site-packages/django/contrib/sessions/base_session.pyr   
   s   
zBaseSessionManager.encodec                 C   s0   |  || ||}|r|  |S |  |S N)r   r   savedelete)r   session_keyr	   expire_datesr   r   r   r      s   zBaseSessionManager.saveN)__name__
__module____qualname__r   r   r   r   r   r   r   	   s    r   c                   @   sp   e Zd ZejeddddZeedZej	edddZ
e ZG dd	 d	Zd
d Zedd Zdd ZdS )AbstractBaseSessionzsession key(   T)
max_lengthprimary_keyzsession datazexpire date)db_indexc                   @   s    e Zd ZdZedZedZdS )zAbstractBaseSession.MetaTsessionsessionsN)r   r   r   abstract_verbose_nameverbose_name_pluralr   r   r   r   Meta!   s    r!   c                 C   s   | j S r   )r   )r   r   r   r   __str__&   s   zAbstractBaseSession.__str__c                 C   s   t r   )NotImplementedError)clsr   r   r   r   )   s   z+AbstractBaseSession.get_session_store_classc                 C   s   |   }| | jS r   )r   decodesession_data)r   r
   r   r   r   get_decoded-   s   zAbstractBaseSession.get_decodedN)r   r   r   r   	CharFieldr   r   	TextFieldr&   DateTimeFieldr   r   objectsr!   r"   classmethodr   r'   r   r   r   r   r      s    
r   N)
__doc__	django.dbr   django.utils.translationr   r   Managerr   Modelr   r   r   r   r   <module>   s
    