3 ?\g@sxddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZddl mZGd d d eZdS) N)DataNotFoundError)ServiceDocumenter)DocumentStructure)ServiceContext)Boto3ClientDocumenter)ResourceDocumenter)ServiceResourceDocumentercsdeZdZejjejjejdZ fddZ ddZ ddZ dd Z d d Zd d ZddZZS)rexamplescshtt|j||jd||_|jj||_d|_|j|jj krN|jj ||_dddddddd g|_ dS) N) service_namesessiontitleztable-of-contentsclient paginatorswaiterszservice-resource resourcesr ) superr__init___session_boto3_sessionr _client_service_resource _service_nameZget_available_resourcesresourcesections)selfr r ) __class__i/private/var/folders/pf/wv4htv3x0qs2c2mp0dnn0kchsvlck3/T/pip-install-emcbgzcf/boto3/boto3/docs/service.pyrs   zServiceDocumenter.__init__cCst|j|jdd}|j|jd|j|jd|j|jd|j|jd|j|jd|j r|j |jd|j |jd |j |jd |j S) ziDocuments an entire service. :returns: The reStructured text of the documented service. html)Z section_namestargetr 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_structurerrrdocument_service5s z"ServiceDocumenter.document_servicec Cs@d}y|j|j}Wntk r(YnXt|j|j|dS)N)Z get_examplesrrrrZdocument_client)rsectionr rrrr Js zServiceDocumenter.client_apicCst|j|jj|dS)N)rrrdocument_resource)rr%rrrr!Ss z,ServiceDocumenter._document_service_resourcec Csd}|jjd}|j|jd}|jjjjj}x|dD]}|d|}|jj j ||t |j|d|ddd}|jj j } g} x| D]} | j|qW|| d|ji} t| |jj|j| jj jq6WdS)NZfooZ data_loaderz resources-1r)r Zresource_json_definitions service_modelZservice_waiter_model) resource_nameZsingle_resource_json_definitionZservice_contextr )rZ get_componentZload_service_modelrrmetar r'rZresource_factoryZload_from_definitionrresource_model identifiersappendrrr&Zadd_new_sectionname) rr%Ztemp_identifier_valueloaderZjson_resource_modelr'r(r*Z resource_clsr+args_rrrrr"Xs0       z%ServiceDocumenter._document_resourcescCstjjtjj|j|jdS)Nz.rst)ospathrealpathjoin EXAMPLE_PATHr)rrrr_get_example_fileus z#ServiceDocumenter._get_example_filec Csp|j}tjj|rl|jjd|jj|jd|jj|jjt|d}|j|j WdQRXdS)NZExamplesz'.. contents:: :local: :depth: 1r) r6r1r2isfilestyleh2new_linewriteopenread)rr%Z examples_filefrrrr#zs       z$ServiceDocumenter._document_examples)__name__ __module__ __qualname__r1r2r4dirnameboto3__file__r5rr$r r!r"r6r# __classcell__rr)rrrs  r)r1rDZbotocore.exceptionsrZbotocore.docs.servicerZBaseServiceDocumenterZbotocore.docs.bcdoc.restdocrZ boto3.utilsrZboto3.docs.clientrZboto3.docs.resourcerrrrrr s