HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: sport3497 (1034)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/local/lib/python3.10/dist-packages/pip/_internal/cli/__pycache__/spinners.cpython-310.pyc
o

��h��@sTUddlmZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZddlm
Z
mZmZmZddlmZddlmZddlmZdd	lmZdd
lmZmZe�e�ZdZde d
<dZ!de d<Gdd�d�Z"Gdd�de"�Z#Gdd�de"�Z$Gdd�d�Z%ej&d-dd��Z'Gdd�d�Z(ej&d.d/d$d%��Z)d&Z*d'Z+ej&d0d+d,��Z,dS)1�)�annotationsN)�	Generator)�IO�Final)�Console�ConsoleOptions�RenderableType�RenderResult)�Live)�Measurement)�Text)�WINDOWS)�get_console�get_indentationz-\|/r�
SPINNER_CHARS��SPINS_PER_SECONDc@s eZdZd
dd�Zddd�Zd	S)�SpinnerInterface�return�NonecC�t���N��NotImplementedError��self�r�E/usr/local/lib/python3.10/dist-packages/pip/_internal/cli/spinners.py�spin�zSpinnerInterface.spin�final_status�strcCrrr�rr rrr�finish"rzSpinnerInterface.finishN�rr�r r!rr)�__name__�
__module__�__qualname__rr#rrrrrs
rc@s@eZdZdedefdd
d�Zddd�Zddd�Zddd�ZdS)�InteractiveSpinnerN��messager!�file�IO[str] | None�
spin_chars�min_update_interval_seconds�floatcCs\||_|dur
tj}||_t|�|_d|_t�|�|_	|j�
dt�|jd�d|_dS)NF� � ... r)
�_message�sys�stdout�_file�RateLimiter�
_rate_limiter�	_finished�	itertools�cycle�_spin_cycle�writer�_width)rr+r,r.r/rrr�__init__'s

zInteractiveSpinner.__init__�statusrrcCs\|jrJ�d|j}|j�|d|j|�|j�|�t|�|_|j��|j��dS)N�r1)r9r>r6r=�len�flushr8�reset)rr@�backuprrr�_write;s



zInteractiveSpinner._writecCs,|jrdS|j��sdS|�t|j��dSr)r9r8�readyrF�nextr<rrrrrGs

zInteractiveSpinner.spinr cCs4|jrdS|�|�|j�d�|j��d|_dS)N�
T)r9rFr6r=rCr"rrrr#Ns


zInteractiveSpinner.finish)r+r!r,r-r.r!r/r0�r@r!rrr$r%)	r&r'r(rrr?rFrr#rrrrr)&s�

r)c@s6eZdZdddd	�Zddd�Zdd
d�Zddd�ZdS)�NonInteractiveSpinner�N@r+r!r/r0rrcCs$||_d|_t|�|_|�d�dS)NF�started)r3r9r7r8�_update)rr+r/rrrr?\s
zNonInteractiveSpinner.__init__r@cCs(|jrJ�|j��t�d|j|�dS)Nz%s: %s)r9r8rD�logger�infor3�rr@rrrrNbs

zNonInteractiveSpinner._updatecCs&|jrdS|j��sdS|�d�dS)Nzstill running...)r9r8rGrNrrrrrgs

zNonInteractiveSpinner.spinr cCs&|jrdS|�d|�d��d|_dS)Nzfinished with status '�'T)r9rNr"rrrr#ns
zNonInteractiveSpinner.finishN)rL)r+r!r/r0rrrJr$r%)r&r'r(r?rNrr#rrrrrK[s


rKc@s*eZdZd
dd�Zddd	�Zdd
d�ZdS)r7r/r0rrcCs||_d|_dS)Nr)�_min_update_interval_seconds�_last_update)rr/rrrr?vs
zRateLimiter.__init__�boolcCst��}||j}||jkSr)�timerTrS)r�now�deltarrrrGzs

zRateLimiter.readycCst��|_dSr)rVrTrrrrrDszRateLimiter.resetN)r/r0rr)rrUr$)r&r'r(r?rGrDrrrrr7us

r7r+r!r�'Generator[SpinnerInterface, None, None]ccs��tj��rt��tjkrt|�}nt|�}zt	tj��|VWd�n1s*wYWnt
y=|�d��tyI|�d��w|�d�dS)N�canceled�error�done)
r4r5�isattyrO�getEffectiveLevel�logging�INFOr)rK�
hidden_cursor�KeyboardInterruptr#�	Exception)r+�spinnerrrr�open_spinner�s"�
��

�rec@sBeZdZdZddd�Zdd
d�Zddd�Zddd�Zddd�ZdS)�_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!rrcCs.||_t�t�|_d|_d|_t�d|_dS)N�Fr1)	rgr:r;rr<�
_spinner_textr9r�_indent)rrgrrrr?�s
z_PipRichSpinner.__init__�consoler�optionsrr	ccs�|��VdSr)�render)rrkrlrrr�__rich_console__�s�z _PipRichSpinner.__rich_console__rcCs|��}t�|||�Sr)rmr�get)rrkrl�textrrr�__rich_measure__�sz _PipRichSpinner.__rich_measure__rcCs(|js	t|j�|_t�|j|jd|j�S)Nr2)r9rHr<rir�assemblerjrgrrrrrm�sz_PipRichSpinner.renderr@cCs||_d|_dS)z-Stop spinning and set a final status message.TN)rir9rQrrrr#�s
z_PipRichSpinner.finishN)rgr!rr)rkrrlrrr	)rkrrlrrr)rrrJ)	r&r'r(�__doc__r?rnrqrmr#rrrrrf�s



rfrgrk�Console | None�Generator[None]c	cs��t�tj�sdVdS|pt�}t|�}t|t|d��-zdVWnty/|�	d��t
y;|�	d��w|�	d�Wd�dS1sLwYdS)N)�refresh_per_secondrkrZr[r\)rO�isEnabledForr_r`rrfr
rrbr#rc)rgrkrdrrr�open_rich_spinner�s$�



�"�rxz[?25lz[?25hr,�IO[str]�Generator[None, None, None]c	cs^�trdVdS|��rt��tjkrdVdS|�t�zdVW|�t�dS|�t�wr)	r
r]rOr^r_r`r=�HIDE_CURSOR�SHOW_CURSOR)r,rrrra�s�


ra)r+r!rrYr)rgr!rkrtrru)r,ryrrz)-�
__future__r�
contextlibr:r_r4rV�collections.abcr�typingrr�pip._vendor.rich.consolerrrr	�pip._vendor.rich.liver
�pip._vendor.rich.measurer�pip._vendor.rich.textr�pip._internal.utils.compatr
�pip._internal.utils.loggingrr�	getLoggerr&rOr�__annotations__rrr)rKr7�contextmanagerrerfrxr{r|rarrrr�<module>s<
5&