Ë
    GKÕi	  ã                   óÖ   — d dl Z d dlZd dlmZ  ej                  d«      j                   ej                  «       «        G d„ de j                  ¬«      Z G d„ de«      Z	 G d	„ d
«      Z
y)é    N)ÚOptionalÚ	ubuntuproc            
       óN   — e Zd Zej                  dededee   dee   fd„«       Zy)ÚAbstractProgressÚtotal_stepsÚ
done_stepsÚprevious_step_messageÚcurrent_step_messagec                 ó   — y ©N© ©Úselfr   r   r	   r
   s        ú7/usr/lib/python3/dist-packages/uaclient/api/__init__.pyÚprogresszAbstractProgress.progress
   s   € ð 	ó    N)	Ú__name__Ú
__module__Ú__qualname__ÚabcÚabstractmethodÚintr   Ústrr   r   r   r   r   r   	   sJ   „ Ø×Ñðð ðð ð	ð
  (¨™}ðð ' s™mòó ñr   r   )Ú	metaclassc            	       ó0   — e Zd Zdededee   dee   fd„Zy)ÚNullProgressr   r   r	   r
   c                 ó   — y r   r   r   s        r   r   zNullProgress.progress   s   € ð 	r   N)r   r   r   r   r   r   r   r   r   r   r   r      s7   „ ðð ðð ð	ð
  (¨™}ðð ' s™môr   r   c                   óL   — e Zd Zddee   fd„Zdefd„Zd„ Zddefd„Z	d	e
fd
„Zy)ÚProgressWrapperNÚprogress_objectc                 ó`   — |�|| _         nt        «       | _         d| _        d| _        d | _        y )Nr   éÿÿÿÿ)r    r   r   r   r	   )r   r    s     r   Ú__init__zProgressWrapper.__init__#   s1   € ØÐ&Ø#2ˆDÕ ä#/£>ˆDÔ ØˆŒØˆÔØ%)ˆÕ"r   Úmessagec                 ó¶   — | j                   j                  | j                  | j                  | j                  |¬«       || _        | xj                  dz  c_        y )N©r   r   r	   r
   é   )r    r   r   r   r	   )r   r$   s     r   r   zProgressWrapper.progress,   sO   € Ø×Ñ×%Ñ%Ø×(Ñ(Ø—‘Ø"&×"<Ñ"<Ø!(ð	 	&ô 	
ð &-ˆÔ"Ø�Š˜1ÑŽr   c                 ó    — | j                   | _        | j                  j                  | j                   | j                  | j                  d ¬«       y )Nr&   )r   r   r    r   r	   ©r   s    r   ÚfinishzProgressWrapper.finish6   sD   € Ø×*Ñ*ˆŒØ×Ñ×%Ñ%Ø×(Ñ(Ø—‘Ø"&×"<Ñ"<Ø!%ð	 	&õ 	
r   Úeventc                 ój   — t        | j                  d«      r| j                  j                  ||«       yy)zí
        This is our secret event system. We use it internally to insert prompts
        and extra messages in the middle of operations at certain points.
        We don't consider this stable enough to expose to the public API.
        Ú	_on_eventN)Úhasattrr    r-   )r   r+   Úpayloads      r   ÚemitzProgressWrapper.emit?   s/   € ô �4×'Ñ'¨Ô5Ø× Ñ ×*Ñ*¨5°'Õ:ð 6r   Úreturnc                 ó\   — t        | j                  d«      r| j                  j                  S y)NÚis_interactiveF)r.   r    r3   r)   s    r   r3   zProgressWrapper.is_interactiveH   s(   € Ü�4×'Ñ'Ð)9Ô:Ø×'Ñ'×6Ñ6Ð6àr   r   )r   r   r   r   r   r#   r   r   r*   r0   Úboolr3   r   r   r   r   r   "   s=   „ ñ*¨Ð1AÑ(Bó *ð ó ò
ñ;˜#ó ;ð ô r   r   )r   ÚloggingÚtypingr   Ú	getLoggerÚ
addHandlerÚNullHandlerÚABCMetar   r   r   r   r   r   ú<module>r;      s^   ðÛ 
Û Ý ð €× Ñ �+Ó × )Ñ )Ð*=¨'×*=Ñ*=Ó*?Ô @ô
 §¡õ 
ô	Ð#ô 	÷*ò *r   