§
    9xÅjƒ  ã                   óz   — 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  G d„ d	¦  «        Z	 dd„ZdS )é    N)Ú
xform_name)ÚOrderedDict)ÚDocumentStructure)Údocument_model_driven_method)ÚDocumentedShape)Úget_service_module_namec                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )ÚWaiterDocumenterc                 ó    — || _         | j         j        j        | _        | j         j        j        j        | _        || _        || _	        d| _
        d S )NzChttps://docs.aws.amazon.com/boto3/latest/guide/clients.html#waiters)Ú_clientÚ	__class__Ú__name__Ú_client_class_nameÚmetaÚservice_modelÚservice_nameÚ_service_nameÚ_service_waiter_modelÚ_root_docs_pathÚ_USER_GUIDE_LINK)ÚselfÚclientÚservice_waiter_modelÚroot_docs_paths       úEC:\Projects\Historical\venv\Lib\site-packages\botocore/docs/waiter.pyÚ__init__zWaiterDocumenter.__init__   sO   € ØˆŒØ"&¤,Ô"8Ô"AˆÔØ!œ\Ô.Ô<ÔIˆÔØ%9ˆÔ"Ø-ˆÔð6ð 	ÔÐÐó    c                 ó(  — |j                              d¦  «         |                      |¦  «         |j                              ¦   «          |                     d¦  «         |j                              ¦   «          | j        j        D ]Ž}|j                              | j	        › d|› �¦  «         t          |d¬¦  «        }|                      ||¦  «         t          j                             | j        | j	        d¦  «        }|                     ||¦  «         Œ�dS )zgDocuments the various waiters for a service.

        :param section: The section to write to.
        ÚWaiterszThe available waiters are:z/waiter/Úhtml)ÚtargetÚwaiterN)ÚstyleÚh2Ú_add_overviewÚnew_lineÚwritelnÚtoctreer   Úwaiter_namesÚtocitemr   r   Ú_add_single_waiterÚosÚpathÚjoinr   Úwrite_to_file)r   ÚsectionÚwaiter_nameÚwaiter_doc_structureÚwaiter_dir_paths        r   Údocument_waitersz!WaiterDocumenter.document_waiters#   s%  € ð
 	Œ×Ò˜Ñ#Ô#Ð#Ø×Ò˜7Ñ#Ô#Ð#ØŒ×ÒÑ Ô Ð Ø�ŠÐ4Ñ5Ô5Ð5ØŒ×ÒÑÔÐØÔ5ÔBð 	Mð 	MˆKØŒM×!Ò! TÔ%7Ð"NÐ"NÀÐ"NÐ"NÑOÔOÐOå#4Ø Fð$ñ $ô $Ð ð ×#Ò#Ð$8¸+ÑFÔFÐFõ !œgŸlšlØÔ$ dÔ&8¸(ñô ˆOð !×.Ò.¨ÀÑLÔLÐLÐLð	Mð 	Mr   c                 óÐ  — |                      d¦  «        }|j                             | j        d| j        › �¦  «         |                     d|› �¦  «         |                     |¦  «         |                      |¦  «        }|j                             | j        › d|› �¬¦  «         |j                             ¦   «          |j         	                    ¦   «          |                     dt          |¦  «        › d�¦  «         |j                             ¦   «          |j         	                    ¦   «          t          ||| j        j        j        | j        j        j        | j        ¬¦  «         d S )	NÚ
breadcrumbz../../z / Waiter / z.Waiter.)Ú
class_namezwaiter = client.get_waiter('z'))r0   r1   Úevent_emitterr   r   )Úadd_new_sectionr#   Úrefr   r   ÚwriteÚadd_title_sectionÚstart_sphinx_py_classÚstart_codeblockr&   r   Úend_codeblockÚdocument_wait_methodr   r   Úeventsr   r   )r   r0   r1   Úbreadcrumb_sectionÚwaiter_sections        r   r+   z#WaiterDocumenter._add_single_waiter;   sŠ  € Ø$×4Ò4°\ÑBÔBÐØÔ ×$Ò$ØÔ#Ð%B¨dÔ.@Ð%BÐ%Bñ	
ô 	
ð 	
ð 	× Ò Ð!=°Ð!=Ð!=Ñ>Ô>Ð>Ø×!Ò! +Ñ.Ô.Ð.Ø ×0Ò0°Ñ=Ô=ˆØÔ×2Ò2ØÔ1ÐHÐH¸;ÐHÐHð 	3ñ 	
ô 	
ð 	
ð
 	Ô×,Ò,Ñ.Ô.Ð.ØÔ×%Ò%Ñ'Ô'Ð'Ø×ÒØH­J°{Ñ,CÔ,CÐHÐHÐHñ	
ô 	
ð 	
ð 	Ô×*Ò*Ñ,Ô,Ð,ð 	Ô×%Ò%Ñ'Ô'Ð'ÝØ"Ø#Øœ,Ô+Ô2Øœ,Ô+Ô9Ø!%Ô!;ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — |j                              ¦   «          |                     d¦  «         |j                              d| j        ¬¦  «         |                     d¦  «         |j                              ¦   «          d S )NzŸWaiters are available on a client instance via the ``get_waiter`` method. For more detailed instructions and examples on the usage or waiters, see the waiters z
user guide)ÚtitleÚlinkú.)r#   r&   r;   Úexternal_linkr   )r   r0   s     r   r%   zWaiterDocumenter._add_overviewY   s‰   € ØŒ×ÒÑ Ô Ð Ø�Šðñ	
ô 	
ð 	
ð 	Œ×#Ò#ØØÔ&ð 	$ñ 	
ô 	
ð 	
ð 	�Š�cÑÔÐØŒ×ÒÑ Ô Ð Ð Ð r   N)r   Ú
__module__Ú__qualname__r   r4   r+   r%   © r   r   r
   r
      sS   € € € € € ð	
ð 	
ð 	
ðMð Mð Mð0
ð 
ð 
ð<!ð !ð !ð !ð !r   r
   Tc                 óÀ  — |                      |¦  «        }|                     |j        ¦  «        }t          ¦   «         }t	          ddd|j        › d�¬¦  «        |d<   t	          ddd|j        › d�¬¦  «        |d<   t	          dd	d
|¬¦  «        g}	dt          |¦  «        › dt          |j        ¦  «        › d|j        › d|j        › d�	}
t          | d|||
d|	d|¬¦	  «	         dS )a¾  Documents a the wait method of a waiter

    :param section: The section to write to

    :param waiter_name: The name of the waiter

    :param event_emitter: The event emitter to use to emit events

    :param service_model: The service model

    :param service_waiter_model: The waiter model associated to the service

    :param include_signature: Whether or not to include the signature.
        It is useful for generating docstrings.
    ÚDelayÚintegerzD<p>The amount of time in seconds to wait between attempts. Default: z</p>)ÚnameÚ	type_nameÚdocumentationÚMaxAttemptsz7<p>The maximum number of attempts to be made. Default: ÚWaiterConfigÚ	structurezI<p>A dictionary that provides parameters to control waiting behavior.</p>)rO   rP   rQ   ÚmemberszPolls :py:meth:`z.Client.z` every zG seconds until a successful state is reached. An error is raised after z failed checks.Úwaitzwaiter.waitF)r8   Úmethod_descriptionÚexample_prefixÚinclude_inputÚdocument_outputÚinclude_signatureN)
Ú
get_waiterÚoperation_modelÚ	operationr   r   ÚdelayÚmax_attemptsr   r   r   )r0   r1   r8   r   r   r[   Úwaiter_modelr]   Úwaiter_config_membersÚbotocore_waiter_paramsÚwait_descriptions              r   r@   r@   i   s  € ð. (×2Ò2°;Ñ?Ô?€LØ#×3Ò3°LÔ4JÑKÔK€Oå'™MœMÐå%4ØØð;Ø".Ô"4ð;ð ;ð ;ð	&ñ &ô &Ð˜'Ñ"õ ,;ØØð8Ø$Ô1ð8ð 8ð 8ð	,ñ ,ô ,Ð˜-Ñ(õ 	ØØ!ð(ð *ð	
ñ 	
ô 	
ð
Ðð	CÕ2°=ÑAÔAð 	Cð 	CÝ�lÔ,Ñ-Ô-ð	Cð 	CØ7CÔ7Ið	Cð 	Cð %Ô1ð	Cð 	Cð 	Cð õ !ØØØØ#Ø+Ø$Ø,ØØ+ð
ñ 
ô 
ð 
ð 
ð 
r   )T)r,   Úbotocorer   Úbotocore.compatr   Úbotocore.docs.bcdoc.restdocr   Úbotocore.docs.methodr   Úbotocore.docs.utilsr   Úbotocore.utilsr   r
   r@   rK   r   r   ú<module>rk      sÖ   ðð 
€	€	€	à Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø =Ð =Ð =Ð =Ð =Ð =Ø /Ð /Ð /Ð /Ð /Ð /Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2ðO!ð O!ð O!ð O!ð O!ñ O!ô O!ð O!ðp ðKð Kð Kð Kð Kð Kr   