o
    ni                     @   s>   d Z ddlZddlZddlmZ ddlmZ G dd dZdS )zArtifact download logger.    N)Callable)termlogc                	   @   sD   e Zd Zejefdedeg ef ded ddfddZ	dd	d
Z
dS )ArtifactDownloadLoggernfilesclock_for_testingtermlog_for_testing).NreturnNc                 C   s8   || _ || _|| _d| _d| _|  | _tj | _	d S )Nr   )
_nfiles_clock_termlog_n_files_downloaded_spinner_index_last_log_timemultiprocessingdummyLock_lock)selfr   r   r    r   j/home/ubuntu/SoloSpeech/.venv/lib/python3.10/site-packages/wandb/sdk/artifacts/artifact_download_logger.py__init__   s   
zArtifactDownloadLogger.__init__c                 C   s   | j j |  jd7  _| j| jkr'| jd| j d| j ddd |  | _n>|  | j dkr]|  jd7  _d| jd	  }| j| d
| j d| j ddd |  | _W d    d S W d    d S W d    d S 1 spw   Y  d S )N   z  z of z files downloaded.  T)newlineg?z-\|/    z files downloaded...F)r   r   r	   r   r
   r   r   )r   spinnerr   r   r   notify_downloaded   s*   	"z(ArtifactDownloadLogger.notify_downloaded)r   N)__name__
__module____qualname__time	monotonicr   intr   floatr   r   r   r   r   r   r   
   s    

r   )	__doc__multiprocessing.dummyr   r    typingr   wandb.errors.termr   r   r   r   r   r   <module>   s    