HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/botocore/__pycache__/errorfactory.cpython-36.pyc
3

�T_��@s<ddlmZddlmZGdd�de�ZGdd�de�ZdS)�)�ClientError)�get_service_module_namec@s(eZdZeZdd�Zdd�Zdd�ZdS)�BaseClientExceptionscCs
||_dS)aBase class for exceptions object on a client

        :type code_to_exception: dict
        :param code_to_exception: Mapping of error codes (strings) to exception
            class that should be raised when encountering a particular
            error code.
        N)�_code_to_exception)�self�code_to_exception�r�"/usr/lib/python3.6/errorfactory.py�__init__szBaseClientExceptions.__init__cCs|jj||j�S)aNRetrieves the error class based on the error code

        This is helpful for identifying the exception class needing to be
        caught based on the ClientError.parsed_reponse['Error']['Code'] value

        :type error_code: string
        :param error_code: The error code associated to a ClientError exception

        :rtype: ClientError or a subclass of ClientError
        :returns: The appropriate modeled exception class for that error
            code. If the error code does not match any of the known
            modeled exceptions then return a generic ClientError.
        )r�getr)r�
error_coderrr	�	from_codeszBaseClientExceptions.from_codecCs0dd�|jj�D�}td||dj|�f��dS)NcSsg|]
}|j�qSr)�__name__)�.0�
exception_clsrrr	�
<listcomp>0sz4BaseClientExceptions.__getattr__.<locals>.<listcomp>z7%r object has no attribute %r. Valid exceptions are: %sz, )r�values�AttributeError�join)r�nameZexception_cls_namesrrr	�__getattr__.s
z BaseClientExceptions.__getattr__N)r�
__module__�__qualname__rr
r
rrrrr	rs
rc@s$eZdZdd�Zdd�Zdd�ZdS)�ClientExceptionsFactorycCs
i|_dS)N)�_client_exceptions_cache)rrrr	r
9sz ClientExceptionsFactory.__init__cCs.|j}||jkr$|j|�}||j|<|j|S)a�Creates a ClientExceptions object for the particular service client

        :type service_model: botocore.model.ServiceModel
        :param service_model: The service model for the client

        :rtype: object that subclasses from BaseClientExceptions
        :returns: The exceptions object of a client that can be used
            to grab the various different modeled exceptions.
        )�service_namer�_create_client_exceptions)r�
service_modelrZclient_exceptionsrrr	�create_client_exceptions<s




z0ClientExceptionsFactory.create_client_exceptionsc
Cspi}i}x@|jD]6}t|j�}t|tfi�}|||<t|j�}|||<qWtt|�d�}t|tf|�}	|	|�S)NZ
Exceptions)Zerror_shapes�strr�typerrrr)
rrZ	cls_propsrZerror_shapeZexception_namer�codeZcls_nameZclient_exceptions_clsrrr	rLs

z1ClientExceptionsFactory._create_client_exceptionsN)rrrr
rrrrrr	r8srN)Zbotocore.exceptionsrZbotocore.utilsr�objectrrrrrr	�<module>
s'