o
    b                     @   s6   d dl Z ddlmZ G dd dZdd Zdd	 ZdS )
    N   )_progressprivc                   @   s>   e Zd ZdZejZejZdddZdd Zdd Z	d	d
 Z
dS )Meterzj
    Meter class that hides the internals of the backend implementation
    from virtinst and friends
    Fc                 C   s8   d | _ d | _d| _|rt | _d S tjtjd| _d S )Nr   )output)	_text_size_total_readr   	BaseMeter_meter	TextMetersysstdout)selfquiet r   ,/usr/share/virt-manager/virtinst/progress.py__init__   s   zMeter.__init__c                 C   s$   || _ || _d| _| j|| d S )Nr   )r   r   r   r
   start)r   textsizer   r   r   r      s   zMeter.startc                 C   s   || _ | j| d S N)r   r
   update)r   	new_totalr   r   r   r   %   s   zMeter.updatec                 C   s   | j   d S r   )r
   end)r   r   r   r   r   )   s   z	Meter.endN)F)__name__
__module____qualname____doc__r   format_numberformat_timer   r   r   r   r   r   r   r   r      s    
	r   c                 C   s
   t | dS )Nr   )r   r    r   r   r   
make_meter-   s   
r!   c                 C   s   | r| S t ddS )NTr    )r!   )meterr   r   r   ensure_meter1   s   
r#   )r    r   r   r!   r#   r   r   r   r   <module>   s
    