a
    ݌xd                     @   sR   d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 G dd dZdS )	    )DocumentStructure)ClientDocumenterClientExceptionsDocumenter)PaginatorDocumenter)WaiterDocumenter)DataNotFoundErrorc                   @   sV   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dddZdS )ServiceDocumenterc                 C   sB   || _ || _|| _| j j|dddd| _| jjj| _g d| _d S )Nz	us-east-1Zfoobar)Zregion_nameZaws_access_key_idZaws_secret_access_key)title
client-apiclient-exceptionspaginator-api
waiter-api)	_session_service_name_root_docs_pathZcreate_client_clientmetaevents_event_emittersections)selfservice_namesessionZroot_docs_path r   M/var/www/html/Ranjet/env/lib/python3.9/site-packages/botocore/docs/service.py__init__   s    zServiceDocumenter.__init__c                 C   sj   t | j| jdd}| |d | |d | |d | |d | |d |	 S )ziDocuments an entire service.

        :returns: The reStructured text of the documented service.
        html)Zsection_namestargetr
   r   r   r   r   )
r   r   r   r
   Zget_section
client_apiclient_exceptionspaginator_api
waiter_apiZflush_structure)r   Zdoc_structurer   r   r   document_service*   s    
z"ServiceDocumenter.document_servicec                 C   s.   |j | jjj | jjd| j |d d S )Nzdocs.title.)section)styleZh1r   	__class____name__r   emitr   r   r$   r   r   r   r
   9   s    zServiceDocumenter.titlec                 C   s   |j jddd d S )NzTable of Contents   )r
   depth)r%   table_of_contentsr)   r   r   r   r,   ?   s    z#ServiceDocumenter.table_of_contentsc                 C   sB   d }z|  | j}W n ty&   Y n0 t| j| j|| d S N)get_examplesr   r   r   r   r   Zdocument_client)r   r$   examplesr   r   r   r   B   s    
zServiceDocumenter.client_apic                 C   s   t | j| j| d S r-   )r   r   r   Zdocument_exceptionsr)   r   r   r   r    M   s
    z#ServiceDocumenter.client_exceptionsc                 C   sL   z| j | j}W n ty&   Y d S 0 |jrHt| j|| j}|| d S r-   )	r   Zget_paginator_modelr   r   Z_paginator_configr   r   r   Zdocument_paginators)r   r$   Zservice_paginator_modelZpaginator_documenterr   r   r   r!   R   s    
zServiceDocumenter.paginator_apic                 C   s4   | j jr0| j| j}t| j || j}|| d S r-   )r   Zwaiter_namesr   Zget_waiter_modelr   r   r   Zdocument_waiters)r   r$   Zservice_waiter_modelZwaiter_documenterr   r   r   r"   _   s    
zServiceDocumenter.waiter_apiNc                 C   s"   | j d}||d|}|d S )NZdata_loaderz
examples-1r/   )r   Zget_componentZload_service_model)r   r   api_versionloaderr/   r   r   r   r.   i   s
    zServiceDocumenter.get_examples)N)r'   
__module____qualname__r   r#   r
   r,   r   r    r!   r"   r.   r   r   r   r   r      s   
r   N)Zbotocore.docs.bcdoc.restdocr   Zbotocore.docs.clientr   r   Zbotocore.docs.paginatorr   Zbotocore.docs.waiterr   Zbotocore.exceptionsr   r   r   r   r   r   <module>   s
   