B -<`gã@sxddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZddl mZGd d „d eƒZdS) éN)ÚDataNotFoundError)ÚServiceDocumenter)ÚDocumentStructure)ÚServiceContext)ÚBoto3ClientDocumenter)ÚResourceDocumenter)ÚServiceResourceDocumentercsdeZdZej ej ej¡d¡Z ‡fdd„Z dd„Z dd„Z dd „Z d d „Zd d „Zdd„Z‡ZS)rÚexamplescshtt|ƒj||jd||_|j |¡|_d|_|j|j  ¡krN|j  |¡|_dddddddd g|_ dS) N)Ú service_nameÚsessionÚtitleztable-of-contentsÚclientÚ paginatorsÚwaiterszservice-resourceÚ resourcesr ) ÚsuperrÚ__init__Ú_sessionÚ_boto3_sessionr Ú_clientÚ_service_resourceÚ _service_nameZget_available_resourcesÚresourceÚsections)Úselfr r )Ú __class__©ú9/tmp/pip-target-7cdyy134/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_service5s 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"Xs0       z%ServiceDocumenter._document_resourcescCstj tj |j|jd¡¡S)Nz.rst)ÚosÚpathÚrealpathÚjoinÚ EXAMPLE_PATHr)rrrrÚ_get_example_fileus z#ServiceDocumenter._get_example_filec Csp| ¡}tj |¡rl|j d¡|j ¡| d¡|j ¡|j ¡t|dƒ}| |  ¡¡WdQRXdS)NZExamplesz'.. contents:: :local: :depth: 1Úr) r6r1r2ÚisfileÚstyleÚh2Únew_lineÚwriteÚopenÚread)rr%Z examples_fileÚfrrrr#zs       z$ServiceDocumenter._document_examples)Ú__name__Ú __module__Ú __qualname__r1r2r4ÚdirnameÚboto3Ú__file__r5rr$r r!r"r6r#Ú __classcell__rr)rrrs  r)r1rDZbotocore.exceptionsrZbotocore.docs.servicerZBaseServiceDocumenterZbotocore.docs.bcdoc.restdocrZ boto3.utilsrZboto3.docs.clientrZboto3.docs.resourcerrrrrrÚ s