o
    é’Oj†  ã                   @   sp   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ G dd„ deƒZ		dd
d„ZdS )é    N)Ú
xform_name)ÚDocumentStructure)Úget_service_module_name)ÚNestedDocumenter)Úadd_resource_type_overviewÚ!get_identifier_args_for_signatureÚget_identifier_descriptionÚ!get_identifier_values_for_examplec                   @   s   e Zd Zdd„ ZdS )ÚSubResourceDocumenterc           	      C   sî   t |dddd� t| jjjjdd„ d�}g }|| jd< |D ]W}| |j¡ t	|jd	d
�}| 
d¡}|j | jd¡ | d|j› �¡ | |j¡ |j
|jd| j› d�id�}t|| j|| jd� tj | j| j› | j› ¡}| ||j¡ qd S )NzSub-resourcesz„Sub-resources are methods that create a new instance of a child resource. This resource's identifiers get passed along to the child.Úsubresources_intro)ÚsectionÚresource_typeÚdescriptionÚ
intro_linkc                 S   s   | j S )N)Úname)Úsub_resource© r   ú\/var/www/html/pharmsmart-cdr-gen/venv/lib/python3.10/site-packages/boto3/docs/subresource.pyÚ<lambda>*   s    z>SubResourceDocumenter.document_sub_resources.<locals>.<lambda>)Úkeyzsub-resourcesÚhtml)ÚtargetÚ
breadcrumbÚindexz / Sub-Resource / Ú	qualifierÚ.)Úcontext)r   Úresource_nameÚsub_resource_modelÚservice_model)r   ÚsortedÚ	_resourceÚmetaÚresource_modelÚsubresourcesÚ
member_mapÚappendr   r   Úadd_new_sectionÚstyleÚrefÚ_resource_class_nameÚwriteÚadd_title_sectionÚ
class_nameÚdocument_sub_resourceÚ_resource_nameÚ_service_modelÚosÚpathÚjoinÚ_root_docs_pathÚ_service_nameÚ_resource_sub_pathÚwrite_to_file)	Úselfr   Úsub_resourcesÚsub_resources_listr   Úsub_resource_docÚbreadcrumb_sectionÚsub_resource_sectionÚsub_resources_dir_pathr   r   r   Údocument_sub_resources   sP   ø

þ
ÿ
þü	ýÿäz,SubResourceDocumenter.document_sub_resourcesN)Ú__name__Ú
__module__Ú__qualname__r?   r   r   r   r   r
      s    r
   Tc                 C   s¬  g }|j jD ]}|jdkr| t|jƒ¡ q|r/t|ƒ}| j dd¡› |j	› �}| j
 ||¡ |  d¡}	d|j j› d�}
|	 |
¡ |  d¡}t|ƒ}t|ƒ}|j|krU|}t|j jƒ› d|› d	|j	› d
|› d�}|j
 ¡  | |¡ |j
 ¡  |  d¡}|D ]&}t|j	|ƒ}
| d|› d�¡ |j
 ¡  | d|› d|
› �¡ |j
 ¡  q~|  d¡}|j
 ¡  | dt|ƒ› d	|j j› d�¡ |j
 ¡  | d|j j› d�¡ |j
 ¡  dS )aj  Documents a resource action

    :param section: The section to write to

    :param resource_name: The name of the resource

    :param sub_resource_model: The model of the subresource

    :param service_model: The model of the service

    :param include_signature: Whether or not to include the signature.
        It is useful for generating docstrings.
    Úinputr   Ú zmethod-introz
Creates a z
 resource.Úexamplez = r   ú(ú)Úparamsz:type z: stringz:param z: Úreturnz:rtype: :py:class:`ú`z:returns: A z	 resourceN)ÚresourceÚidentifiersÚsourcer&   r   r   r   r   Úgetr   r(   Ústart_sphinx_py_methodr'   ÚtypeÚinclude_doc_stringr	   Úservice_nameÚstart_codeblockr+   Úend_codeblockr   Únew_liner   )r   r   r   r   Úinclude_signatureÚidentifiers_neededÚ
identifierÚsignature_argsÚfull_sub_resource_nameÚmethod_intro_sectionr   Úexample_sectionÚexample_valuesÚexample_resource_namerE   Úparam_sectionÚreturn_sectionr   r   r   r.   O   sV   
€ÿÿ



&



ÿ


ÿ
ÿr.   )T)r1   Úbotocorer   Úbotocore.docs.bcdoc.restdocr   Úbotocore.utilsr   Úboto3.docs.baser   Úboto3.docs.utilsr   r   r   r	   r
   r.   r   r   r   r   Ú<module>   s   8û