a
    xd                     @   s   d dl mZmZmZ d dlZd dlmZ eG dd deZG dd deZ	G dd	 d	eZ
G d
d deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )absolute_importdivisionprint_functionN)python_2_unicode_compatiblec                       sB   e Zd Zd fdd	Zdd Zedd Zdd	 Zd
d Z  Z	S )StripeErrorNc                    s   t t| | |rDt|drDz|d}W n tyB   d}Y n0 || _|| _|| _|| _	|pbi | _
|| _| j
dd | _|  | _d S )Ndecodezutf-8zE<Could not decode body as utf-8. Please report to support@stripe.com>z
request-id)superr   __init__hasattrr   BaseException_message	http_bodyhttp_status	json_bodyheaderscodeget
request_idconstruct_error_objecterror)selfmessager   r   r   r   r   	__class__ D/var/www/html/Ranjet/env/lib/python3.9/site-packages/stripe/error.pyr	   	   s    	
zStripeError.__init__c                 C   s*   | j pd}| jd ur"d| j|S |S d S )Nz<empty message>zRequest {0}: {1})r   r   format)r   msgr   r   r   __str__&   s    

zStripeError.__str__c                 C   s   | j S N)r   r   r   r   r   user_message1   s    zStripeError.user_messagec                 C   s   d| j j| j| j| jf S )Nz-%s(message=%r, http_status=%r, request_id=%r))r   __name__r   r   r   r    r   r   r   __repr__5   s    zStripeError.__repr__c                 C   sB   | j d u s$d| j vs$t| j d ts(d S tjjj| j d tjS )Nr   )	r   
isinstancedictstripeZapi_resourcesZerror_objectZErrorObjectZconstruct_fromZapi_keyr    r   r   r   r   =   s    
z"StripeError.construct_error_object)NNNNNN)
r"   
__module____qualname__r	   r   propertyr!   r#   r   __classcell__r   r   r   r   r      s         
r   c                   @   s   e Zd ZdS )APIErrorNr"   r'   r(   r   r   r   r   r+   J   s   r+   c                       s   e Zd Zd fdd	Z  ZS )APIConnectionErrorNFc                    s$   t t| |||||| || _d S r   )r   r-   r	   should_retry)r   r   r   r   r   r   r   r.   r   r   r   r	   O   s    

zAPIConnectionError.__init__)NNNNNFr"   r'   r(   r	   r*   r   r   r   r   r-   N   s         r-   c                   @   s   e Zd Zdd ZdS )StripeErrorWithParamCodec                 C   s"   d| j j| j| j| j| j| jf S )Nz@%s(message=%r, param=%r, code=%r, http_status=%r, request_id=%r))r   r"   r   paramr   r   r   r    r   r   r   r#   `   s    z!StripeErrorWithParamCode.__repr__N)r"   r'   r(   r#   r   r   r   r   r0   _   s   r0   c                       s   e Zd Zd fdd	Z  ZS )	CardErrorNc                    s$   t t| |||||| || _d S r   )r   r2   r	   r1   r   r   r1   r   r   r   r   r   r   r   r   r	   p   s    

zCardError.__init__)NNNNr/   r   r   r   r   r2   o   s
       r2   c                   @   s   e Zd ZdS )IdempotencyErrorNr,   r   r   r   r   r4      s   r4   c                       s   e Zd Zd fdd	Z  ZS )InvalidRequestErrorNc                    s$   t t| |||||| || _d S r   )r   r5   r	   r1   r3   r   r   r   r	      s    

zInvalidRequestError.__init__)NNNNNr/   r   r   r   r   r5      s        r5   c                   @   s   e Zd ZdS )AuthenticationErrorNr,   r   r   r   r   r6      s   r6   c                   @   s   e Zd ZdS )PermissionErrorNr,   r   r   r   r   r7      s   r7   c                   @   s   e Zd ZdS )RateLimitErrorNr,   r   r   r   r   r8      s   r8   c                       s   e Zd Zd fdd	Z  ZS )SignatureVerificationErrorNc                    s   t t| || || _d S r   )r   r9   r	   
sig_header)r   r   r:   r   r   r   r   r	      s    z#SignatureVerificationError.__init__)Nr/   r   r   r   r   r9      s   r9   )
__future__r   r   r   r&   Z
stripe.sixr   	Exceptionr   r+   r-   r0   r2   r4   r5   r6   r7   r8   r9   r   r   r   r   <module>   s   B