o
    ͩZh)	                     @  s   d dl mZ d dl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 er2d 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 )    )annotations)TYPE_CHECKINGAnycast)ArgumentParser   )
get_clientprint_model)	BaseModel)BufferReader)_SubParsersAction	subparser!_SubParsersAction[ArgumentParser]returnNonec                 C  s   |  d}|jddddd |jddd	dd
 |jtjtd |  d}|jddddd |jtjtd |  d}|jddddd |jtjtd |  d}|jtjd d S )Nzfiles.createz-fz--fileTzFile to upload)requiredhelpz-pz	--purposezcWhy are you uploading this file? (see https://platform.openai.com/docs/api-reference/ for purposes))r   r   )funcZ
args_modelzfiles.retrievez-iz--idzThe files IDzfiles.deletez
files.list)r   )	
add_parseradd_argumentset_defaultsCLIFilecreateCLIFileCreateArgsgetdeletelist)r   sub r   L/var/www/html/lang_env/lib/python3.10/site-packages/openai/cli/_api/files.pyregister   s,   



r    c                   @  s   e Zd ZU ded< dS )CLIFileIDArgsstridN__name__
__module____qualname____annotations__r   r   r   r   r!   +   s   
 r!   c                   @  s   e Zd ZU ded< ded< dS )r   r"   filepurposeNr$   r   r   r   r   r   /   s   
 r   c                   @  sD   e Zd ZedddZeddd	Zedd
dZedddZdS )r   argsr   r   r   c                 C  sh   t | jd}t| dd}W d    n1 sw   Y  t jj| j|ftt| j	d}t
| d S )NrbzUpload progress)Zdesc)r)   r*   )openr)   r   readr   filesr   r   r   r*   r	   )r+   Zfile_readerZbuffer_readerr)   r   r   r   r   5   s   
zCLIFile.creater!   c                 C     t  jj| jd}t| d S N)Zfile_id)r   r/   retriever#   r	   r+   r)   r   r   r   r   B      zCLIFile.getc                 C  r0   r1   )r   r/   r   r#   r	   r3   r   r   r   r   G   r4   zCLIFile.deletec                  C  s"   t  j } | D ]}t| qd S )N)r   r/   r   r	   )r/   r)   r   r   r   r   L   s   
zCLIFile.listN)r+   r   r   r   )r+   r!   r   r   )r   r   )r%   r&   r'   staticmethodr   r   r   r   r   r   r   r   r   4   s    r   N)r   r   r   r   )
__future__r   typingr   r   r   argparser   _utilsr   r	   Z_modelsr
   	_progressr   r   r    r!   r   r   r   r   r   r   <module>   s    
