Ë
    šQj×  ã                  ó‚   — d Z ddlmZ ddlZddlmZ ddlmZmZ ddl	m
Z
 ddlmZ d	Zh d
£Z eed«      Z G d„ d«      Zy)zMessage class.é    )ÚannotationsNé   )Ú
decompress)ÚMessageStateErrorÚreraise)Úloads)Ú
dictfilter)ÚMessage>   ÚACKÚREJECTEDÚREQUEUEDÚpypy_version_infoc                  ó�   — e Zd ZdZeZdZesdZ	 	 	 	 dd„Zdd„Z	dd„Z
dd„Zdd„Zdd	„Zd
„ Zd„ Zd„ Zed„ «       Zed„ «       Zd„ Zy)r
   au  Base class for received messages.

    Keyword Arguments:
    -----------------
        channel (ChannelT): If message was received, this should be the
            channel that the message was received on.

        body (str): Message body.

        delivery_mode (bool): Set custom delivery mode.
            Defaults to :attr:`delivery_mode`.

        priority (int): Message priority, 0 to broker configured
            max priority, where higher is better.

        content_type (str): The messages content_type.  If content_type
            is set, no serialization occurs as it is assumed this is either
            a binary object, or you've done your own serialization.
            Leave blank if using built-in serialization as our library
            properly sets content_type.

        content_encoding (str): The character set in which this object
            is encoded. Use "binary" if sending in raw binary objects.
            Leave blank if using built-in serialization as our library
            properly sets content_encoding.

        properties (Dict): Message properties.

        headers (Dict): Message headers.
    N)Ú_stateÚchannelÚdelivery_tagÚcontent_typeÚcontent_encodingÚdelivery_infoÚheadersÚ
propertiesÚbodyÚ_decoded_cacheÚacceptÚ__dict__c                óÒ  — |si n|}| j                   €g n| j                   | _         |
| _        || _        || _        || _        || _        |xs i | _        |xs i | _        d | _        d| _	        |	| _
        | j                  j                  d«      }| j                   s|r	 t        ||«      }| j                   s,|r*t#        |t$        «      r	 |j'                  |«      }|| _        y || _        y # t        $ r0 | j                   j                  t        j                   «       «       Y Œxw xY w# t        $ r7 | j                   j                  t        j                   «       «       Y || _        y w xY w)NÚRECEIVEDÚcompression)Úerrorsr   r   r   r   r   r   r   r   r   r   Úgetr   Ú	ExceptionÚappendÚsysÚexc_infoÚ
isinstanceÚstrÚencoder   )Úselfr   r   r   r   r   r   r   Ú
postencoder   r   Úkwargsr   s                úI/var/www/html/truck-me/venv/lib/python3.12/site-packages/kombu/message.pyÚ__init__zMessage.__init__>   s3  € ñ #0™°]ˆØ ŸK™KÐ/‘b°T·[±[ˆŒØˆŒØ(ˆÔØ(ˆÔØ 0ˆÔØ*ˆÔØ’} "ˆŒØ$Ò*¨ˆŒØ"ˆÔØ ˆŒØˆŒà—l‘l×&Ñ& }Ó5ˆØ�{Š{™{ð3Ü! $¨Ó4�ð �{Š{™z¬j¸¼sÔ.Cð3Ø—{‘{ :Ó.�ð ˆ�	�Dˆ�	øô ò 3Ø—‘×"Ñ"¤3§<¡<£>Ö2ð3ûô ò 3Ø—‘×"Ñ"¤3§<¡<£>Õ2Øˆ�	ð3ús$   ÂC* Ã	D& Ã*6D#Ä"D#Ä&6E&Å%E&c                ót   — 	 t        | j                  d   Ž  y # t        $ r}|s‚  || |«       Y d }~y d }~ww xY w)Nr   )r   r   r!   )r(   ÚcallbackÚexcs      r+   Ú_reraise_errorzMessage._reraise_error]   s:   € ð	 Ü�T—[‘[ ‘^Ò$øÜò 	 ÙØÙ�T˜3×Ñûð	 ús   ‚ ˜	7¡2²7c                óŽ  — | j                   €| j                  d«      ‚| j                   j                  �)	 | j                  d   }|| j                   j                  v ry| j
                  r | j                  dj                  | «      «      ‚| j                   j                  | j                  |¬«       d| _	        y# t        $ r Y Œfw xY w)zùAcknowledge this message as being processed.

        This will remove the message from the queue.

        Raises
        ------
            MessageStateError: If the message has already been
                acknowledged/requeued/rejected.
        Nú.This message does not have a receiving channelÚconsumer_tagú3Message already acknowledged with state: {0._state}©Úmultipler   )
r   r   Úno_ack_consumersr   ÚKeyErrorÚacknowledgedÚformatÚ	basic_ackr   r   )r(   r6   r3   s      r+   ÚackzMessage.acke   sÉ   € ð �<‰<ÐØ×(Ñ(Ø@óBð Bà�<‰<×(Ñ(Ð4ðØ#×1Ñ1°.ÑA�ð   4§<¡<×#@Ñ#@Ñ@ØØ×ÒØ×(Ñ(ØE×LÑLØóóð ð 	�‰×Ñ˜t×0Ñ0¸8ÐÔDØˆ�øô ò Ùðús   µB8 Â8	CÃCc                óä   — 	 | j                  |¬«       y # t        $ r%}|j                  d| j                  |d¬«       ‚ d }~w|$ r)}|j                  d| j                  |d¬«       Y d }~y d }~ww xY w)Nr5   zCouldn't ack %r, reason:%rT©r$   )r<   ÚBrokenPipeErrorÚcriticalr   )r(   Úloggerr   r6   r/   s        r+   Úack_log_errorzMessage.ack_log_error�   s~   € ð	CØ�H‰H˜hˆHÕ'øÜò 	Ø�O‰OÐ8Ø ×-Ñ-¨s¸Tð ô CàûØò 	CØ�O‰OÐ8Ø ×-Ñ-¨s¸Tð ÷ Cñ Cûð	Cús   ‚ •	A/ž >¾A/ÁA*Á*A/c                óŒ   — 	 | j                  |¬«       y # |$ r)}|j                  d| j                  |d¬«       Y d }~y d }~ww xY w)N©ÚrequeuezCouldn't reject %r, reason: %rTr>   )Úrejectr@   r   )r(   rA   r   rE   r/   s        r+   Úreject_log_errorzMessage.reject_log_errorŒ   sP   € ð	CØ�K‰K ˆKÕ(øØò 	CØ�O‰OÐ<Ø ×-Ñ-¨s¸Tð ÷ Cñ Cûð	Cús   ‚ •Aš>¾Ac                óò   — | j                   €| j                  d«      ‚| j                  r | j                  dj                  | «      «      ‚| j                   j	                  | j
                  |¬«       d| _        y)záReject this message.

        The message will be discarded by the server.

        Raises
        ------
            MessageStateError: If the message has already been
                acknowledged/requeued/rejected.
        Nr2   r4   rD   r   ©r   r   r9   r:   Úbasic_rejectr   r   )r(   rE   s     r+   rF   zMessage.reject“   sy   € ð �<‰<ÐØ×(Ñ(Ø@óBð Bà×ÒØ×(Ñ(ØE×LÑLØóóð ð 	�‰×!Ñ! $×"3Ñ"3¸WÐ!ÔEØ ˆ�ó    c                óò   — | j                   €| j                  d«      ‚| j                  r | j                  dj                  | «      «      ‚| j                   j	                  | j
                  d¬«       d| _        y)aL  Reject this message and put it back on the queue.

        Warning:
        -------
            You must not use this method as a means of selecting messages
            to process.

        Raises
        ------
            MessageStateError: If the message has already been
                acknowledged/requeued/rejected.
        Nr2   r4   TrD   r   rI   ©r(   s    r+   rE   zMessage.requeue§   sy   € ð �<‰<ÐØ×(Ñ(Ø@óBð Bà×ÒØ×(Ñ(ØE×LÑLØóóð ð 	�‰×!Ñ! $×"3Ñ"3¸TÐ!ÔBØ ˆ�rK   c                ó\   — | j                   s| j                  «       | _         | j                   S )zæDeserialize the message body.

        Returning the original python structure sent by the publisher.

        Note:
        ----
            The return value is memoized, use `_decode` to force
            re-evaluation.
        )r   Ú_decoderM   s    r+   ÚdecodezMessage.decode¾   s'   € ð ×"Ò"Ø"&§,¡,£.ˆDÔØ×"Ñ"Ð"rK   c                óp   — t        | j                  | j                  | j                  | j                  ¬«      S )N)r   )r   r   r   r   r   rM   s    r+   rO   zMessage._decodeÌ   s.   € Ü�T—Y‘Y × 1Ñ 1Ø×*Ñ*°4·;±;ô@ð 	@rK   c                ó&   — | j                   t        v S )z1Set to true if the message has been acknowledged.)r   Ú
ACK_STATESrM   s    r+   r9   zMessage.acknowledgedÐ   s   € ð �{‰{œjÐ(Ð(rK   c                óR   — | j                   r| j                   S | j                  «       S )zThe decoded message body.)r   rP   rM   s    r+   ÚpayloadzMessage.payloadÕ   s#   € ð '+×&9Ò&9ˆt×"Ñ"ÐL¸t¿{¹{»}ÐLrK   c                óð  — dj                  t        | «      j                  t        | «      t	        | j
                  | j                  | j                  | j                  �t        | j                  «      nd t	        | j                  j                  d«      | j                  j                  d«      ¬«      t	        | j                  j                  d«      | j                  j                  d«      ¬«      ¬«      «      S )	Nz&<{} object at {:#x} with details {!r}>Úcorrelation_idÚtype)rW   rX   ÚexchangeÚrouting_key)rY   rZ   )Ústater   r   Úbody_lengthr   r   )r:   rX   Ú__name__Úidr	   r   r   r   r   Úlenr   r    r   rM   s    r+   Ú__repr__zMessage.__repr__Ú   s½   € Ø7×>Ñ>Ü�‹J×Ñ¤ D£¬:Ø—k‘kØ!×.Ñ.Ø!×.Ñ.Ø.2¯i©iÐ.CœC §	¡	œNÈÜ%Ø#'§?¡?×#6Ñ#6Ð7GÓ#HØŸ™×,Ñ,¨VÓ4ôô )Ø!×/Ñ/×3Ñ3°JÓ?Ø $× 2Ñ 2× 6Ñ 6°}Ó Eôô,ó
ð 	
rK   )
NNNNNNNNNN)N)F)r]   Ú
__module__Ú__qualname__Ú__doc__r   r   ÚIS_PYPYÚ	__slots__r,   r0   r<   rB   rG   rF   rE   rP   rO   Úpropertyr9   rU   r`   © rK   r+   r
   r
      s‹   „ ñð> *Ðà€Fáð
ˆ	ð 04ØIMØ;?Ø&*óó> óó8	CóCó!ò(!ò.#ò@ð ñ)ó ð)ð ñMó ðMó
rK   r
   )rc   Ú
__future__r   r#   r   r   Ú
exceptionsr   r   Úserializationr   Úutils.functionalr	   Ú__all__rS   Úhasattrrd   r
   rg   rK   r+   ú<module>rn      s=   ðÙ å "ã 
å #ß 2Ý  Ý (à
€â,€
Ù
�#Ð*Ó
+€÷X
ò X
rK   