B 劇cJã@spddlZddlmZddlmZddlmZddlZddl m Z ddl m Z m Z ddlmZGdd „d eƒZdS) éN)ÚDocumentStructure)ÚServiceDocumenter)ÚDataNotFoundError)ÚBoto3ClientDocumenter)ÚResourceDocumenterÚServiceResourceDocumenter)ÚServiceContextcsdeZdZej ej ej¡d¡Z ‡fdd„Z dd„Z dd„Z dd „Z d d „Zd d „Zdd„Z‡ZS)rÚexamplescsdtƒj||jd||_|j |¡|_d|_|j|j ¡krJ|j  |¡|_dddddddd g|_ dS) N)Ú service_nameÚsessionÚtitleztable-of-contentsÚclientÚ paginatorsÚwaiterszservice-resourceÚ resourcesr ) ÚsuperÚ__init__Ú_sessionÚ_boto3_sessionr Ú_clientÚ_service_resourceÚ _service_nameZget_available_resourcesÚresourceÚsections)Úselfr r )Ú __class__©úm/private/var/folders/8c/hx9_v10d5x38qmnzt13b7b8j1k3n5b/T/pip-target-x6xd5gna/lib/python/boto3/docs/service.pyrs  zServiceDocumenter.__init__cCs t|j|jdd}| | d¡¡| | d¡¡| | d¡¡| | d¡¡| | d¡¡|j rˆ|  | d¡¡|  | d ¡¡|  | d ¡¡|  ¡S) ziDocuments an entire service. :returns: The reStructured text of the documented service. Úhtml)Z section_namesÚtargetr ztable-of-contentsr rrzservice-resourcerr )rrrr Z get_sectionZtable_of_contentsÚ client_apiZ paginator_apiZ waiter_apirÚ_document_service_resourceÚ_document_resourcesÚ_document_examplesZflush_structure)rZ doc_structurerrrÚdocument_service4s z"ServiceDocumenter.document_servicecCs@d}y| |j¡}Wntk r(YnXt|j|ƒ |¡dS)N)Z get_examplesrrrrZdocument_client)rÚsectionr rrrr Js zServiceDocumenter.client_apicCst|j|jƒ |¡dS)N)rrrÚdocument_resource)rr%rrrr!Ss z,ServiceDocumenter._document_service_resourcec CsÈd}|j d¡}| |jd¡}|jjjjj}x–|dD]Š}|d|}|jj j ||t |j|d|ddd}|jj j } g} x| D]} |  |¡q€W|| d|jiŽ} t| |jƒ | | jj j¡¡q6WdS)NZfooZ data_loaderz resources-1r)r Zresource_json_definitionsÚ service_modelZservice_waiter_model)Ú resource_nameZsingle_resource_json_definitionZservice_contextr )rZ get_componentZload_service_modelrrÚmetar r'rZresource_factoryZload_from_definitionrÚresource_modelÚ identifiersÚappendrrr&Zadd_new_sectionÚname) rr%Ztemp_identifier_valueÚloaderZjson_resource_modelr'r(r*Z resource_clsr+ÚargsÚ_rrrrr"Xs.       z%ServiceDocumenter._document_resourcescCstj tj |j|jd¡¡S)Nz.rst)ÚosÚpathÚrealpathÚjoinÚ EXAMPLE_PATHr)rrrrÚ_get_example_filexsz#ServiceDocumenter._get_example_filec Csn| ¡}tj |¡rj|j d¡|j ¡| d¡|j ¡|j ¡t|ƒ}| |  ¡¡WdQRXdS)NZExamplesz'.. contents:: :local: :depth: 1) r6r1r2ÚisfileÚstyleZh2Únew_lineÚwriteÚopenÚread)rr%Z examples_fileÚfrrrr#}s       z$ServiceDocumenter._document_examples)Ú__name__Ú __module__Ú __qualname__r1r2r4ÚdirnameÚboto3Ú__file__r5rr$r r!r"r6r#Ú __classcell__rr)rrrs   r)r1Zbotocore.docs.bcdoc.restdocrZbotocore.docs.servicerZBaseServiceDocumenterZbotocore.exceptionsrrBZboto3.docs.clientrZboto3.docs.resourcerrZ boto3.utilsrrrrrÚ s