o
     Xxiõ  ã                   @   sp   d dl mZmZ d dlZe e¡Ze ej¡ e 	¡ Z
e
 ej¡ e e
¡ G dd„ deƒZG dd„ deƒZdS )é    )ÚABCÚabstractmethodNc                   @   s8   e Zd ZdZed
dd„ƒZeddd„ƒZedd	„ ƒZdS )ÚProgressHandlerz%
    Base progress handler class
    Nc                 C   ó   d S ©N© )ÚselfÚtotalÚdescr   r   úN/home/air/biblejyuku/back/venv/lib/python3.10/site-packages/janome/progress.pyÚon_start   ó   zProgressHandler.on_starté   c                 C   r   r   r   ©r   Úvaluer   r   r   Úon_progress"   r   zProgressHandler.on_progressc                 C   r   r   r   ©r   r   r   r   Úon_complete&   r   zProgressHandler.on_completer   ©r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   r      s    r   c                   @   s<   e Zd Zddd„Zddd„Zdd	d
„Zddd„Zdd„ ZdS )ÚSimpleProgressIndicatorç-Cëâ6?Nc                 C   s&   || _ |pd| _d | _d | _d | _d S )Nz{}: {:.1f}% | {}/{})Úupdate_frequencyÚformatr	   r   r
   )r   r   r   r   r   r   Ú__init__,   s
   

z SimpleProgressIndicator.__init__Ú c                 C   s:   |t jd _t  | j | j| jd | j | j| j¡¡ d S )Nr   éd   )ÚloggerÚhandlersÚ
terminatorÚinfor   r
   r   r	   )r   r"   r   r   r   Úprint_progress3   s   

üz&SimpleProgressIndicator.print_progressr   c                 C   s   || _ || _|p	d| _d S )NÚ
Processing)r	   r   r
   )r   r	   r   r
   r   r   r   r   ;   s   z SimpleProgressIndicator.on_startr   c                 C   s0   |  j |7  _ t | j | j ¡r|  ¡  d S d S r   )r   ÚfloatÚ
is_integerr   r$   r   r   r   r   r   @   s   ÿz#SimpleProgressIndicator.on_progressc                 C   s    |   d¡ d  | _ | _| _d S )NÚ
)r$   r	   r   r
   r   r   r   r   r   F   s   
z#SimpleProgressIndicator.on_complete)r   N)r   )r   Nr   )r   r   r   r   r$   r   r   r   r   r   r   r   r   +   s    



r   )Úabcr   r   ÚloggingÚ	getLoggerr   r    ÚsetLevelÚINFOÚStreamHandlerÚhandlerÚ
addHandlerr   r   r   r   r   r   Ú<module>   s   

