o
    ?Hh                     @  s   d dl mZ d dl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 ddlmZ erDd dlmZ dddZG dd deZG dd deZG dd dZdS )    )annotationsN)TYPE_CHECKINGAnyOptionalcast)ArgumentParser   )
get_clientprint_model   )	NOT_GIVEN)	BaseModel)BufferReader)Transcription)_SubParsersAction	subparser!_SubParsersAction[ArgumentParser]returnNonec                 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)func
args_modelzaudio.translations.create)

add_parseradd_argumentstrfloatset_defaultsCLIAudio
transcribeCLITranscribeArgs	translateCLITranslationArgs)r   sub r%   U/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/openai/cli/_api/audio.pyregister   s   

r'   c                   @  N   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/   r0   r%   r%   r%   r&   r!   .      
 r!   c                   @  r(   )r#   r   r)   r*   Nr+   r,   r-   r.   r/   r0   r1   r%   r%   r%   r&   r#   7   r6   r#   c                   @  s(   e Zd ZedddZeddd	Zd
S )r   argsr!   r   r   c                 C  s   t | jd}t| dd}W d    n1 sw   Y  tdt jjj| j|f| j	| j
p/t| jp3t| jp7ttt| jd}t|trOtj|d  d S t| d S )NrbUpload progressdescTranscription | str)r*   r)   r-   r/   r0   r,   
)openr*   r   readr   r	   audiotranscriptionscreater)   r-   r   r/   r0   r   r,   
isinstancer   sysstdoutwriter
   r7   file_readerbuffer_readerr)   r%   r%   r&   r    A   s"   


zCLIAudio.transcriber#   c              
   C  s   t | jd}t| dd}W d    n1 sw   Y  tdt jjj| j|f| j	| j
p/t| jp3ttt| jd}t|trKtj|d  d S t| d S )Nr8   r9   r:   r<   )r*   r)   r/   r0   r,   r=   )r>   r*   r   r?   r   r	   r@   translationsrB   r)   r/   r   r0   r   r,   rC   r   rD   rE   rF   r
   rG   r%   r%   r&   r"   X   s    


zCLIAudio.translateN)r7   r!   r   r   )r7   r#   r   r   )r2   r3   r4   staticmethodr    r"   r%   r%   r%   r&   r   @   s
    r   )r   r   r   r   )
__future__r   rD   typingr   r   r   r   argparser   _utilsr	   r
   _typesr   _modelsr   	_progressr   types.audior   r   r'   r!   r#   r   r%   r%   r%   r&   <module>   s    
		