o 3aS@s8ddlZddlmZddlmZmZGdddeZdS)N) BaseStorage)MessageDecoderMessageEncodercsDeZdZdZdZfddZddZddZd d Zd d Z Z S) SessionStoragezK Store messages in the session (that is, django.contrib.sessions). _messagescs0t|ds Jdtj|g|Ri|dS)NsessionzThe session-based temporary message storage requires session middleware to be installed, and come before the message middleware in the MIDDLEWARE list.)hasattrsuper__init__)selfrequestargskwargs __class__I/usr/lib/python3/dist-packages/django/contrib/messages/storage/session.pyr szSessionStorage.__init__cOs||jj|jdfS)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 rget session_key)r r rrrr_getszSessionStorage._getcOs2|r|||jj|j<gS|jj|jdgS)zD Store a list of messages to the request's session. N)serialize_messagesr rrpop)r messagesresponser rrrr_stores zSessionStorage._storecCst}||S)N)rencode)r rencoderrrrr(s z!SessionStorage.serialize_messagescCs |rt|trtj|tdS|S)N)cls) isinstancestrjsonloadsr)r datarrrr,sz#SessionStorage.deserialize_messages) __name__ __module__ __qualname____doc__rr rrrr __classcell__rrrrr s  r)r!$django.contrib.messages.storage.baser&django.contrib.messages.storage.cookierrrrrrrs