o
    ô<âgÓ  ã                   @   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   úW/var/www/html/venv/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
    