File: //usr/lib/python3.6/site-packages/botocore/docs/__pycache__/service.cpython-36.pyc
3
�T_� � @ sh d dl mZ d dlmZ d dlmZ d dlmZ d dlmZ d dl m
Z
d dlmZ G dd � d e
�Zd
S )� )�DataNotFoundError)�get_official_service_name)�ClientDocumenter)�ClientExceptionsDocumenter)�WaiterDocumenter)�PaginatorDocumenter)�DocumentStructurec @ sV e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dd� Z
ddd�ZdS )�ServiceDocumenterc C sD || _ || _| j j|dddd�| _| jjj| _ddddd d
g| _d S )Nz us-east-1ZfooZbar)Zregion_nameZaws_access_key_idZaws_secret_access_key�titleztable-of-contentsz
client-apizclient-exceptionsz
paginator-apiz
waiter-api)�_session�
_service_nameZ
create_client�_client�metaZevents�_event_emitter�sections)�self�service_nameZsession� r �/usr/lib/python3.6/service.py�__init__ s
zServiceDocumenter.__init__c C sz t | j| jdd�}| j|jd�� | j|jd�� | j|jd�� | j|jd�� | j|jd�� | j |jd�� |j
� S ) ziDocuments an entire service.
:returns: The reStructured text of the documented service.
Zhtml)Z
section_names�targetr
ztable-of-contentsz
client-apizclient-exceptionsz
paginator-apiz
waiter-api)r r r r
Zget_section�table_of_contents�
client_api�client_exceptions�
paginator_api�
waiter_apiZflush_structure)r Z
doc_structurer r r �document_service) s z"ServiceDocumenter.document_servicec C s0 |j j| jjj� | jjdd| jf |d� d S )Nz
docs.%s.%sr
)�section)�styleZh1r
� __class__�__name__r �emitr )r r r r r r
9 s
zServiceDocumenter.titlec C s |j jddd� d S )NzTable of Contents� )r
�depth)r r )r r r r r r A s z#ServiceDocumenter.table_of_contentsc C s@ d }y| j | j�}W n tk
r( Y nX t| j|�j|� d S )N)�get_examplesr r r r
Zdocument_client)r r �examplesr r r r D s zServiceDocumenter.client_apic C s t | j�j|� d S )N)r r
Zdocument_exceptions)r r r r r r M s z#ServiceDocumenter.client_exceptionsc C sB y| j j| j�}W n tk
r& d S X t| j|�}|j|� d S )N)r Zget_paginator_modelr r r r
Zdocument_paginators)r r Zservice_paginator_modelZpaginator_documenterr r r r P s
zServiceDocumenter.paginator_apic C s0 | j jr,| jj| j�}t| j |�}|j|� d S )N)r
Zwaiter_namesr Zget_waiter_modelr r Zdocument_waiters)r r Zservice_waiter_modelZwaiter_documenterr r r r Z s
zServiceDocumenter.waiter_apiNc C s"