o
    RTh                     @   s>   d dl Z G dd deZG dd de jZdd Zdd	 ZdS )
    Nc                   @   s    e Zd Zdd Zdd ZeZdS )CancelledErrorc                 C   s   || _ t| | d S N)msg	Exception__init__)selfr    r   Y/home/air/segue/gemini/backup/venv/lib/python3.10/site-packages/openai/upload_progress.pyr      s   zCancelledError.__init__c                 C      | j S r   )r   r   r   r   r	   __str__	      zCancelledError.__str__N)__name__
__module____qualname__r   r   __repr__r   r   r   r	   r      s    r   c                   @   s(   e Zd Zd
ddZdd Zddd	ZdS )BufferReader    Nc                 C   s4   t || _tj| | d| _tt ||d| _d S )Nr   )desc)len_lenioBytesIOr   	_progressprogress	_callback)r   bufr   r   r   r	   r      s   
zBufferReader.__init__c                 C   r
   r   )r   r   r   r   r	   __len__   r   zBufferReader.__len__c              
   C   sd   t j| |}|  jt|7  _| jr0z	| | j W |S  ty/ } ztd|d }~ww |S )NzThe upload was cancelled: {})	r   r   readr   r   r   r   r   format)r   nchunker   r   r	   r      s   zBufferReader.read)r   N)r   )r   r   r   r   r   r   r   r   r   r	   r      s    
r   c                    s*   dd l }|j d|d  fdd}|S )Nr   T)total
unit_scaler   c                    s&   |  _ | kr   d S    d S r   )r!   closerefresh)r   meterr$   r   r	   incr)   s   zprogress.<locals>.incr)tqdm)r$   r   r+   r*   r   r(   r	   r   $   s   r   c                 C   s   t | d S )Ni   )int)ir   r   r	   MB3   s   r.   )r   r   r   r   r   r   r.   r   r   r   r	   <module>   s
    