
     h                     H    d 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.    )	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    \/var/www/html/Sam_Eipo/venv/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_value/   s    tHSM"""r   c                 V    |                      d|t          | j        |                    S Nr&   )r%   r   _on_timeout_set)r   r   r   s      r
   set_timeoutzAsyncQueue.set_timeout2   s5    !!!3$h 
 
 	
r   c                 "    |r|| _         | j         S r   )r   )r   r   s     r
   r4   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
   r8   zAsyncQueue.add_permission?   s'    --%h
 
 	
r   c                 :    | j                             | ||          S r   )r   remove_permission)r   r9   r   s      r
   r=   zAsyncQueue.remove_permissionE   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.readH   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.writeP   sF    ++'**,,mt4hHH , 
 
 	
r   c                 <    | j                             | ||          S rC   )r   send_message_batchr   messagesr   s      r
   write_batchzAsyncQueue.write_batchV   s(    11(X 2 
 
 	
r   c                 6    |j         |_         |j        |_        |S r   )idmd5)r   orig_messagenew_messages      r
   rF   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
   r@   zAsyncQueue.get_messages`   s2    ..,1!/ / 
 
 	
r   c                 :    | j                             | ||          S r   )r   delete_message)r   rG   r   s      r
   rY   zAsyncQueue.delete_messagej   s    --dGXFFFr   c                 <    | j                             | ||          S rC   )r   delete_message_batchrL   s      r
   r[   zAsyncQueue.delete_message_batchm   s(    33(X 4 
 
 	
r   c                 <    | j                             | ||          S rC   )r   change_message_visibility_batchrL   s      r
   r]   z*AsyncQueue.change_message_visibility_batchr   s(    >>(X ? 
 
 	
r   c                 :    | j                             | |          S rC   )r   delete_queue)r   r   s     r
   deletezAsyncQueue.deletew   s    ++D8+DDDr   
   ApproximateNumberOfMessagesc           	      d    |                      |t          | j        ||t                              S rC   r(   )r   	page_sizevtimeoutr   r+   s        r
   countzAsyncQueue.countz   s:    ""I((E3  # 
 
 	
r   )r   Nr   r3   )NNN)NN)r   NNNN)ra   ra   Nrb   )$__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)   r5   r4   r8   r=   rA   rI   rN   rF   r@   rY   r[   r]   r`   rf   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)rj   viner   rG   r   _all__r   r   r.   r   r
   <module>rx      s    & &       ! ! ! ! ! !
+ + +
q
 q
 q
 q
 q
 q
 q
 q
 q
 q
r   