
    /Jf~                     d    d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ  G d d          ZdS )	    )DocumentStructure)ClientContextParamsDocumenterClientDocumenterClientExceptionsDocumenter)PaginatorDocumenter)WaiterDocumenter)DataNotFoundErrorc                   L    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
dd
Zd Zd	S )ServiceDocumenterc                     || _         || _        || _        | j                             |ddd          | _        | j        j        j        | _        g d| _        d S )Nz	us-east-1foobar)region_nameaws_access_key_idaws_secret_access_key)title
client-apiclient-exceptionspaginator-api
waiter-apiclient-context-params)	_session_service_name_root_docs_pathcreate_client_clientmetaevents_event_emittersections)selfservice_namesessionroot_docs_paths       X/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/botocore/docs/service.py__init__zServiceDocumenter.__init__   sl    )-}22##"'	 3 
 
 #l/6
 
 
    c                 F   t          | j        | j        d          }|                     |                    d                     |                     |                    d                     |                     |                    d                     |                     |                    d                     |                     |                    d                     |                    d          }| 	                    |           |
                                S )	ziDocuments an entire service.

        :returns: The reStructured text of the documented service.
        html)section_namestargetr   r   r   r   r   r   )r   r   r    r   get_section
client_apiclient_exceptionspaginator_api
waiter_apiclient_context_paramsflush_structure)r!   doc_structurecontext_params_sections      r%   document_servicez"ServiceDocumenter.document_service/   s   
 *dmF
 
 
 	

=,,W5566611,??@@@}889LMMNNN=44_EEFFF11,??@@@!.!:!:#"
 "
 	""#9:::,,...r'   c                     |j                             | j        j        j                   | j                            d| j         |           d S )Nzdocs.title.)section)styleh1r   	__class____name__r   emitr   r!   r7   s     r%   r   zServiceDocumenter.titleB   sZ    /8999  .$,.. 	! 	
 	
 	
 	
 	
r'   c                 >    |j                             dd           d S )NzTable of Contents   )r   depth)r8   table_of_contentsr=   s     r%   rA   z#ServiceDocumenter.table_of_contentsH   s$    ''.A'KKKKKr'   c                     d }	 |                      | j                  }n# t          $ r Y nw xY wt          | j        | j        |                              |           d S N)get_examplesr   r	   r   r   r   document_client)r!   r7   exampless      r%   r-   zServiceDocumenter.client_apiK   su    	(();<<HH  	 	 	D	 	L$.	
 	

/'
"
"
"
"
"s    
,,c                 `    t          | j        | j                                      |           d S rC   )r   r   r   document_exceptionsr=   s     r%   r.   z#ServiceDocumenter.client_exceptionsV   s0    "L$.	
 	


g
&
&
&
&
&r'   c                     	 | j                             | j                  }n# t          $ r Y d S w xY w|j        r2t          | j        || j                  }|                    |           d S d S rC   )	r   get_paginator_modelr   r	   _paginator_configr   r   r   document_paginators)r!   r7   service_paginator_modelpaginator_documenters       r%   r/   zServiceDocumenter.paginator_api[   s    	&*m&G&G"' '## ! 	 	 	FF	"4 	>#65t7K$ $  !44W=====		> 	>s   " 
00c                     | j         j        rQ| j                            | j                  }t          | j         || j                  }|                    |           d S d S rC   )r   waiter_namesr   get_waiter_modelr   r   r   document_waiters)r!   r7   service_waiter_modelwaiter_documenters       r%   r0   zServiceDocumenter.waiter_apih   sr    <$ 	8#'=#A#A"$ $  !12D4H! ! ..w77777	8 	8r'   Nc                 t    | j                             d          }|                    |d|          }|d         S )Ndata_loaderz
examples-1rF   )r   get_componentload_service_model)r!   r"   api_versionloaderrF   s        r%   rD   zServiceDocumenter.get_examplesr   s@    ,,];;,,,
 
 
##r'   c                     t           j        }|                    | j        g           | j        j        j        }|j        }fd|D             }|r,t          | j        |          }|                    |           d S d S )Nc                 &    g | ]}|j         v|S  )name).0pparams_to_omits     r%   
<listcomp>z;ServiceDocumenter.client_context_params.<locals>.<listcomp>~   s,     
 
 
QV>-I-IA-I-I-Ir'   )	r   OMITTED_CONTEXT_PARAMSgetr   r   r   service_modelclient_context_parametersdocument_context_params)r!   r7   omitted_paramsre   raw_context_paramscontext_paramscontext_param_documenterra   s          @r%   r1   z'ServiceDocumenter.client_context_paramsy   s    6M'++D,>CC)7*D
 
 
 
)
 
 
  	F'D"N( ($ %<<WEEEEE		F 	Fr'   rC   )r;   
__module____qualname__r&   r5   r   rA   r-   r.   r/   r0   rD   r1   r]   r'   r%   r   r      s        
 
 
,/ / /&
 
 
L L L	# 	# 	#' ' '
> > >8 8 8$ $ $ $F F F F Fr'   r   N)botocore.docs.bcdoc.restdocr   botocore.docs.clientr   r   r   botocore.docs.paginatorr   botocore.docs.waiterr   botocore.exceptionsr	   r   r]   r'   r%   <module>rs      s    : 9 9 9 9 9         
 8 7 7 7 7 7 1 1 1 1 1 1 1 1 1 1 1 1mF mF mF mF mF mF mF mF mF mFr'   