o
    Ž¨Êh˜  ã                   @   s$   G d d„ de ƒZG dd„ deƒZdS )c                   @   s   e Zd ZdS )ÚSparkPostExceptionN)Ú__name__Ú
__module__Ú__qualname__© r   r   úF/var/www/html/env/lib/python3.10/site-packages/sparkpost/exceptions.pyr      s    r   c                       s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚSparkPostAPIExceptionz0Handle 4xx and 5xx errors from the SparkPost APIc                    sŒ   z|  ¡ d }d‰ ‡ fdd„|D ƒ}W n
   |jpdg}Y |j| _|| _|| _dj|j|jd |¡d�}t	t
| ƒj|g|¢R i |¤Ž d S )	NÚerrorsz,{message} Code: {code} Description: {desc} 
c              	      s4   g | ]}ˆ j | d d¡| dd¡| dd¡d�‘qS )ÚmessageÚ ÚcodeÚnoneÚdescription)r	   r   Údesc)ÚformatÚget)Ú.0Úe©Úerror_templater   r   Ú
<listcomp>   s    ý


þz2SparkPostAPIException.__init__.<locals>.<listcomp>r
   zICall to {uri} returned {status_code}, errors:

        {errors}

        Ú
)ÚuriÚstatus_coder   )ÚjsonÚtextr   ÚstatusÚresponser   r   ÚurlÚjoinÚsuperr   Ú__init__)Úselfr   ÚargsÚkwargsr   r	   ©Ú	__class__r   r   r       s$   

ýù"	zSparkPostAPIException.__init__)r   r   r   Ú__doc__r    Ú__classcell__r   r   r$   r   r      s    r   N)Ú	Exceptionr   r   r   r   r   r   Ú<module>   s    