B Üç[*ã@sxddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZddl mZGd d „d eƒZdS) éN)ÚDataNotFoundError)ÚServiceDocumenter)ÚDocumentStructure)ÚServiceContext)ÚBoto3ClientDocumenter)ÚResourceDocumenter)ÚServiceResourceDocumenterc@s\eZdZej ej ej¡d¡Z dd„Z dd„Z dd„Z dd „Z d d „Zd d „Zdd„ZdS)rÚexamplescCs`||_||_|j|_|j |¡|_d|_|j|j ¡krF|j |¡|_ddddddddg|_dS) NÚtitleztable-of-contentsÚclientÚ paginatorsÚwaiterszservice-resourceÚ resourcesr ) Ú _service_nameÚ_boto3_sessionÚ_sessionr Ú_clientÚ_service_resourceÚget_available_resourcesÚresourceÚsections)ÚselfÚ service_nameÚsession©rúS/Users/kashii/Desktop/Projects/Workshops/worker-safety/lambda/boto3/docs/service.pyÚ__init__szServiceDocumenter.__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)Ú section_namesÚtargetr ztable-of-contentsr r r zservice-resourcerr )rrrr Ú get_sectionÚtable_of_contentsÚ client_apiÚ paginator_apiÚ waiter_apirÚ_document_service_resourceÚ_document_resourcesÚ_document_examplesÚflush_structure)rÚ doc_structurerrrÚdocument_service3s z"ServiceDocumenter.document_servicecCs@d}y| |j¡}Wntk r(YnXt|j|ƒ |¡dS)N)Ú get_examplesrrrrÚdocument_client)rÚsectionr rrrr"Hs zServiceDocumenter.client_apicCst|j|jƒ |¡dS)N)rrrÚdocument_resource)rr-rrrr%Qs 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)NÚfooÚ data_loaderz resources-1r)rÚresource_json_definitionsÚ service_modelÚservice_waiter_model)Ú resource_nameÚsingle_resource_json_definitionÚservice_contextr )rÚ get_componentÚload_service_modelrrÚmetar r2rÚresource_factoryÚload_from_definitionrÚresource_modelÚ identifiersÚappendrrr.Úadd_new_sectionÚname) rr-Ztemp_identifier_valueÚloaderZjson_resource_modelr2r4r<Ú resource_clsr=ÚargsÚ_rrrrr&Vs0       z%ServiceDocumenter._document_resourcescCstj tj |j|jd¡¡S)Nz.rst)ÚosÚpathÚrealpathÚjoinÚ EXAMPLE_PATHr)rrrrÚ_get_example_filess z#ServiceDocumenter._get_example_filec Csp| ¡}tj |¡rl|j d¡|j ¡| d¡|j ¡|j ¡t|dƒ}| |  ¡¡WdQRXdS)NÚExamplesz'.. contents:: :local: :depth: 1Úr) rJrErFÚisfileÚstyleÚh2Únew_lineÚwriteÚopenÚread)rr-Z examples_fileÚfrrrr'xs       z$ServiceDocumenter._document_examplesN)Ú__name__Ú __module__Ú __qualname__rErFrHÚdirnameÚboto3Ú__file__rIrr*r"r%r&rJr'rrrrrs r)rErYÚbotocore.exceptionsrÚbotocore.docs.servicerZBaseServiceDocumenterÚbotocore.docs.bcdoc.restdocrÚ boto3.utilsrZboto3.docs.clientrZboto3.docs.resourcerrrrrrÚ s