
    Wh                       U d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
mZ d dlmZmZmZmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ  ej        e          ZdZde d<   dZ!de d<    G d d          Z" G d de"          Z# G d de"          Z$ G d d          Z%ej&        d*d            Z' G d d          Z(ej&        d+d,d#            Z)d$Z*d%Z+ej&        d-d)            Z,dS ).    )annotationsN)	Generator)IOFinal)ConsoleConsoleOptionsRenderableTypeRenderResult)Live)Measurement)Text)WINDOWS)get_consoleget_indentationz-\|/r   SPINNER_CHARS   SPINS_PER_SECONDc                      e Zd ZddZd	dZdS )
SpinnerInterfacereturnNonec                    t                      NNotImplementedErrorselfs    l/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/pip/_internal/cli/spinners.pyspinzSpinnerInterface.spin       !###    final_statusstrc                    t                      r   r   r   r"   s     r   finishzSpinnerInterface.finish"   r    r!   Nr   r   r"   r#   r   r   )__name__
__module____qualname__r   r&    r!   r   r   r      s<        $ $ $ $$ $ $ $ $ $r!   r   c                  <    e Zd Zdedez  fdd
ZddZddZddZdS )InteractiveSpinnerN   messager#   fileIO[str] | None
spin_charsmin_update_interval_secondsfloatc                   || _         |t          j        }|| _        t	          |          | _        d| _        t          j        |          | _	        | j        
                    dt                      z  | j         z   dz              d| _        d S )NF  ... r   )_messagesysstdout_fileRateLimiter_rate_limiter	_finished	itertoolscycle_spin_cyclewriter   _width)r   r0   r1   r3   r4   s        r   __init__zInteractiveSpinner.__init__'   s      <:D
()DEE$?:66
0004=@7JKKKr!   statusr   r   c                <   | j         rJ d| j        z  }| j                            |d| j        z  z   |z              | j                            |           t	          |          | _        | j                                         | j                                         d S )Nr7   )r?   rD   r<   rC   lenflushr>   reset)r   rF   backups      r   _writezInteractiveSpinner._write;   s    >!!! #
#"33f<===
   &kk
  """""r!   c                    | j         rd S | j                                        sd S |                     t	          | j                             d S r   )r?   r>   readyrM   nextrB   r   s    r   r   zInteractiveSpinner.spinG   sP    > 	F!'')) 	FD)**+++++r!   r"   c                    | j         rd S |                     |           | j                            d           | j                                         d| _         d S )N
T)r?   rM   r<   rC   rJ   r%   s     r   r&   zInteractiveSpinner.finishN   sX    > 	FL!!!

r!   )r0   r#   r1   r2   r3   r#   r4   r5   rF   r#   r   r   r'   r(   )	r)   r*   r+   r   r   rE   rM   r   r&   r,   r!   r   r.   r.   &   sz          $'-.1A-A    (
# 
# 
# 
#, , , ,     r!   r.   c                  0    e Zd ZdddZdd
ZddZddZdS )NonInteractiveSpinner      N@r0   r#   r4   r5   r   r   c                t    || _         d| _        t          |          | _        |                     d           d S )NFstarted)r9   r?   r=   r>   _update)r   r0   r4   s      r   rE   zNonInteractiveSpinner.__init__\   s9    ()DEEYr!   rF   c                    | j         rJ | j                                         t                              d| j        |           d S )Nz%s: %s)r?   r>   rK   loggerinfor9   r   rF   s     r   rY   zNonInteractiveSpinner._updateb   sC    >!!!  """HdmV44444r!   c                x    | j         rd S | j                                        sd S |                     d           d S )Nzstill running...)r?   r>   rO   rY   r   s    r   r   zNonInteractiveSpinner.sping   sF    > 	F!'')) 	F'(((((r!   r"   c                X    | j         rd S |                     d| d           d| _         d S )Nzfinished with status ''T)r?   rY   r%   s     r   r&   zNonInteractiveSpinner.finishn   s:    > 	F=l===>>>r!   N)rV   )r0   r#   r4   r5   r   r   rS   r'   r(   )r)   r*   r+   rE   rY   r   r&   r,   r!   r   rU   rU   [   si                 5 5 5 5
) ) ) )     r!   rU   c                  &    e Zd Zd
dZddZddZd	S )r=   r4   r5   r   r   c                "    || _         d| _        d S )Nr   )_min_update_interval_seconds_last_update)r   r4   s     r   rE   zRateLimiter.__init__v   s    ,G)#$r!   boolc                R    t          j                     }|| j        z
  }|| j        k    S r   )timerd   rc   )r   nowdeltas      r   rO   zRateLimiter.readyz   s(    ikkd''999r!   c                6    t          j                     | _        d S r   )rg   rd   r   s    r   rK   zRateLimiter.reset   s     IKKr!   N)r4   r5   r   r   )r   re   r'   )r)   r*   r+   rE   rO   rK   r,   r!   r   r=   r=   u   sP        % % % %: : : :
( ( ( ( ( (r!   r=   r0   r#   r   'Generator[SpinnerInterface, None, None]c              #    K   t           j                                        r7t                                          t
          j        k    rt          |           }nt          |           }	 t          t           j                  5  |V  d d d            n# 1 swxY w Y   |
                    d           d S # t          $ r |
                    d            t          $ r |
                    d            w xY w)Ndonecancelederror)r:   r;   isattyr[   getEffectiveLevelloggingINFOr.   rU   hidden_cursorr&   KeyboardInterrupt	Exception)r0   spinners     r   open_spinnerrx      s8      z 1v7799W\II$6w$?$?'00
3:&& 	 	MMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	v    z"""   ws1   (B4 BB4 BB4 BB4 4A C4c                  :    e Zd ZdZddZddZddZddZddZdS )_PipRichSpinnerz
    Custom rich spinner that matches the style of the legacy spinners.

    (*) Updates will be handled in a background thread by a rich live panel
        which will call render() automatically at the appropriate time.
    labelr#   r   r   c                    || _         t          j        t                    | _        d| _        d| _        t                      dz  | _        d S )N Fr7   )	r{   r@   rA   r   rB   _spinner_textr?   r   _indent)r   r{   s     r   rE   z_PipRichSpinner.__init__   s@    
$?=99&((3.r!   consoler   optionsr   r
   c              #  6   K   |                                  V  d S r   )render)r   r   r   s      r   __rich_console__z _PipRichSpinner.__rich_console__   s"       kkmmr!   r   c                V    |                                  }t          j        |||          S r   )r   r   get)r   r   r   texts       r   __rich_measure__z _PipRichSpinner.__rich_measure__   s%     {{}}w666r!   r	   c                    | j         st          | j                  | _        t	          j        | j        | j        d| j                  S )Nr8   )r?   rP   rB   r~   r   assembler   r{   r   s    r   r   z_PipRichSpinner.render   s<    ~ 	8!%d&6!7!7D}T\4:w@RSSSr!   rF   c                "    || _         d| _        dS )z-Stop spinning and set a final status message.TN)r~   r?   r]   s     r   r&   z_PipRichSpinner.finish   s    #r!   N)r{   r#   r   r   )r   r   r   r   r   r
   )r   r   r   r   r   r   )r   r	   rS   )	r)   r*   r+   __doc__rE   r   r   r   r&   r,   r!   r   rz   rz      s         / / / /   
7 7 7 7T T T T     r!   rz   r{   r   Console | NoneGenerator[None]c              #    K   t                               t          j                  sd V  d S |pt	                      }t          |           }t          |t          |          5  	 d V  |                    d           nC# t          $ r |                    d            t          $ r |                    d            w xY w	 d d d            d S # 1 swxY w Y   d S )N)refresh_per_secondr   rm   rn   ro   )r[   isEnabledForrr   rs   r   rz   r   r   r&   ru   rv   )r{   r   rw   s      r   open_rich_spinnerr      sD     w|,, &Ge$$G	g*:G	L	L	L 
# 
#		#EEE NN6"""" ! 	 	 	NN:&&& 	 	 	NN7###	 #
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
# 
#s+   #C%A?)C?A B??CCCz[?25lz[?25hr1   IO[str]Generator[None, None, None]c              #  V  K   t           rd V  d S |                                 r't                                          t          j        k    rd V  d S |                     t                     	 d V  |                     t                     d S # |                     t                     w xY wr   )	r   rp   r[   rq   rr   rs   rC   HIDE_CURSORSHOW_CURSOR)r1   s    r   rt   rt      s        $ [[]] $f66887<GG

;	$EEEJJ{#####DJJ{####s   ,B B()r0   r#   r   rk   r   )r{   r#   r   r   r   r   )r1   r   r   r   )-
__future__r   
contextlibr@   rr   r:   rg   collections.abcr   typingr   r   pip._vendor.rich.consoler   r   r	   r
   pip._vendor.rich.liver   pip._vendor.rich.measurer   pip._vendor.rich.textr   pip._internal.utils.compatr   pip._internal.utils.loggingr   r   	getLoggerr)   r[   r   __annotations__r   r   r.   rU   r=   contextmanagerrx   rz   r   r   r   rt   r,   r!   r   <module>r      s   " " " " " " "          



  % % % % % %                    ' & & & & & 0 0 0 0 0 0 & & & & & & . . . . . . D D D D D D D D		8	$	$         $ $ $ $ $ $ $ $. . . . .) . . .j    ,   4( ( ( ( ( ( ( (    .# # # # # # # #L # # # # #*  $ $ $ $ $ $r!   