�
"T�e� �
� � d dl mZmZmZmZmZ ddlmZ ddlm Z ddl
mZ ddlm
Z
erddlmZmZmZmZ ddlmZ G d � d
� Zedk( rzd dlmZ dd
lmZ ddlmZ ddlmZ e e ej@ � � D � cg c] } e| e
e!| � d�� �� �� c} dd�� Z" e ee"dd�� d�� 5 Z ed� � yc c} w # 1 sw Y yxY w)� )�cast�List�Optional�
TYPE_CHECKING�Union� )�SPINNERS)�Measurement)�Table)�Text)�Console�ConsoleOptions�RenderResult�RenderableType)� StyleTypec � � e Zd ZdZ dddd�deddd ed
deddf
d
�Z dd�Zddddde fd�Z
deddfd�Zdddd�ddd ed
dee ddfd�Zy)�Spinnera� A spinner animation.
Args:
name (str): Name of spinner (run python -m rich.spinner).
text (RenderableType, optional): A renderable to display at the right of the spinner (str or Text typically). Defaults to "".
style (StyleType, optional): Style for spinner animation. Defaults to None.
speed (float, optional): Speed factor for animation. Defaults to 1.0.
Raises:
KeyError: If name isn't one of the supported spinner animations.
� Ng �?)�style�speed�name�textr r r r �returnc �` � t | }t |t � rt j
|� n|| _ t t t |d � d d | _ t t |d � | _ d | _ || _
|| _ d| _ d| _ y # t $ r t d|��� �w xY w)Nzno spinner called �frames�interval� )r �KeyError�
isinstance�strr �from_markupr r r r �floatr �
start_timer r �frame_no_offset�
_update_speed)�selfr r r r �spinners �./usr/lib/python3/dist-packages/rich/spinner.py�__init__zSpinner.__init__ s� � � :��t�n�G� '1��s�&;�D���T�"��
� � �4��9�g�h�&7�8��;����U�G�J�$7�8��
�+/�����
���
�&)��� ���� � :��/��x�8�9�9� :�s � B �B-�consoler
�optionsr c # �N K � | j |j � � �� y �w)N)�render�get_time)r& |