+
     g	                         ^ RI t ^ RIt^ RIHt ]P                  ! R4      P                  ]P                  ! 4       4        ! R R] P                  R7      t ! R R]4      t	 ! R	 R
4      t
R# )    N)Optional	ubuntuproc                   P   a  ] tR t^	t o ]P
                  V 3R lR l4       tRtV tR# )AbstractProgressc          	      R   < V ^8  d   QhRS[ RS[ RS[S[,          RS[S[,          /#    total_steps
done_stepsprevious_step_messagecurrent_step_messageintr   str)format__classdict__s   "7/usr/lib/python3/dist-packages/uaclient/api/__init__.py__annotate__AbstractProgress.__annotate__   =        	
  (} 'sm    c                   R # N selfr
   r   r   r   s   &$$$$r   progressAbstractProgress.progress
   s     	r   r   N)	__name__
__module____qualname____firstlineno__abcabstractmethodr   __static_attributes____classdictcell__r   s   @r   r   r   	   s      r   r   )	metaclassc                   2   a  ] tR t^t o V 3R lR ltRtV tR# )NullProgressc          	      R   < V ^8  d   QhRS[ RS[ RS[S[,          RS[S[,          /# r   r   )r   r   s   "r   r   NullProgress.__annotate__   r   r   c                   R # r   r   r   s   &$$$$r   r   NullProgress.progress   s     	r   r   N)r   r    r!   r"   r   r%   r&   r'   s   @r   r*   r*      s      r   r*   c                   v   a  ] tR t^"t o RV 3R lR lltV 3R lR ltR tRV 3R lR lltV 3R	 lR
 ltRt	V t
R# )ProgressWrapperNc                0   < V ^8  d   QhRS[ S[,          /# )r	   progress_object)r   r   )r   r   s   "r   r   ProgressWrapper.__annotate__#   s     * *1A(B *r   c                d    Ve   Wn         M\        4       V n         ^ V n        RV n        R V n        R # )N)r2   r*   r   r
   r   )r   r2   s   &&r   __init__ProgressWrapper.__init__#   s/    &#2 #/>D %)"r   c                    < V ^8  d   QhRS[ /# )r	   messager   )r   r   s   "r   r   r3   ,   s       r   c                    V P                   P                  V P                  V P                  V P                  VR 7       Wn        V ;P                  ^,          un        R# )r
   r   r   r   N)r2   r   r
   r   r   )r   r9   s   &&r   r   ProgressWrapper.progress,   sM    %%(("&"<"<!(	 	& 	
 &-"1r   c                    V P                   V n        V P                  P                  V P                   V P                  V P                  R R7       R # )Nr<   )r
   r   r2   r   r   r   s   &r   finishProgressWrapper.finish6   sD    **%%(("&"<"<!%	 	& 	
r   c                    < V ^8  d   QhRS[ /# )r	   eventr:   )r   r   s   "r   r   r3   ?   s     ; ;# ;r   c                x    \        V P                  R4      '       d   V P                  P                  W4       R# R# )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)hasattrr2   rE   )r   rC   payloads   &&&r   emitProgressWrapper.emit?   s0     4''55  **5: 6r   c                    < V ^8  d   QhRS[ /# )r	   return)bool)r   r   s   "r   r   r3   H   s       r   c                j    \        V P                  R 4      '       d   V P                  P                  # R# )is_interactiveF)rF   r2   rN   r?   s   &r   rN   ProgressWrapper.is_interactiveH   s+    4'')9::''666r   )r   r   r2   r
   r   )r   r    r!   r"   r6   r   r@   rH   rN   r%   r&   r'   s   @r   r0   r0   "   s2     * * 
; ; r   r0   )r#   loggingtypingr   	getLogger
addHandlerNullHandlerABCMetar   r*   r0   r   r   r   <module>rV      sY    
     +  ) )'*=*=*? @
 
	# 	* *r   