
    g                     J    d dl Z d dlmZ d dlmZmZ d dlmZ  G d de      Zy)    N)BaseStorage)MessageDecoderMessageEncoder)ImproperlyConfiguredc                   >     e Zd ZdZdZ fdZd Zd Zd Zd Z	 xZ
S )SessionStoragezK
    Store messages in the session (that is, django.contrib.sessions).
    	_messagesc                 Z    t        |d      st        d      t        |   |g|i | y )NsessionzThe session-based temporary message storage requires session middleware to be installed, and come before the message middleware in the MIDDLEWARE list.)hasattrr   super__init__)selfrequestargskwargs	__class__s       /var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/contrib/messages/storage/session.pyr   zSessionStorage.__init__   s8    w	*&5 
 	24262    c                     | j                  | j                  j                  j                  | j                              dfS )z
        Retrieve a list of messages from the request's session. This storage
        always stores everything it is given, so return True for the
        all_retrieved flag.
        T)deserialize_messagesr   r   getsession_key)r   r   r   s      r   _getzSessionStorage._get   s:     %%dll&:&:&>&>t?O?O&PQ
 	
r   c                     |r4| j                  |      | j                  j                  | j                  <   g S | j                  j                  j	                  | j                  d       g S )zD
        Store a list of messages to the request's session.
        N)serialize_messagesr   r   r   pop)r   messagesresponser   r   s        r   _storezSessionStorage._store#   sZ     595L5LX5VDLL  !1!12 	 LL  $$T%5%5t<	r   c                 8    t               }|j                  |      S )N)r   encode)r   r   encoders      r   r   z!SessionStorage.serialize_messages-   s     "~~h''r   c                 `    |r+t        |t              rt        j                  |t              S |S )N)cls)
isinstancestrjsonloadsr   )r   datas     r   r   z#SessionStorage.deserialize_messages1   s$    JtS)::d77r   )__name__
__module____qualname____doc__r   r   r   r    r   r   __classcell__)r   s   @r   r   r      s(     K3	
(r   r   )	r(   $django.contrib.messages.storage.baser   &django.contrib.messages.storage.cookier   r   django.core.exceptionsr   r    r   r   <module>r4      s     < Q 7,[ ,r   