HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/CyberCP/lib64/python3.10/site-packages/botocore/docs/__pycache__/shape.cpython-310.pyc
o

�hN�@sddlmZGdd�d�ZdS)�)�is_json_value_headerc@sFeZdZdZ	ddd�Z				ddd�Zdd	�Zd
d�Zdd
�ZdS)�ShapeDocumenter�NcCs2||_||_||_||_|durdii|_dSdS)N�special_shape_types)�
_service_name�_operation_name�_event_emitter�_context)�self�service_name�operation_name�
event_emitter�context�r�F/usr/local/CyberCP/lib/python3.10/site-packages/botocore/docs/shape.py�__init__s�zShapeDocumenter.__init__Fc
Cs|j}t|di��d�rd}|j|vr|j|||d�dS|�|j�t|�dk}	t|d�r3|jr3d}t|d|��|j	�|||||||	|d	�|	r`|j
jd
|j�d|j
�d|j�d|��|d�t|�d
k}
|
r}|j
jd
|j�d|j
�d|j�d�|d�|��dS)a�Traverses and documents a shape

        Will take a self class and call its appropriate methods as a shape
        is traversed.

        :param section: The section to document.

        :param history: A list of the names of the shapes that have been
            traversed.

        :type include: Dictionary where keys are parameter names and
            values are the shapes of the parameter names.
        :param include: The parameter shapes to include in the documentation.

        :type exclude: List of the names of the parameters to exclude.
        :param exclude: The names of the parameters to exclude from
            documentation.

        :param name: The name of the shape.

        :param is_required: If the shape is a required member.
        �
serialization�eventstream�event_stream)�name��is_document_type�document�document_shape_type_)�historyr�include�exclude�is_top_level_param�is_requiredzdocs.�.)�section�z.complete-sectionN)�	type_name�getattr�getr�document_recursive_shape�append�len�hasattrr�document_shape_defaultr�emit�
EVENT_NAMErr�pop)r
r �shaperrrrr�
param_typer�at_overlying_method_sectionrrr�traverse_and_document_shape#sF 
�� ��z+ShapeDocumenter.traverse_and_document_shapecCsdddddd�}|�||�S)Nz({...}|[...]|123|123.4|'string'|True|Nonez
b'bytes'|filezStreamingBody()z
EventStream()��
document_type�jsonvalue_header�streaming_input_shape�streaming_output_shape�eventstream_output_shape��_get_value_for_special_type)r
r-�special_defaultsrrr�_get_special_py_defaulth��z'ShapeDocumenter._get_special_py_defaultcCsdddddd�}|�||�S)Nz:ref:`document<document>`zJSON serializablez"bytes or seekable file-like objectz:class:`.StreamingBody`z:class:`.EventStream`r1r7)r
r-�special_type_namesrrr�_get_special_py_type_namerr;z)ShapeDocumenter._get_special_py_type_namecCs`t|�r|dSt|d�r|jr|dS|jd��D]\}}||vr-||kr-||SqdS)Nr3rr2r)rr(rr	�items)r
r-�special_type_map�special_type�marked_shaperrrr8|s�
��z+ShapeDocumenter._get_value_for_special_type)N)NNNF)	�__name__�
__module__�__qualname__r+rr0r:r=r8rrrrrs
�
�E

rN)�botocore.utilsrrrrrr�<module>s