o
    RTh                     @   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                       sN   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| | |r"t|dr"z|d}W n ty!   d}Y nw || _|| _|| _|| _	|p1i | _
|| _| 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errororganization)selfmessager	   r
   r   r   r   	__class__ O/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/openai/error.pyr      s"   	

zOpenAIError.__init__c                 C   s&   | j pd}| jd urd| j|S |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 st| j trd| j vst| j d tsd S tjjj| j d S )Nr   )r   
isinstancedictopenaiapi_resourceserror_objectErrorObject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                   @      e Zd ZdS )APIErrorNr   r(   r)   r   r   r   r   r-   H       r-   c                   @   r,   )TryAgainNr.   r   r   r   r   r0   L   r/   r0   c                   @   r,   )TimeoutNr.   r   r   r   r   r1   P   r/   r1   c                       s*   e Zd Z						d fdd	Z  ZS )APIConnectionErrorNFc                    s$   t t| |||||| || _d S r   )r   r2   r   should_retry)r   r   r	   r
   r   r   r   r3   r   r   r   r   U      


zAPIConnectionError.__init__)NNNNNF)r   r(   r)   r   r+   r   r   r   r   r2   T   s    r2   c                       s8   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   r5   r   param)r   r   r6   r   r	   r
   r   r   r   r   r   r   f   r4   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   r6   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   r6   r   r	   r
   r   r   r   r   r   r   
__reduce__   s   zInvalidRequestError.__reduce__)NNNNN)r   r(   r)   r   r    r8   r+   r   r   r   r   r5   e   s    
r5   c                   @   r,   )AuthenticationErrorNr.   r   r   r   r   r9      r/   r9   c                   @   r,   )PermissionErrorNr.   r   r   r   r   r:      r/   r:   c                   @   r,   )RateLimitErrorNr.   r   r   r   r   r;      r/   r;   c                   @   r,   )ServiceUnavailableErrorNr.   r   r   r   r   r<      r/   r<   c                   @   r,   )InvalidAPITypeNr.   r   r   r   r   r=      r/   r=   c                       s&   e Zd Zd fdd	Zdd Z  ZS )SignatureVerificationErrorNc                    s   t t| || || _d S r   )r   r>   r   
sig_header)r   r   r?   r	   r   r   r   r      s   
z#SignatureVerificationError.__init__c                 C   s   t | | j| j| jffS r   )r7   r   r?   r	   r   r   r   r   r8      s
   z%SignatureVerificationError.__reduce__r   )r   r(   r)   r   r8   r+   r   r   r   r   r>      s    r>   )r#   	Exceptionr   r-   r0   r1   r2   r5   r9   r:   r;   r<   r=   r>   r   r   r   r   <module>   s    D&