HEX
Server: nginx/1.24.0
System: Linux webserver 6.8.0-85-generic #85-Ubuntu SMP PREEMPT_DYNAMIC Thu Sep 18 15:26:59 UTC 2025 x86_64
User: wpuser (1002)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/botocore/docs/__pycache__/utils.cpython-312.pyc
�

P��e|���ddlZddlmZd�Zd�Zd�Zedgd��ZGd�de�ZGd	�d
�ZGd�d�Z	Gd
�d�Z
dddddd�Zejdjeeje���Zd�Zd�Zy)�N)�
namedtuplec�6�dddddddd�j||�S)z�Get the Python type name for a given model type.

        >>> py_type_name('list')
        'list'
        >>> py_type_name('structure')
        'dict'

    :rtype: string
    �bytes�string�float�integer�dict�datetime)�blob�	character�double�long�map�	structure�	timestamp��get��	type_names �5/usr/lib/python3/dist-packages/botocore/docs/utils.py�py_type_namers1����������
�c�)�Y�� �c�<�ddddddddddd	�
j|d
�S)z�Get the Python default value for a given model type.

        >>> py_default('string')
        ''string''
        >>> py_default('list')
        '[...]'
        >>> py_default('unknown')
        '...'

    :rtype: string
    z123.0�123z'string'zb'bytes'z
True|Falsez[...]z{...}zdatetime(2015, 1, 1))
r
rrrr�boolean�listrrrz...rrs r�
py_defaultr&s:�����������+��
�c�)�U��rc�"�|jjd�}|jjdd�}|jd�r|dd}|jd�r|dd}|r)|j�|j�vr	|d	|�d
�z
}|S)zwGenerate the official name of an AWS Service

    :param service_model: The service model representing the service
    �serviceFullName�serviceAbbreviation��Amazon�N�AWS�z (�))�metadatar�
startswith�lower)�
service_model�
official_name�
short_names   r�get_official_service_namer-@s���
"�*�*�.�.�/@�A�M��'�'�+�+�,A�2�F�J����X�&����^�
����U�#����^�
��j�&�&�(�
�0C�0C�0E�E��2�j�\��+�+�
��r�DocumentedShape)�namer�
documentationr'�members�required_membersc�*��eZdZdZ			d�fd�	Z�xZS)r.zBUse this class to inject new shapes into a model for documentationc	�F��|�g}|�g}|�g}t�|�|||||||�S�N)�super�__new__)�clsr/rr0r'r1r2�	__class__s       �rr7zDocumentedShape.__new__`sL������H��?��G��#�!���w���������
�	
r)NNN)�__name__�
__module__�__qualname__�__doc__r7�
__classcell__)r9s@rr.r.]s���L����
�
rc��eZdZdd�Zd�Zy)�AutoPopulatedParamNc�4�||_||_|�d|_yy)Nz{Please note that this parameter is automatically populated if it is not provided. Including this parameter is not required
)r/�param_description)�selfr/rBs   r�__init__zAutoPopulatedParam.__init__{s)����	�!2����$��
�"�%rc���|jd�r�|j|jvrg|j|j�}d|jvr|j	d�|jd�}|j|j�yy|jd�rF|jd�}|j|jvr|j	|j�yyy)z�Documents auto populated parameters

        It will remove any required marks for the parameter, remove the
        parameter from the example, and add a snippet about the parameter
        being autopopulated in the description.
        zdocs.request-paramszis-required�param-documentationzdocs.request-example�structure-valueN)r(r/�available_sections�get_section�delete_section�writelnrB�rC�
event_name�section�kwargs�description_sections     r�document_auto_populated_paramz0AutoPopulatedParam.document_auto_populated_param�s���� � �!6�7��y�y�G�6�6�6�!�-�-�d�i�i�8�� �G�$>�$>�>��*�*�=�9�&-�&9�&9�)�'�#�$�+�+�D�,B�,B�C�7��
"�
"�#9�
:��)�)�*;�<�G��y�y�G�6�6�6��&�&�t�y�y�1�7�;rr5)r:r;r<rDrQ�rrr@r@zs���2rr@c��eZdZdZd�Zd�Zy)�HideParamFromOperationsa>Hides a single parameter from multiple operations.

    This method will remove a parameter from documentation and from
    examples. This method is typically used for things that are
    automatically populated because a user would be unable to provide
    a value (e.g., a checksum of a serialized XML request body).c���||_t�|_t�|_d}d}|D]B}|jj	|||fz�|jj	|||fz��Dy)a(
        :type service_name: str
        :param service_name: Name of the service to modify.

        :type parameter_name: str
        :param parameter_name: Name of the parameter to modify.

        :type operation_names: list
        :param operation_names: Operation names to modify.
        z*docs.request-params.%s.%s.complete-sectionz+docs.request-example.%s.%s.complete-sectionN)�_parameter_name�set�_params_events�_example_events�add)rC�service_name�parameter_name�operation_names�param_template�example_templater/s       rrDz HideParamFromOperations.__init__�sy�� .���!�e���"�u���E��H��#�	N�D����#�#�N�l�D�5I�$I�J�� � �$�$�%5��t�8L�%L�M�	Nrc���||jvr|jd�}n||jvry|j|jvr|j|j�yy)NrG)rYrIrXrVrHrJ)rCrMrNrOs    r�
hide_paramz"HideParamFromOperations.hide_param�s_����-�-�-��)�)�*;�<�G�
�t�2�2�
2�����7�#=�#=�=��"�"�4�#7�#7�8�>rN)r:r;r<r=rDrarRrrrTrT�s��D�N�*9rrTc��eZdZdZd�Zd�Zy)�AppendParamDocumentationz-Appends documentation to a specific parameterc� �||_||_yr5)rV�_doc_string)rCr\�
doc_strings   rrDz!AppendParamDocumentation.__init__�s��-���%��rc���|j|jvrH|j|j�}|jd�}|j|j�yy)NrF)rVrHrIrKrerLs     r�append_documentationz-AppendParamDocumentation.append_documentation�sW�����7�#=�#=�=��)�)�$�*>�*>�?�G�")�"5�"5�6K�"L���'�'��(8�(8�9�>rN)r:r;r<r=rDrhrRrrrcrc�s��7�&�:rrcz\nz\rz\tz\bz\f)�
�
�	���|c�2�t|jd�S)Nr)�	_CONTROLS�group)�matchs r�<lambda>rs�s��	�%�+�+�a�.�(A�rc�6�tjt|�Sr5)�_ESCAPE_CONTROLS_RE�sub�_CONTROLS_MATCH_HANDLER)�values r�escape_controlsry�s���"�"�#:�E�B�Br)�re�collectionsrrrr-�_DocumentedShaper.r@rTrcrp�compile�joinr�escaperurwryrRrr�<module>r�s���
�"� �*�4
� ���
��
�&�
�:2�2�B$9�$9�N:�:��
�
�
�
�
�	�!�b�j�j����#�b�i�i��*C�!D�E��A��Cr