a
    _g)	                     @  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rdd 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cast)ArgumentParser   )
get_clientprint_model)	BaseModel)BufferReader)_SubParsersActionz!_SubParsersAction[ArgumentParser]None)	subparserreturnc                 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   c/var/www/html/cobodadashboardai.evdpl.com/venv/lib/python3.9/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                   @  sZ   e Zd ZedddddZedddddZedddd	d
ZeddddZdS )r   r   r   )argsr   c                 C  sh   t | jd }t| dd}W d    n1 s20    Y  t jj| j|ftt| j	d}t
| d S )NrbzUpload progress)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  s   t  jj| jd}t| d S N)Zfile_id)r   r/   retriever"   r	   r*   r(   r   r   r   r   B   s    zCLIFile.getc                 C  s   t  jj| jd}t| d S r0   )r   r/   r   r"   r	   r2   r   r   r   r   G   s    zCLIFile.delete)r   c                  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&   staticmethodr   r   r   r   r   r   r   r   r   4   s   r   N)
__future__r   typingr   r   r   argparser   _utilsr   r	   Z_modelsr
   	_progressr   r   r   r    r   r   r   r   r   r   <module>   s   