3 Re @ s d dl mZmZ d dlZd dlZd dlZd dlZd dlZd dlm Z m Z d dlmZ d dl mZ d dlmZ erd dlmZmZ ejeZG dd d eZG d d deZG dd d eZG dd deZejdd Zejdd ZdS ) )absolute_importdivisionN)HIDE_CURSORSHOW_CURSOR)WINDOWS)get_indentation)MYPY_CHECK_RUNNING)IteratorIOc @ s e Zd Zdd Zdd ZdS )SpinnerInterfacec C s t d S )N)NotImplementedError)self r /builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el9.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_internal/cli/spinners.pyspin s zSpinnerInterface.spinc C s t d S )N)r )r final_statusr r r finish s zSpinnerInterface.finishN)__name__ __module____qualname__r r r r r r r s r c @ s. e Zd ZdddZdd Zdd Zd d ZdS ) InteractiveSpinnerN-\|/ ?c C s\ || _ |d krtj}|| _t|| _d| _tj|| _ | jj dt | j d d| _d S )NF z ... r ) _messagesysstdout_fileRateLimiter _rate_limiter _finished itertoolscycle_spin_cyclewriter _width)r messagefile spin_charsmin_update_interval_secondsr r r __init__ s zInteractiveSpinner.__init__c C s^ | j std| j }| jj|d| j | | jj| t|| _| jj | jj d S )Nr ) r AssertionErrorr% r r$ lenflushr reset)r statusbackupr r r _write0 s zInteractiveSpinner._writec C s, | j r d S | jj sd S | jt| j d S )N)r r readyr2 nextr# )r r r r r = s zInteractiveSpinner.spinc C s4 | j r d S | j| | jjd | jj d| _ d S )N T)r r2 r r$ r. )r r r r r r E s zInteractiveSpinner.finish)Nr r )r r r r* r2 r r r r r r r s r c @ s. e Zd ZdddZdd Zdd Zdd Zd S )NonInteractiveSpinner<