HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/boto3/resources/__pycache__/response.cpython-37.pyc
B

�P�e�-�@sZddlZddlmZddlmZdd�Zddd�Zd	d
�ZGdd�d�ZGd
d�d�Z	dS)�N)�
xform_name�)�get_data_membercCsx|D]}|dkrdSqWdS)z�
    Return True if all elements of the iterable are not None (or if the
    iterable is empty). This is like the built-in ``all``, except checks
    against None, so 0 and False are allowable values.
    NFT�)�iterable�elementrr�I/opt/alt/python37/lib/python3.7/site-packages/boto3/resources/response.py�all_not_nones
r	c	Cs�g}x�|D]�}|j}|j}|dkr2t�|j|�}nb|dkrJt�|j|�}nJ|dkrdt|t|j��}n0|dkrzt||j�}n|dkr�q
nt	d|����|�
t|�|f�q
W|S)a�
    Builds a mapping of identifier names to values based on the
    identifier source location, type, and target. Identifier
    values may be scalars or lists depending on the source type
    and location.

    :type identifiers: list
    :param identifiers: List of :py:class:`~boto3.resources.model.Parameter`
                        definitions
    :type parent: ServiceResource
    :param parent: The resource instance to which this action is attached.
    :type params: dict
    :param params: Request parameters sent to the service.
    :type raw_response: dict
    :param raw_response: Low-level operation response.
    :rtype: list
    :return: An ordered list of ``(name, value)`` identifier tuples.
    �responseZrequestParameter�
identifier�data�inputzUnsupported source type: )�source�target�jmespath�search�path�getattrr�namer�NotImplementedError�append)	�identifiers�parent�params�raw_response�resultsrrr�valuerrr�build_identifiers s"
rcCs�d}|�|�}|j}|rpxV|�d�D]H}|�d�}|jdkrH|j|}q$|jdkrZ|j}q$td�|j|���q$W|jdkr�i}n|jdkr�g}n|jdkr�i}|S)a�
    Creates an appropriate empty response for the type that is expected,
    based on the service model's shape type. For example, a value that
    is normally a list would then return an empty list. A structure would
    return an empty dict, and a number would return None.

    :type search_path: string
    :param search_path: JMESPath expression to search in the response
    :type operation_name: string
    :param operation_name: Name of the underlying service operation.
    :type service_model: :ref:`botocore.model.ServiceModel`
    :param service_model: The Botocore service model
    :rtype: dict, list, or None
    :return: An appropriate empty value
    N�.z
[0123456789]$Z	structure�listz&Search path hits shape type {} from {}�map)	�operation_modelZoutput_shape�split�strip�	type_name�members�memberr�format)�search_path�operation_name�
service_modelr
r!�shape�itemrrr�build_empty_responseNs(






r-c@s eZdZdZdd�Zdd�ZdS)�
RawHandleraG
    A raw action response handler. This passed through the response
    dictionary, optionally after performing a JMESPath search if one
    has been defined for the action.

    :type search_path: string
    :param search_path: JMESPath expression to search in the response
    :rtype: dict
    :return: Service response
    cCs
||_dS)N)r()�selfr(rrr�__init__�szRawHandler.__init__cCs"|jr|jdkrt�|j|�}|S)a,
        :type parent: ServiceResource
        :param parent: The resource instance to which this action is attached.
        :type params: dict
        :param params: Request parameters sent to the service.
        :type response: dict
        :param response: Low-level operation response.
        �$)r(rr)r/rrr
rrr�__call__�s
zRawHandler.__call__N)�__name__�
__module__�__qualname__�__doc__r0r2rrrrr.�s
r.c@s*eZdZdZd	dd�Zdd�Zdd�ZdS)
�ResourceHandleraf
    Creates a new resource or list of new resources from the low-level
    response based on the given response resource definition.

    :type search_path: string
    :param search_path: JMESPath expression to search in the response

    :type factory: ResourceFactory
    :param factory: The factory that created the resource class to which
                    this action is attached.

    :type resource_model: :py:class:`~boto3.resources.model.ResponseResource`
    :param resource_model: Response resource model.

    :type service_context: :py:class:`~boto3.utils.ServiceContext`
    :param service_context: Context about the AWS service

    :type operation_name: string
    :param operation_name: Name of the underlying service operation, if it
                           exists.

    :rtype: ServiceResource or list
    :return: New resource instance(s).
    NcCs"||_||_||_||_||_dS)N)r(�factory�resource_modelr)�service_context)r/r(r8r9r:r)rrrr0�s
zResourceHandler.__init__c
	Cs�|jj}|jj�|�}|jj|||jd�}|}d}|jrFt�	|j|�}t
t|jj|||��}	dd�|	�
�D�}
|
r�g}x�tt|
d��D]*}d}|r�||}|�|�|||	|��q�Wn@t|	�
��r�|�|||	|�}n"d}|jdk	r�t|j|j|jj�}|S)a,
        :type parent: ServiceResource
        :param parent: The resource instance to which this action is attached.
        :type params: dict
        :param params: Request parameters sent to the service.
        :type response: dict
        :param response: Low-level operation response.
        )�
resource_nameZsingle_resource_json_definitionr:NcSsg|]}t|t�r|�qSr)�
isinstancer)�.0�vrrr�
<listcomp>�sz,ResourceHandler.__call__.<locals>.<listcomp>r)r9�typer:Zresource_json_definitions�getr8Zload_from_definitionr(rr�dictrr�values�range�lenr�handle_response_itemr	r)r-r*)
r/rrr
r;Zjson_definition�resource_clsrZsearch_responser�plural�iZ
response_itemrrrr2�sD	


zResourceHandler.__call__c	Cs\d|jji}x0|��D]$\}}t|t�r2|�d�}|||<qW|f|�}|dk	rX||j_|S)a�
        Handles the creation of a single response item by setting
        parameters and creating the appropriate resource instance.

        :type resource_cls: ServiceResource subclass
        :param resource_cls: The resource class to instantiate.
        :type parent: ServiceResource
        :param parent: The resource instance to which this action is attached.
        :type identifiers: dict
        :param identifiers: Map of identifier names to value or values.
        :type resource_data: dict or None
        :param resource_data: Data for resource attributes.
        :rtype: ServiceResource
        :return: New resource instance.
        �clientrN)�metarJ�itemsr<r�popr)	r/rGrrZ
resource_data�kwargsrr�resourcerrrrFs


z$ResourceHandler.handle_response_item)N)r3r4r5r6r0r2rFrrrrr7�s
Tr7)NN)
rZbotocorerrrr	rr-r.r7rrrr�<module>s
.3