U k‰^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Útitleútable-of-contentsÚclientÚ paginatorsÚwaitersúservice-resourceÚ resourcesr ) ÚsuperrÚ__init__Ú_sessionÚ_boto3_sessionrÚ_clientÚ_service_resourceÚ _service_nameZget_available_resourcesÚresourceÚsections)Úselfr r ©Ú __class__©úi/private/var/folders/sd/whlwsn6x1_qgglc0mjv25_695qk2gl/T/pip-install-4zq3fp6i/boto3/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 r rrrrrr )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}z| |j¡}Wntk r(YnXt|j|ƒ |¡dS©N)Z get_examplesrrrrZdocument_client)rÚsectionr rrr r#Js zServiceDocumenter.client_apicCst|j|jƒ |¡dSr()rrrÚdocument_resource)rr)rrr r$Ss ÿþz,ServiceDocumenter._document_service_resourcec CsÀd}|j d¡}| |jd¡}|jjjjj}|dD]†}|d|}|jj j ||t |j|d|ddd}|jj j } g} | D]} |  |¡q||| d|jiŽ} t| |jƒ | | jj j¡¡q4dS)NZfooZ data_loaderz resources-1r)r Zresource_json_definitionsÚ service_modelZservice_waiter_model)Ú resource_nameZsingle_resource_json_definitionZservice_contextr)rZ get_componentZload_service_modelrrÚmetarr+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Ú_rrrr r%Xs@ ÿ  ÿûü  ÿþ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ƒ}| |  ¡¡W5QRXdS)NZExamplesz'.. contents:: :local: :depth: 1Úr) r:r5r6ÚisfileÚstyleÚh2Únew_lineÚwriteÚopenÚread)rr)Z examples_fileÚfrrr r&zs       z$ServiceDocumenter._document_examples)Ú__name__Ú __module__Ú __qualname__r5r6r8ÚdirnameÚboto3Ú__file__r9rr'r#r$r%r:r&Ú __classcell__rrrr rs  r)r5rHZbotocore.exceptionsrZbotocore.docs.servicerZBaseServiceDocumenterZbotocore.docs.bcdoc.restdocrZ boto3.utilsrZboto3.docs.clientrZboto3.docs.resourcerrrrrr Ú s