3
_A·f€
  ã               @   sL   d dl Z d dlZd dlmZ d dlmZ e jdƒ ZdZG dd„ deƒZ	dS )é    N)Útime)ÚIsTraceé   z[2Kc               @   s(   e Zd Zddd„Zddd„Zd	d
„ ZdS )ÚProgressr   Ú Fc             C   s<   || _ || _d| _d| _tƒ | _d| _|| _|| _|| _	d S )Nr   é   Féÿÿÿÿ)
Ú_titleÚ_totalÚ_doneÚ_lastpr   Ú_startÚ_showÚ_unitsÚ_print_newlineÚ_always_print_percentage)ÚselfÚtitleÚtotalZunitsZprint_newlineZalways_print_percentage© r   ú:/home/qytech/356xLinux510-101server/.repo/repo/progress.pyÚ__init__   s    zProgress.__init__r   c             C   sâ   |  j |7  _ tstƒ rd S | js>dtƒ | j kr:d| _nd S | jdkrntjj	dt
| j| j f ƒ tjjƒ  npd| j  | j }| j|ksŽ| jrÞ|| _tjj	dt
| j|| j | j| j| j|r¼dnd|| jrÊd	ndf
 ƒ tjjƒ  d S )
Ng      à?Tr   z
%s%s: %d,éd   z%s%s: %3d%% (%d%s/%d%s)%s%s%sú r   Ú
)r   Ú_NOT_TTYr   r   r   r   r
   ÚsysÚstderrÚwriteÚCSI_ERASE_LINEr	   Úflushr   r   r   r   )r   ZincÚmsgÚpr   r   r   Úupdate+   s2    

zProgress.updatec          	   C   sŒ   t stƒ s| j rd S | jdkrFtjjdt| j| j	f ƒ tjj
ƒ  nBd| j	 | j }tjjdt| j|| j	| j| j| jf ƒ tjj
ƒ  d S )Nr   z%s%s: %d, done.
r   z %s%s: %3d%% (%d%s/%d%s), done.
)r   r   r   r
   r   r   r   r   r	   r   r    r   )r   r"   r   r   r   ÚendL   s     
zProgress.endN)r   r   FF)r   r   )Ú__name__Ú
__module__Ú__qualname__r   r#   r$   r   r   r   r   r      s    

!r   )
Úosr   r   Ú
repo_tracer   Úisattyr   r   Úobjectr   r   r   r   r   Ú<module>   s   