o
    é’Oj-  ã                   @   st   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ G dd	„ d	e
ƒZ	
ddd„ZdS )é    N)Ú
xform_name)ÚDocumentStructure)Údocument_model_driven_method)Úget_service_module_name)ÚNestedDocumenter)Úadd_resource_type_overviewÚget_resource_ignore_paramsc                       s$   e Zd Z‡ fdd„Zdd„ Z‡  ZS )ÚWaiterResourceDocumenterc                    s   t ƒ  ||¡ || _d S )N)ÚsuperÚ__init__Ú_service_waiter_model)ÚselfÚresourceÚservice_waiter_modelÚroot_docs_path©Ú	__class__© úW/var/www/html/pharmsmart-cdr-gen/venv/lib/python3.10/site-packages/boto3/docs/waiter.pyr      s   
z!WaiterResourceDocumenter.__init__c           	   	   C   sò   | j jjj}t|dddd� g }|| jd< |D ]_}| |j¡ t|jdd�}| 	d¡}|j
 | jd	¡ | d
|j› �¡ | |j¡ |j	|jd| j› d�id�}t|| j| j jjjj| j|| jd� tj | j| j› | j› ¡}| ||j¡ qd S )NÚWaiterszNWaiters provide an interface to wait for a resource to reach a specific state.Úwaiters_intro)ÚsectionÚresource_typeÚdescriptionÚ
intro_linkÚwaitersÚhtml)ÚtargetÚ
breadcrumbÚindexz / Waiter / Ú	qualifierÚ.)Úcontext)r   Úresource_nameÚevent_emitterÚservice_modelÚresource_waiter_modelr   )Ú	_resourceÚmetaÚresource_modelr   r   Ú
member_mapÚappendÚnamer   Úadd_new_sectionÚstyleÚrefÚ_resource_class_nameÚwriteÚadd_title_sectionÚ
class_nameÚdocument_resource_waiterÚ_resource_nameÚclientÚeventsÚ_service_modelr   ÚosÚpathÚjoinÚ_root_docs_pathÚ_service_nameÚ_resource_sub_pathÚwrite_to_file)	r   r   r   Úwaiter_listÚwaiterÚ
waiter_docÚbreadcrumb_sectionÚwaiter_sectionÚwaiters_dir_pathr   r   r   Údocument_resource_waiters    sF   ù	

þú
ýåz2WaiterResourceDocumenter.document_resource_waiters)Ú__name__Ú
__module__Ú__qualname__r   rF   Ú__classcell__r   r   r   r   r	      s    r	   Tc              
   C   sâ   |  |j¡}| |j¡}t|jƒ}	t|ƒ}
d |d |j	 
d¡dd … ¡|
t|jƒ|
t|jƒ|j|j¡}t|ƒ› d|j	› �}| j dd¡› |j	› �}t| ||||||	|d� d	| jv ro|  d	¡}| ¡  | ¡  | d
¡ d S d S )NzÎWaits until this {} is {}. This method calls :py:meth:`{}.Waiter.{}.wait` which polls :py:meth:`{}.Client.{}` every {} seconds until a successful state is reached. An error is raised after {} failed checks.ú Ú_é   r!   r    Ú )r   Úmethod_nameÚoperation_modelr$   Úexample_prefixÚmethod_descriptionÚexclude_inputÚinclude_signatureÚreturnz:returns: None)Ú
get_waiterÚwaiter_namerP   Ú	operationr   Úparamsr   Úformatr;   r,   Úsplitr   ÚdelayÚmax_attemptsr"   Úgetr   Úavailable_sectionsÚget_sectionÚ
clear_textÚremove_all_sectionsr1   )r   r#   r$   r%   r&   r   rT   Úwaiter_modelrP   Úignore_paramsÚservice_module_namer   rQ   Úfull_waiter_nameÚreturn_sectionr   r   r   r4   K   sL   	ÿ
øûÿÿø


ùr4   )T)r9   Úbotocorer   Úbotocore.docs.bcdoc.restdocr   Úbotocore.docs.methodr   Úbotocore.utilsr   Úboto3.docs.baser   Úboto3.docs.utilsr   r   r	   r4   r   r   r   r   Ú<module>   s   7ù