o ǎ_/@s8ddlmZddlmZddlmZGdddeZdS)) BaseStorage) CookieStorage)SessionStoragecs8eZdZdZeefZfddZddZddZ Z S)FallbackStoragezu Try to store all messages in the first backend. Store any unstored messages in each subsequent backend. cs6tjifdd|jD|_t|_dS)Ncsg|] }|iqSr).0 storage_classargskwargsrJ/usr/lib/python3/dist-packages/django/contrib/messages/storage/fallback.py sz,FallbackStorage.__init__..)super__init__storage_classesstoragesset_used_storages)selfr r  __class__r r r s   zFallbackStorage.__init__cOs^g}|jD]%}|\}}|dur||fS|r|j||||r*||fSq||fS)zJ Get a single list of messages from all storage backends. N)r_getraddextend)rr r all_messagesstoragemessages all_retrievedrrr rs    zFallbackStorage._getcOsH|jD]}|r|j||dd}q||jvr!|g||j|q|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_storerremove)rrresponser r rrrr r&s    zFallbackStorage._store) __name__ __module__ __qualname____doc__rrrrrr __classcell__rrrr rs  rN)$django.contrib.messages.storage.baser&django.contrib.messages.storage.cookier'django.contrib.messages.storage.sessionrrrrrr s