U
    fw%ZÜ  ã                   @   s   d dl Z G dd„ de jƒZdS )é    Nc                   @   s,   e Zd ZdZdZdd„ Zdd„ Zdd„ Zd	S )
ÚProgressBarzDisplay a progress bar.Fc                 C   s   || _ || _d| _d| _d S )Nr   é   )Ú	done_nameÚ
total_nameÚdoneÚtotal)Úselfr   r   © r	   ú7/usr/lib/python3/dist-packages/ttystatus/progressbar.pyÚ__init__   s    zProgressBar.__init__c                 C   sx   zt | jƒ}t | jƒ}W n tk
r4   d}d}Y nX |dkrDd}n|| }tt|| ƒƒ}t|| ƒ}d| d|  S )Ng        g      ð?r   ú#ú-)Úfloatr   r   Ú
ValueErrorÚintÚround)r   Úwidthr   r   ZfractionZn_starsZn_dashesr	   r	   r
   Úrender    s    

zProgressBar.renderc                 C   s   || j  | _|| j | _d S )N)r   r   r   r   )r   Zmasterr	   r	   r
   Úupdate/   s    zProgressBar.updateN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Zstatic_widthr   r   r   r	   r	   r	   r
   r      s
   r   )Z	ttystatusZWidgetr   r	   r	   r	   r
   Ú<module>   s   