o
    RTh                     @   sD   d dl Z d dlmZmZ d dlmZ d dlmZ G dd deZdS )    N)utilerror)EngineAPIResource)TryAgainc                       s4   e Zd ZdZe fddZe fddZ  ZS )Editeditsc              
      s   t   }|dd}|dd}| j|dd }|tjjtjjfv r'td	 z
t	 j
|i |W S  tyX } z|durGt   || krG tjd|d	 W Y d}~nd}~ww q(
zY
        Creates a new edit for the provided input, instruction, and parameters.
        timeoutNapi_type)r
   r   z<This operation is not supported by the Azure OpenAI API yet.TzWaiting for model to warm up)r   )timepop_get_api_type_and_versionr   ApiTypeAZUREAZURE_ADr   InvalidAPITypesupercreater   log_infoclsargskwargsstartr	   r
   typed_api_typee	__class__ \/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/openai/api_resources/edit.pyr      s$   zEdit.createc              
      s   t   }|dd}|dd}| j|dd }|tjjtjjfv r(td	 zt	 j
|i |I dH W S  ty\ } z|durKt   || krK tjd|d	 W Y d}~nd}~ww q)r   )r   r   r   r   r   r   r   r   r   r   acreater   r   r   r   r   r   r    #   s&   zEdit.acreate)__name__
__module____qualname__OBJECT_NAMEclassmethodr   r    __classcell__r   r   r   r   r      s    r   )	r   openair   r   1openai.api_resources.abstract.engine_api_resourcer   openai.errorr   r   r   r   r   r   <module>   s
    