
    ^f2                    T    d Z ddlmZ ddlmZ ddlmZ dgZd Z G d d          Z	d	S )
z Amazon SQS queue implementation.    )annotations)	transform   )AsyncMessage
AsyncQueuec                <    t          |           dk    r| d         ndS )z4Get the first item in a list, or None if list empty.r   r   N)len)rss    R/var/www/html/env/lib/python3.11/site-packages/kombu/asynchronous/aws/sqs/queue.py
list_firstr      s    GGqLL2a55d*    c                      e Zd ZdZddefdZd ZexZxZxZ	xZ
xZxZxZxZxZxZZddZddZdd	Zd
 ZddZd Z	 ddZddZ	 	 ddZd dZddZd Z	 	 d!dZddZddZ ddZ!ddZ"	 	 d"dZ#dS )#r   zAsync SQS Queue.Nc                >    || _         || _        || _        d | _        d S N)
connectionurlmessage_classvisibility_timeout)selfr   r   r   s       r   __init__zAsyncQueue.__init__   s&    $*"&r   c                    t                      r   )NotImplementedError)r   argskwargss      r   _NAzAsyncQueue._NA   s    !###r   Allc                :    | j                             | ||          S r   )r   get_queue_attributes)r   
attributescallbacks      r   get_attributeszAsyncQueue.get_attributes    s#    33*h
 
 	
r   c                <    | j                             | |||          S r   )r   set_queue_attribute)r   	attributevaluer    s       r   set_attributezAsyncQueue.set_attribute%   s%    22)UH
 
 	
r   VisibilityTimeoutc           	     b    |                      |t          | j        ||t                              S r   r!   r   _coerce_field_valueint)r   r    _attrs      r   get_timeoutzAsyncQueue.get_timeout*   s5    ""9((E3 
 
 	
r   c                $     |||                   S r    )r   keytyperesponses       r   r*   zAsyncQueue._coerce_field_value1   s    tHSM"""r   c                V    |                      d|t          | j        |                    S Nr'   )r&   r   _on_timeout_set)r   r   r    s      r   set_timeoutzAsyncQueue.set_timeout4   s5    !!!3$h 
 
 	
r   c                "    |r|| _         | j         S r   )r   )r   r   s     r   r5   zAsyncQueue._on_timeout_set<   s     	9&8D#&&r   c                >    | j                             | ||||          S r   )r   add_permission)r   labelaws_account_idaction_namer    s        r   r9   zAsyncQueue.add_permissionA   s'    --%h
 
 	
r   c                :    | j                             | ||          S r   )r   remove_permission)r   r:   r    s      r   r>   zAsyncQueue.remove_permissionG   s    00uhGGGr   c           	     Z    |                      d||t          t          |                    S )Nr   )wait_time_secondsr    )get_messagesr   r   )r   r   r@   r    s       r   readzAsyncQueue.readJ   s5      !/z844 ! 
 
 	
r   c           
         | j                             | |                                |t          | j        ||                    S N)r    )r   send_messageget_body_encodedr   _on_message_sent)r   messagedelay_secondsr    s       r   writezAsyncQueue.writeR   sF    ++'**,,mt4hHH , 
 
 	
r   c                <    | j                             | ||          S rD   )r   send_message_batchr   messagesr    s      r   write_batchzAsyncQueue.write_batchX   s(    11(X 2 
 
 	
r   c                6    |j         |_         |j        |_        |S r   )idmd5)r   orig_messagenew_messages      r   rG   zAsyncQueue._on_message_sent]   s    %.&?r   r   c                B    | j                             | |||||          S )N)number_messagesr   r   r@   r    )r   receive_message)r   num_messagesr   r   r@   r    s         r   rA   zAsyncQueue.get_messagesb   s2    ..,1!/ / 
 
 	
r   c                :    | j                             | ||          S r   )r   delete_message)r   rH   r    s      r   rZ   zAsyncQueue.delete_messagel   s    --dGXFFFr   c                <    | j                             | ||          S rD   )r   delete_message_batchrM   s      r   r\   zAsyncQueue.delete_message_batcho   s(    33(X 4 
 
 	
r   c                <    | j                             | ||          S rD   )r   change_message_visibility_batchrM   s      r   r^   z*AsyncQueue.change_message_visibility_batcht   s(    >>(X ? 
 
 	
r   c                :    | j                             | |          S rD   )r   delete_queue)r   r    s     r   deletezAsyncQueue.deletey   s    ++D8+DDDr   
   ApproximateNumberOfMessagesc           	     d    |                      |t          | j        ||t                              S rD   r)   )r   	page_sizevtimeoutr    r,   s        r   countzAsyncQueue.count|   s:    ""I((E3  # 
 
 	
r   )r   Nr   r4   )NNN)NN)r   NNNN)rb   rb   Nrc   )$__name__
__module____qualname____doc__r   r   r   
count_slowdumpsave_to_filesave_to_filenamesave
save_to_s3load_from_s3load_from_fileload_from_filenameloadclearr!   r&   r-   r*   r6   r5   r9   r>   rB   rJ   rO   rG   rA   rZ   r\   r^   ra   rg   r/   r   r   r   r      s       "&D ' ' ' '$ $ $ J   '7 $ !$25Gu
 
 
 


 
 
 


 
 
 
# # #
 
 
 
' ' ' !%
 
 
 
H H H H ?C
 
 
 

 
 
 

 
 
 

  
 ?CGK
 
 
 
G G G G
 
 
 


 
 
 

E E E E 9=1
 
 
 
 
 
r   N)
rk   
__future__r   viner   rH   r   _all__r   r   r/   r   r   <module>rz      s    & & " " " " " "       ! ! ! ! ! !
+ + +
q
 q
 q
 q
 q
 q
 q
 q
 q
 q
r   