o
    "ch~                     @  sf   d dl mZ d dlZd dlmZ d dlmZ G dd deZG dd dej	Z
dddZdddZdS )    )annotationsN)Callable)overridec                      s0   e Zd Zd	 fddZed
ddZeZ  ZS )CancelledErrormsgstrreturnNonec                   s   || _ t | d S N)r   super__init__)selfr   	__class__ R/home/air/goalskill/back/venv/lib/python3.10/site-packages/openai/cli/_progress.pyr   	   s   zCancelledError.__init__c                 C     | j S r
   )r   r   r   r   r   __str__   s   zCancelledError.__str__)r   r   r   r	   )r   r   )__name__
__module____qualname__r   r   r   __repr____classcell__r   r   r   r   r      s
    r   c                      s:   e Zd Zdd fd	d
ZdddZeddddZ  ZS )BufferReader    Nbufbytesdesc
str | Noner   r	   c                   s2   t  | t|| _d| _tt||d| _d S )Nr   )r   )r   r   len_len	_progressprogress	_callback)r   r   r   r   r   r   r      s   
zBufferReader.__init__intc                 C  r   r
   )r!   r   r   r   r   __len__   s   zBufferReader.__len__n
int | Nonec              
   C  s\   t j| |}|  jt|7  _z	| | j W |S  ty- } ztd||d }~ww )NzThe upload was cancelled: {})	ioBytesIOreadr"   r    r$   	Exceptionr   format)r   r(   chunker   r   r   r,      s   zBufferReader.read)r   N)r   r   r   r   r   r	   )r   r%   )r'   )r(   r)   r   r   )r   r   r   r   r&   r   r,   r   r   r   r   r   r      s
    
r   totalfloatr   r   r   Callable[[float], None]c                   s,   dd l }|j d|d d
 fdd	}|S )Nr   T)r1   
unit_scaler   r#   r2   r   r	   c                   s&   |  _ | kr   d S    d S r
   )r(   closerefresh)r#   meterr1   r   r   incr0   s   zprogress.<locals>.incr)r#   r2   r   r	   )tqdm)r1   r   r:   r9   r   r7   r   r#   +   s   r#   ir%   c                 C  s   t | d S )Ni   )r%   )r;   r   r   r   MB:   s   r<   )r1   r2   r   r   r   r3   )r;   r%   r   r%   )
__future__r   r*   typingr   typing_extensionsr   r-   r   r+   r   r#   r<   r   r   r   r   <module>   s    
