Ë
    ¹ûàgÂ  ã                   óx   — d dl mZ d dlmZmZ d dlmZ  eej                  «      Z G d„ d«      Z	 G d„ d«      Z
y)	é    )Úsettings)Ú	constantsÚutils)ÚSimpleLazyObjectc                   óP   — e Zd ZdZd
d„Zd„ Zd„ Zd„ Zd„ Ze	d„ «       Z
e	d	„ «       Zy)ÚMessagez±
    Represent an actual message that can be stored in any of the supported
    storage classes (typically session- or cookie-based) and rendered in a view
    or template.
    Nc                 ó@   — t        |«      | _        || _        || _        y ©N)ÚintÚlevelÚmessageÚ
extra_tags©Úselfr   r   r   s       úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/messages/storage/base.pyÚ__init__zMessage.__init__   s   € Ü˜“ZˆŒ
ØˆŒØ$ˆ�ó    c                 ó”   — t        | j                  «      | _        | j                  �t        | j                  «      | _        yd| _        y)z˜
        Prepare the message for serialization by forcing the ``message``
        and ``extra_tags`` to str in case they are lazy translations.
        N)Ústrr   r   ©r   s    r   Ú_preparezMessage._prepare   s4   € ô
 ˜4Ÿ<™<Ó(ˆŒØ26·/±/Ð2Mœ#˜dŸo™oÓ.ˆ�ÐSWˆ�r   c                 ó–   — t        |t        «      st        S | j                  |j                  k(  xr | j                  |j                  k(  S r
   )Ú
isinstancer   ÚNotImplementedr   r   )r   Úothers     r   Ú__eq__zMessage.__eq__   s7   € Ü˜%¤Ô)Ü!Ð!Ø�z‰z˜UŸ[™[Ñ(ÒJ¨T¯\©\¸U¿]¹]Ñ-JÐJr   c                 ó,   — t        | j                  «      S r
   )r   r   r   s    r   Ú__str__zMessage.__str__!   s   € Ü�4—<‘<Ó Ð r   c                 óz   — | j                   rd| j                   ›�nd}d| j                  › d| j                  ›|› d�S )Nz, extra_tags=Ú zMessage(level=z
, message=ú))r   r   r   )r   r   s     r   Ú__repr__zMessage.__repr__$   s?   € Ø<@¿OºO�} T§_¡_Ð$7Ñ8ÐQSˆ
Ø §
¡
˜|¨:°d·l±lÐ5EÀjÀ\ÐQRÐSÐSr   c                 ó^   — dj                  d„ | j                  | j                  fD «       «      S )Nú c              3   ó&   K  — | ]	  }|sŒ|–— Œ y ­wr
   © )Ú.0Útags     r   ú	<genexpr>zMessage.tags.<locals>.<genexpr>*   s   è ø€ ÒP ÊCœÑPùs   ‚Š)Újoinr   Ú	level_tagr   s    r   ÚtagszMessage.tags(   s$   € à�x‰xÑP¨¯©¸¿¹Ð'HÔPÓPÐPr   c                 óB   — t         j                  | j                  d«      S )Nr    )Ú
LEVEL_TAGSÚgetr   r   s    r   r+   zMessage.level_tag,   s   € ä�~‰~˜dŸj™j¨"Ó-Ð-r   r
   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r"   Úpropertyr,   r+   r&   r   r   r   r      sM   „ ñó%ò
XòKò
!òTð ñQó ðQð ñ.ó ñ.r   r   c                   óŒ   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Ze	d„ «       Z
d„ Zd	„ Zd
„ Zd„ Zdd„Zd„ Zdd„Z e	eee«      Zˆ xZS )ÚBaseStoragezÖ
    This is the base backend for temporary message storage.

    This is not a complete class; to be a usable storage backend, it must be
    subclassed and the two methods ``_get`` and ``_store`` overridden.
    c                 ó\   •— || _         g | _        d| _        d| _        t	        ‰| �  |i |¤Ž y )NF)ÚrequestÚ_queued_messagesÚusedÚ	added_newÚsuperr   )r   r8   ÚargsÚkwargsÚ	__class__s       €r   r   zBaseStorage.__init__9   s2   ø€ ØˆŒØ "ˆÔØˆŒ	ØˆŒÜ‰Ñ˜$Ð) &Ó)r   c                 óX   — t        | j                  «      t        | j                  «      z   S r
   )ÚlenÚ_loaded_messagesr9   r   s    r   Ú__len__zBaseStorage.__len__@   s#   € Ü�4×(Ñ(Ó)¬C°×0EÑ0EÓ,FÑFÐFr   c                 óª   — d| _         | j                  r,| j                  j                  | j                  «       g | _        t	        | j                  «      S )NT)r:   r9   rB   ÚextendÚiterr   s    r   Ú__iter__zBaseStorage.__iter__C   sE   € ØˆŒ	Ø× Ò Ø×!Ñ!×(Ñ(¨×)>Ñ)>Ô?Ø$&ˆDÔ!Ü�D×)Ñ)Ó*Ð*r   c                 ó>   — || j                   v xs || j                  v S r
   )rB   r9   )r   Úitems     r   Ú__contains__zBaseStorage.__contains__J   s#   € Ø�t×,Ñ,Ð,ÒM°¸×8MÑ8MÐ0MÐMr   c                 óP   — d| j                   j                  › d| j                  ›d�S )Nú<z
: request=ú>)r?   r2   r8   r   s    r   r"   zBaseStorage.__repr__M   s'   € Ø�4—>‘>×.Ñ.Ð/¨z¸$¿,¹,Ð9IÈÐKÐKr   c                 ón   — t        | d«      s| j                  «       \  }}|xs g | _        | j                  S )zs
        Return a list of loaded messages, retrieving them first if they have
        not been loaded yet.
        Ú_loaded_data)ÚhasattrÚ_getrO   )r   ÚmessagesÚall_retrieveds      r   rB   zBaseStorage._loaded_messagesP   s6   € ô �t˜^Ô,Ø&*§i¡i£kÑ#ˆH�mØ (¢¨BˆDÔØ× Ñ Ð r   c                 ó   — t        d«      ‚)a  
        Retrieve a list of stored messages. Return a tuple of the messages
        and a flag indicating whether or not all the messages originally
        intended to be stored in this storage were, in fact, stored and
        retrieved; e.g., ``(messages, all_retrieved)``.

        **This method must be implemented by a subclass.**

        If it is possible to tell if the backend was not used (as opposed to
        just containing no messages) then ``None`` should be returned in
        place of ``messages``.
        z6subclasses of BaseStorage must provide a _get() method©ÚNotImplementedError)r   r=   r>   s      r   rQ   zBaseStorage._get[   s   € ô "ØDó
ð 	
r   c                 ó   — t        d«      ‚)zï
        Store a list of messages and return a list of any messages which could
        not be stored.

        One type of object must be able to be stored, ``Message``.

        **This method must be implemented by a subclass.**
        z8subclasses of BaseStorage must provide a _store() methodrU   )r   rR   Úresponser=   r>   s        r   Ú_storezBaseStorage._storel   s   € ô "ØFó
ð 	
r   c                 ó2   — |D ]  }|j                  «        Œ y)z9
        Prepare a list of messages for storage.
        N)r   )r   rR   r   s      r   Ú_prepare_messageszBaseStorage._prepare_messagesy   s   € ð  ò 	ˆGØ×ÑÕñ	r   c                 óø   — | j                  | j                  «       | j                  r| j                  | j                  |«      S | j                  r+| j
                  | j                  z   }| j                  ||«      S y)zË
        Store all unread messages.

        If the backend has yet to be iterated, store previously stored messages
        again. Otherwise, only store messages added after the last iteration.
        N)r[   r9   r:   rY   r;   rB   )r   rX   rR   s      r   ÚupdatezBaseStorage.update€   si   € ð 	×Ñ˜t×4Ñ4Ô5Ø�9Š9Ø—;‘;˜t×4Ñ4°hÓ?Ð?Ø�^Š^Ø×,Ñ,¨t×/DÑ/DÑDˆHØ—;‘;˜x¨Ó2Ð2ð r   c                 ó    — |syt        |«      }|| j                  k  ryd| _        t        |||¬«      }| j                  j                  |«       y)zº
        Queue a message to be stored.

        The message is only queued if it contained something and its level is
        not less than the recording level (``self.level``).
        NT)r   )r   r   r;   r   r9   Úappendr   s       r   ÚaddzBaseStorage.addŽ   sK   € ñ Øä�E“
ˆØ�4—:‘:ÒØàˆŒÜ˜% °ZÔ@ˆØ×Ñ×$Ñ$ WÕ-r   c                 óz   — t        | d«      s$t        t        dt        j                  «      | _        | j
                  S )z«
        Return the minimum recorded level.

        The default level is the ``MESSAGE_LEVEL`` setting. If this is
        not found, the ``INFO`` level is used.
        Ú_levelÚMESSAGE_LEVEL)rP   Úgetattrr   r   ÚINFOrb   r   s    r   Ú
_get_levelzBaseStorage._get_level    s,   € ô �t˜XÔ&Ü!¤(¨O¼Y¿^¹^ÓLˆDŒKØ�{‰{Ðr   c                 óF   — |€t        | d«      r| `yt        |«      | _        y)z›
        Set a custom minimum recorded level.

        If set to ``None``, the default level will be used (see the
        ``_get_level`` method).
        Nrb   )rP   rb   r   )r   Úvalues     r   Ú
_set_levelzBaseStorage._set_level«   s"   € ð ˆ=œW T¨8Ô4Ø‘ä˜e›*ˆD�Kr   )r    r
   )r0   r1   r2   r3   r   rC   rG   rJ   r"   r4   rB   rQ   rY   r[   r]   r`   rf   ri   r   Ú__classcell__)r?   s   @r   r6   r6   1   sk   ø„ ñô*òGò+òNòLð ñ!ó ð!ò
ò"
òò3ó.ò$	ó
%ñ �Z ¨ZÓ8„Er   r6   N)Údjango.confr   Údjango.contrib.messagesr   r   Údjango.utils.functionalr   Úget_level_tagsr.   r   r6   r&   r   r   ú<module>ro      s5   ðÝ  ß 4Ý 4á˜e×2Ñ2Ó3€
÷&.ñ &.÷RF9ò F9r   