
    h                     J    S SK r S SKJr  S SKJrJr  S SKJr   " S S\5      rg)    N)BaseStorage)MessageDecoderMessageEncoder)ImproperlyConfiguredc                   H   ^  \ rS rSrSrSrU 4S jrS rS rS r	S r
S	rU =r$ )
SessionStorage   zC
Store messages in the session (that is, django.contrib.sessions).
	_messagesc                 f   > [        US5      (       d  [        S5      e[        TU ]  " U/UQ70 UD6  g )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       Y/var/www/html/env/lib/python3.13/site-packages/django/contrib/messages/storage/session.pyr   SessionStorage.__init__   s;    w	**&5 
 	24262    c                     U R                  U R                  R                  R                  U R                  5      5      S4$ )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   _getSessionStorage._get   s:     %%dll&:&:&>&>t?O?O&PQ
 	
r   c                     U(       a4  U R                  U5      U R                  R                  U R                  '   / $ U R                  R                  R	                  U R                  S5        / $ )z4
Store a list of messages to the request's session.
N)serialize_messagesr   r   r   pop)r   messagesresponser   r   s        r   _storeSessionStorage._store#   sZ     595L5LX5VDLL  !1!12 	 LL  $$T%5%5t<	r   c                 8    [        5       nUR                  U5      $ )N)r   encode)r   r!   encoders      r   r   !SessionStorage.serialize_messages-   s     "~~h''r   c                 p    U(       a.  [        U[        5      (       a  [        R                  " U[        S9$ U$ )N)cls)
isinstancestrjsonloadsr   )r   datas     r   r   #SessionStorage.deserialize_messages1   s'    JtS))::d77r    )__name__
__module____qualname____firstlineno____doc__r   r   r   r#   r   r   __static_attributes____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   r1   r   r   <module>r<      s     < Q 7,[ ,r   