HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/botocore/docs/__pycache__/shape.cpython-310.pyc
o

.&�a��@s ddlmZGdd�de�ZdS)�)�is_json_value_headerc@sBeZdZdZ	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�5/usr/lib/python3/dist-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	�|	rY|j
jd
|j|j
|j|f|d�t|�dk}
|
rq|j
jd
|j|j
|jf|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�documentzdocument_shape_type_%s)�historyr�include�exclude�is_top_level_param�is_requiredzdocs.%s.%s.%s.%s)�section�zdocs.%s.%s.%s.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$sH

������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_default]��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/r5)r
r+�special_type_namesrrr�_get_special_py_type_namegr9z)ShapeDocumenter._get_special_py_type_namecCs`t|�r|dSt|d�r|jr|dS|jd��D]\}}||vr-||kr-||SqdS)Nr1rr0r)rr&rr	�items)r
r+�special_type_map�special_type�marked_shaperrrr6qs�
��z+ShapeDocumenter._get_value_for_special_type)N)NNNF)	�__name__�
__module__�__qualname__r)rr.r8r;r6rrrrrs
�
�9

rN)�botocore.utilsr�objectrrrrr�<module>s