o
    /if                     @   sL   d Z ddlZddlmZ ddlmZ G dd deZG dd	 d	Ze ZdS )
zFile for handling API key
    N)Enum   )KEY_FILEc                   @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
d	S )
	KeyValuesapi_keyAZURE_OPENAI_API_KEYAZURE_OPENAI_ENDPOINTOPENAI_API_VERSIONAZURE_DEPLOYMENT_NAMEAZURE_EMBEDDING_DEPLOYMENT_NAMEAZURE_MODEL_VERSIONUSE_AZURE_OPENAIN)__name__
__module____qualname__API_KEYr   r   r	   r
   r   r   r    r   r   M/var/www/html/corbot_env/lib/python3.10/site-packages/deepeval/key_handler.pyr   
   s    r   c                   @   s>   e Zd Zdd ZdefddZdefddZdefdd	Zd
S )KeyFileHandlerc                 C   s
   i | _ d S )N)data)selfr   r   r   __init__   s   
zKeyFileHandler.__init__keyc                 C   s   zt td}t|| _W d   n1 sw   Y  W n ty)   i | _Y nw || j|j< t td}t| j| W d   dS 1 sHw   Y  dS )z*Appends or updates data in the hidden filerNw)openr   jsonloadr   FileNotFoundErrorvaluedump)r   r   r   fr   r   r   	write_key   s   
"zKeyFileHandler.write_keyc                 C   sb   zt td}t|| _W d   n1 sw   Y  W n ty)   i | _Y nw | j|jS )z%Fetches the data from the hidden filer   N)r   r   r   r   r   r   getr   r   r   r!   r   r   r   
fetch_data*   s   
zKeyFileHandler.fetch_datac                 C   s   zDt td}t|| _W d   n1 sw   Y  | j|jd t td}t| j| W d   W dS 1 s=w   Y  W dS  tyN   Y dS w )z(Removes the specified key from the data.r   Nr   )	r   r   r   r   r   popr   r    r   r$   r   r   r   
remove_key4   s   &zKeyFileHandler.remove_keyN)r   r   r   r   r   r"   r%   r'   r   r   r   r   r      s
    
r   )	__doc__r   enumr   	constantsr   r   r   KEY_FILE_HANDLERr   r   r   r   <module>   s    
,