
    g-                     >    d dl mZ d dlmZ d dlmZ  G d de      Zy)    )BaseStorage)CookieStorage)SessionStoragec                   6     e Zd ZdZeefZ fdZd Zd Z	 xZ
S )FallbackStoragezu
    Try to store all messages in the first backend. Store any unstored
    messages in each subsequent backend.
    c                     t        |   |i | | j                  D cg c]
  } ||i | c}| _        t	               | _        y c c}w )N)super__init__storage_classesstoragesset_used_storages)selfargskwargsstorage_class	__class__s       /var/www/python.vincentserveurtest.ovh/public_html/venv/lib/python3.12/site-packages/django/contrib/messages/storage/fallback.pyr
   zFallbackStorage.__init__   sR    $)&)@D@T@T
@T}M4*6*@T
 "e
s   Ac                     g }| j                   D ]Q  }|j                         \  }}| ||fS |r| j                  j                  |       |j	                  |       |sN ||fS  |fS )zJ
        Get a single list of messages from all storage backends.
        )r   _getr   addextend)r   r   r   all_messagesstoragemessagesall_retrieveds          r   r   zFallbackStorage._get   s     }}G&-lln#Hm ]** ##''0) ]** % ]**    c                     | j                   D ]U  }|r|j                  ||d      }|| j                  v s)|j                  g |       | j                  j                  |       W |S )z
        Store the messages and return any unstored messages after trying all
        backends.

        For each storage backend, any messages not stored are passed on to the
        next backend.
        F)remove_oldest)r   _storer   remove)r   r   responser   r   r   s         r   r    zFallbackStorage._store(   sb     }}G">>(HE>R D///r8,##**73 % r   )__name__
__module____qualname____doc__r   r   r   r
   r   r    __classcell__)r   s   @r   r   r      s#    
 %n5O$+&r   r   N)$django.contrib.messages.storage.baser   &django.contrib.messages.storage.cookier   'django.contrib.messages.storage.sessionr   r    r   r   <module>r,      s    < @ B2k 2r   