U `g@sxddlZddlZddlmZddlmZddlmZddl m Z ddl m Z ddl mZddl mZGd d d eZdS) N)DataNotFoundError)ServiceDocumenter)DocumentStructure)ServiceContext)Boto3ClientDocumenter)ResourceDocumenter)ServiceResourceDocumentercsdeZdZejejejdZ fddZ ddZ ddZ dd Z d d Zd d ZddZZS)rexamplescshtt|j||jd||_|j||_d|_|j|j krN|j ||_dddddddd g|_ dS) N) service_namesessiontitletable-of-contentsclient paginatorswaitersservice-resource resourcesr ) superr__init___session_boto3_sessionr_client_service_resource _service_nameZget_available_resourcesresourcesections)selfr r  __class__6/tmp/pip-unpacked-wheel-s_kiu9we/boto3/docs/service.pyrs$ zServiceDocumenter.__init__cCst|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_namestargetr 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||dSN)Z get_examplesrrrrZdocument_client)rsectionr rrr r#Js zServiceDocumenter.client_apicCst|j|j|dSr()rrrdocument_resource)rr)rrr r$Ss z,ServiceDocumenter._document_service_resourcec Csd}|jd}||jd}|jjjjj}|dD]}|d|}|jj j ||t |j|d|ddd}|jj j } g} | D]} | |q||| d|ji} t| |j|| jj jq4dS)NZfooZ data_loaderz resources-1r)r Zresource_json_definitions service_modelZservice_waiter_model) resource_nameZsingle_resource_json_definitionZservice_contextr)rZ get_componentZload_service_modelrrmetarr+rZresource_factoryZload_from_definitionrresource_model identifiersappendrrr*Zadd_new_sectionname) rr)Ztemp_identifier_valueloaderZjson_resource_modelr+r,r.Z resource_clsr/args_rrrr r%Xs@     z%ServiceDocumenter._document_resourcescCstjtj|j|jdS)Nz.rst)ospathrealpathjoin EXAMPLE_PATHr)rrrr _get_example_fileus  z#ServiceDocumenter._get_example_filec Csp|}tj|rl|jd|j|d|j|jt|d}|| W5QRXdS)NZExamplesz'.. contents:: :local: :depth: 1r) r:r5r6isfilestyleh2new_linewriteopenread)rr)Z examples_filefrrr r&zs       z$ServiceDocumenter._document_examples)__name__ __module__ __qualname__r5r6r8dirnameboto3__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