HEX
Server: LiteSpeed
System: Linux server.nevid-deploma.com 4.18.0-553.111.1.lve.el8.x86_64 #1 SMP Fri Mar 13 13:42:17 UTC 2026 x86_64
User: smilepac (1037)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //opt/cppython/lib/python3.8/site-packages/botocore/docs/__pycache__/shape.cpython-38.pyc
U

KD�gN�@sddlmZGdd�d�ZdS)�)�is_json_value_headerc@s<eZdZdZddd�Zddd�Zdd	�Zd
d�Zdd
�ZdS)�ShapeDocumenter�NcCs.||_||_||_||_|dkr*dii|_dS)N�special_shape_types)�
_service_name�_operation_name�_event_emitter�_context)�self�service_nameZoperation_nameZ
event_emitter�context�r
�@/opt/cppython/lib/python3.8/site-packages/botocore/docs/shape.py�__init__szShapeDocumenter.__init__Fc
Cs|j}t|di��d�rd}|j|kr8|j|||d�n�|�|j�t|�dk}	t|d�rd|jrdd}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.
        Z
serializationZeventstreamZevent_stream)�name��is_document_typeZdocumentZdocument_shape_type_)�historyr�include�exclude�is_top_level_param�is_requiredzdocs.�.)�section�z.complete-sectionN)�	type_name�getattr�getrZdocument_recursive_shape�append�len�hasattrrZdocument_shape_defaultr�emit�
EVENT_NAMErr�pop)r
r�shaperrrrrZ
param_typerZat_overlying_method_sectionr
r
r�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_headerZstreaming_input_shapeZstreaming_output_shapeZeventstream_output_shape��_get_value_for_special_type)r
r$Zspecial_defaultsr
r
r�_get_special_py_defaulths�z'ShapeDocumenter._get_special_py_defaultcCsdddddd�}|�||�S)Nz:ref:`document<document>`zJSON serializablez"bytes or seekable file-like objectz:class:`.StreamingBody`z:class:`.EventStream`r&r))r
r$Zspecial_type_namesr
r
r�_get_special_py_type_namers�z)ShapeDocumenter._get_special_py_type_namecCs`t|�r|dSt|d�r(|jr(|dS|jd��D]$\}}||kr6||kr6||Sq6dS)Nr(rr'r)rr rr	�items)r
r$Zspecial_type_mapZspecial_typeZmarked_shaper
r
rr*|s�z+ShapeDocumenter._get_value_for_special_type)N)NNNF)	�__name__�
__module__�__qualname__r"rr%r+r,r*r
r
r
rrs�
�
E

rN)Zbotocore.utilsrrr
r
r
r�<module>s