a
    !f                     @  s   d dl mZ d dlmZmZmZmZ d dlmZ ddl	m
Z
mZ ddlmZ ddlmZ dd	lmZ ertd d
lmZ dddddZG dd deZG dd deZG dd dZdS )    )annotations)TYPE_CHECKINGAnyOptionalcast)ArgumentParser   )
get_clientprint_model   )	NOT_GIVEN)	BaseModel)BufferReader)_SubParsersActionz!_SubParsersAction[ArgumentParser]None)	subparserreturnc                 C  s   |  d}|jddtdd |jddtdd	 |jd
td |jdtd |jddtd |jdtd |jtjtd |  d}|jddtdd	 |jddtdd |jd
td |jddtd |jdtd |jtjt	d d S )Nzaudio.transcriptions.createz-mz--modelz	whisper-1)typedefaultz-fz--fileT)r   requiredz--response-format)r   z
--languagez-tz--temperaturez--prompt)funcZ
args_modelzaudio.translations.create)

add_parseradd_argumentstrfloatset_defaultsCLIAudio
transcribeCLITranscribeArgs	translateCLITranslationArgs)r   sub r"   V/var/www/html/python-backend/venv/lib/python3.9/site-packages/openai/cli/_api/audio.pyregister   s    

r$   c                   @  sN   e Zd ZU ded< ded< dZded< dZded< dZded	< dZded
< dS )r   r   modelfileNOptional[str]response_formatlanguageOptional[float]temperatureprompt__name__
__module____qualname____annotations__r(   r)   r+   r,   r"   r"   r"   r#   r   ,   s   
r   c                   @  sN   e Zd ZU ded< ded< dZded< dZded< dZded	< dZded
< dS )r    r   r%   r&   Nr'   r(   r)   r*   r+   r,   r-   r"   r"   r"   r#   r    5   s   
r    c                   @  s4   e Zd ZedddddZedddddZd	S )
r   r   r   )argsr   c              	   C  s   t | jd }t| dd}W d    n1 s20    Y  t jjj| j|f| j| j	pZt
| jpbt
| jpjt
tt| jd}t| d S )NrbUpload progressdesc)r&   r%   r)   r+   r,   r(   )openr&   r   readr	   audioZtranscriptionscreater%   r)   r   r+   r,   r   r   r(   r
   r2   Zfile_readerZbuffer_readerr%   r"   r"   r#   r   ?   s    .


zCLIAudio.transcriber    c                 C  s~   t | jd }t| dd}W d    n1 s20    Y  t jjj| j|f| j| j	pZt
| jpbt
tt| jd}t| d S )Nr3   r4   r5   )r&   r%   r+   r,   r(   )r7   r&   r   r8   r	   r9   Ztranslationsr:   r%   r+   r   r,   r   r   r(   r
   r;   r"   r"   r#   r   P   s    .

	zCLIAudio.translateN)r.   r/   r0   staticmethodr   r   r"   r"   r"   r#   r   >   s   r   N)
__future__r   typingr   r   r   r   argparser   _utilsr	   r
   _typesr   Z_modelsr   	_progressr   r   r$   r   r    r   r"   r"   r"   r#   <module>   s   		