o
    Cjig                     @  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mZmZ ddlmZ dd	lmZ er<d d
lmZ dddZG dd de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   )	NOT_GIVENNotGiven
NotGivenOr)	BaseModel)BufferReader)_SubParsersAction	subparser!_SubParsersAction[ArgumentParser]returnNonec                 C  sT  |  d}|jddtdd |jddtdd	 |jd
dtddd |jdtdd	 |jtjtd |  d}|jddtdd |jddtdd	 |jddtddd |jd
dtddd |jdtdd	 |jddtddd |jtjt	d |  d}|jddtdd	 |jddtddd |jd
dtddd |jdtdd	 |jtj
td d S )Nzimages.generatez-pz--promptT)typerequiredz-nz--num-images   )r   defaultz-sz--size	1024x1024zSize of the output image)r   r   helpz--response-formaturl)func
args_modelzimages.editz-Iz--imagez@Image to modify. Should be a local path and a PNG encoded image.)r   r   r   z-Mz--maskFzPath to a mask image. It should be the same size as the image you're editing and a RGBA PNG image. The Alpha channel acts as the mask.zimages.create_variation)
add_parseradd_argumentstrintset_defaultsCLIImagecreateCLIImageCreateArgseditCLIImageEditArgscreate_variationCLIImageCreateVariationArgs)r   sub r+   l/var/www/html/Resume-Parser/resume-parser-inhouse/venv/lib/python3.10/site-packages/openai/cli/_api/image.pyregister   sL   


r-   c                   @  .   e Zd ZU ded< ded< ded< ded< dS )r%   r    promptr!   
num_imagessizeresponse_formatN__name__
__module____qualname____annotations__r+   r+   r+   r,   r%   :   
   
 r%   c                   @  r.   )r)   r    imager!   r0   r1   r2   Nr3   r+   r+   r+   r,   r)   A   r8   r)   c                   @  sB   e Zd ZU ded< ded< ded< ded< ded< eZded	< d
S )r'   r    r9   r!   r0   r1   r2   r/   zNotGivenOr[str]maskN)r4   r5   r6   r7   r   r:   r+   r+   r+   r,   r'   H   s   
 r'   c                   @  s6   e Z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  s6   t  jj| j| jtt| jtt| jd}t	| d S )N)r/   nr1   r2   )
r   imagesgenerater/   r0   r   r   r1   r2   r	   )r;   r9   r+   r+   r,   r$   R   s   

zCLIImage.creater)   c                 C  st   t | jd}t| dd}W d    n1 sw   Y  t jjd|f| jtt	| j
tt	| jd}t| d S )NrbzUpload progressdescr9   )r9   r<   r1   r2   )openr9   r   readr   r=   r(   r0   r   r   r1   r2   r	   )r;   file_readerbuffer_readerr9   r+   r+   r,   r(   ^   s   

zCLIImage.create_variationr'   c              	   C  s   t | jd}t| dd}W d    n1 sw   Y  t| jtr't}nt | jd}t| dd}W d    n1 s@w   Y  t j	j
| jd|f| jt|tsYd|fn|tt| jtt| jd}t| d S )Nr?   zImage upload progressr@   zMask progressr9   r:   )r/   r9   r<   r:   r1   r2   )rB   r9   r   rC   
isinstancer:   r   r   r   r=   r&   r/   r0   r   r   r1   r2   r	   )r;   rD   rE   r:   r9   r+   r+   r,   r&   m   s"   


zCLIImage.editN)r;   r%   r   r   )r;   r)   r   r   )r;   r'   r   r   )r4   r5   r6   staticmethodr$   r(   r&   r+   r+   r+   r,   r#   Q   s    r#   N)r   r   r   r   )
__future__r   typingr   r   r   argparser   _utilsr   r	   _typesr   r   r   _modelsr   	_progressr   r   r-   r%   r)   r'   r#   r+   r+   r+   r,   <module>   s    
+	