a
    f	g                     @   s   d dl 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G dd deZG dd deZdS )    Nc                       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 )OpenAIErrorNc                    s   t t| | |rDt|drDz|d}W n tyB   d}Y n0 || _|| _|| _|| _	|pbi | _
|| _| j
dd | _|  | _| j
dd | _d S )Ndecodezutf-8z_<Could not decode body as utf-8. Please contact us through our help center at help.openai.com.>z
request-idzopenai-organization)superr   __init__hasattrr   BaseException_message	http_bodyhttp_status	json_bodyheaderscodeget
request_idconstruct_error_objecterrorZorganization)selfmessager	   r
   r   r   r   	__class__ O/var/www/html/llm_bihealth/app/venv/lib/python3.9/site-packages/openai/error.pyr      s     	

zOpenAIError.__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OpenAIError.__str__c                 C   s   | j S N)r   r   r   r   r   user_message.   s    zOpenAIError.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__2   s    zOpenAIError.__repr__c                 C   sJ   | j d u s0t| j tr0d| j vs0t| j d ts4d S tjjj| j d S )Nr   )r   
isinstancedictopenaiZapi_resourcesZerror_objectZErrorObjectZconstruct_fromr   r   r   r   r   :   s    

z"OpenAIError.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'   H   s   r'   c                   @   s   e Zd ZdS )TryAgainNr(   r   r   r   r   r)   L   s   r)   c                   @   s   e Zd ZdS )TimeoutNr(   r   r   r   r   r*   P   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   U   s    

zAPIConnectionError.__init__)NNNNNF)r   r#   r$   r   r&   r   r   r   r   r+   T   s         r+   c                       s.   e Zd Zd fdd	Zdd Zdd Z  ZS )	InvalidRequestErrorNc                    s$   t t| |||||| || _d S r   )r   r-   r   param)r   r   r.   r   r	   r
   r   r   r   r   r   r   f   s    

zInvalidRequestError.__init__c                 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   r.   r   r
   r   r   r   r   r   r   u   s    zInvalidRequestError.__repr__c                 C   s(   t | | j| j| j| j| j| j| jffS r   )typer   r.   r   r	   r
   r   r   r   r   r   r   
__reduce__   s    zInvalidRequestError.__reduce__)NNNNN)r   r#   r$   r   r   r0   r&   r   r   r   r   r-   e   s        
r-   c                   @   s   e Zd ZdS )AuthenticationErrorNr(   r   r   r   r   r1      s   r1   c                   @   s   e Zd ZdS )PermissionErrorNr(   r   r   r   r   r2      s   r2   c                   @   s   e Zd ZdS )RateLimitErrorNr(   r   r   r   r   r3      s   r3   c                   @   s   e Zd ZdS )ServiceUnavailableErrorNr(   r   r   r   r   r4      s   r4   c                   @   s   e Zd ZdS )InvalidAPITypeNr(   r   r   r   r   r5      s   r5   c                       s&   e Zd Zd fdd	Zdd Z  ZS )SignatureVerificationErrorNc                    s   t t| || || _d S r   )r   r6   r   
sig_header)r   r   r7   r	   r   r   r   r      s    z#SignatureVerificationError.__init__c                 C   s   t | | j| j| jffS r   )r/   r   r7   r	   r   r   r   r   r0      s
    z%SignatureVerificationError.__reduce__)N)r   r#   r$   r   r0   r&   r   r   r   r   r6      s   r6   )r"   	Exceptionr   r'   r)   r*   r+   r-   r1   r2   r3   r4   r5   r6   r   r   r   r   <module>   s   D&