HEX
Server: Apache
System: Linux zacp120.webway.host 4.18.0-553.50.1.lve.el8.x86_64 #1 SMP Thu Apr 17 19:10:24 UTC 2025 x86_64
User: govancoz (1003)
PHP: 8.3.26
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: //usr/local/lib/python3.7/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-37.pyc
B

L��g',�@s�ddlmZmZmZmZmZmZmZmZddl	m
Z
ddlmZddl
mZmZed�Zed�ZGdd	�d	e�ZGd
d�de�ZGdd
�d
ee�ZGdd�dee�ZGdd�dee�ZGdd�dee�ZGdd�dee�Zedk�r�ddlmZej ddd��r�x2ej ddd�Z!e!dk�r0e!dk�r0Ped��qWede!���x,ej d dd!�Z"e#e"�dk�rlPed"��qNWed#e"���ej d$d%d&d'gd(�Z$ed)e$���ned*�d+S),�)�Any�Generic�List�Optional�TextIO�TypeVar�Union�overload�)�get_console)�Console)�Text�TextType�
PromptType�DefaultTypec@seZdZdZdS)�PromptErrorz/Exception base class for prompt related errors.N)�__name__�
__module__�__qualname__�__doc__�rr�;/tmp/pip-unpacked-wheel-hv55ucu3/pip/_vendor/rich/prompt.pyrsrc@s.eZdZdZedd�dd�Zed�dd�ZdS)	�InvalidResponsez�Exception to indicate a response was invalid. Raise this within process_response() to indicate an error
    and provide an error message.

    Args:
        message (Union[str, Text]): Error message.
    N)�message�returncCs
||_dS)N)r)�selfrrrr�__init__szInvalidResponse.__init__)rcCs|jS)N)r)rrrr�__rich__szInvalidResponse.__rich__)rrrrrrrrrrrrsrc@s4eZdZUdZeZeed<dZdZ	dZ
dZee
eed<d3dd	dd
d
d�eeeeee
eeedd�d
d�Zeed4dd	dd
d
dd�eeeeee
eeeeeeeeefd�	dd���Zeed5dd	dd
d
dd�eeeeee
eeeeeed�dd���Zed6dd	dd
d
ddd�eeeeee
eeeeeeed�	dd��Zeed�dd�Zeed�dd�Zed7eeeeeed�dd��Zeed �d!d"�Zeed �d#d$�Zee dd%�d&d'�Z!dd(�d)d*�Z"edd+�eeed,�d-d.��Z#edd+�eeeeeefd/�d0d.��Z#ddd1�eeeed/�d2d.�Z#dS)8�
PromptBasea�Ask the user for input until a valid response is received. This is the base class, see one of
    the concrete classes for examples.

    Args:
        prompt (TextType, optional): Prompt text. Defaults to "".
        console (Console, optional): A Console instance or None to use global console. Defaults to None.
        password (bool, optional): Enable password input. Defaults to False.
        choices (List[str], optional): A list of valid choices. Defaults to None.
        show_default (bool, optional): Show default in prompt. Defaults to True.
        show_choices (bool, optional): Show choices in prompt. Defaults to True.
    �
response_typez*[prompt.invalid]Please enter a valid valuezA[prompt.invalid.choice]Please select one of the available optionsz: N�choices�FT)�console�passwordr �show_default�show_choices)�promptr"r#r r$r%rcCsN|pt�|_t|t�r$tj|dd�n||_||_|dk	r>||_||_	||_
dS)Nr&)�style)rr"�
isinstance�strr
Zfrom_markupr&r#r r$r%)rr&r"r#r r$r%rrrr5s
zPromptBase.__init__)r"r#r r$r%�stream)	r&r"r#r r$r%�defaultr*rc	CsdS)Nr)	�clsr&r"r#r r$r%r+r*rrr�askKszPromptBase.ask)r&r"r#r r$r%r*rcCsdS)Nr)r,r&r"r#r r$r%r*rrrr-[s
.)r"r#r r$r%r+r*c
Cs |||||||d�}	|	||d�S)aShortcut to construct and run a prompt loop and return the result.

        Example:
            >>> filename = Prompt.ask("Enter a filename")

        Args:
            prompt (TextType, optional): Prompt text. Defaults to "".
            console (Console, optional): A Console instance or None to use global console. Defaults to None.
            password (bool, optional): Enable password input. Defaults to False.
            choices (List[str], optional): A list of valid choices. Defaults to None.
            show_default (bool, optional): Show default in prompt. Defaults to True.
            show_choices (bool, optional): Show choices in prompt. Defaults to True.
            stream (TextIO, optional): Optional text file open for reading to get input. Defaults to None.
        )r"r#r r$r%)r+r*r)
r,r&r"r#r r$r%r+r*Z_promptrrrr-js)r+rcCstd|�d�d�S)z�Turn the supplied default in to a Text instance.

        Args:
            default (DefaultType): Default value.

        Returns:
            Text: Text containing rendering of default value.
        �(�)zprompt.default)r
)rr+rrr�render_default�s	zPromptBase.render_defaultcCs�|j��}d|_|jrJ|jrJd�|j�}d|�d�}|�d�|�|d�|dkr�|jr�t|t	|j
f�r�|�d�|�|�}|�|�|�|j�|S)z�Make prompt text.

        Args:
            default (DefaultType): Default value.

        Returns:
            Text: Text to display in prompt.
        r!�/�[�]� zprompt.choices.)
r&�copy�endr%r �join�appendr$r(r)rr0�
prompt_suffix)rr+r&Z_choicesr �_defaultrrr�make_prompt�s	




zPromptBase.make_prompt)r"r&r#r*rcCs|j|||d�S)z�Get input from user.

        Args:
            console (Console): Console instance.
            prompt (TextType): Prompt text.
            password (bool): Enable password entry.

        Returns:
            str: String from user.
        )r#r*)�input)r,r"r&r#r*rrr�	get_input�szPromptBase.get_input)�valuercCs|jdk	st�|��|jkS)z�Check value is in the list of valid choices.

        Args:
            value (str): Value entered by user.

        Returns:
            bool: True if choice was valid, otherwise False.
        N)r �AssertionError�strip)rr>rrr�check_choice�s	zPromptBase.check_choicecCsX|��}y|�|�}Wntk
r4t|j��YnX|jdk	rT|�|�sTt|j��|S)aProcess response from user, convert to prompt type.

        Args:
            value (str): String typed by user.

        Raises:
            InvalidResponse: If ``value`` is invalid.

        Returns:
            PromptType: The value to be returned from ask method.
        N)r@r�
ValueErrorr�validate_error_messager rA�illegal_choice_message)rr>�return_valuerrr�process_response�s
zPromptBase.process_response)r>�errorrcCs|j�|�dS)z�Called to handle validation error.

        Args:
            value (str): String entered by user.
            error (InvalidResponse): Exception instance the initiated the error.
        N)r"�print)rr>rGrrr�on_validate_error�szPromptBase.on_validate_error)rcCsdS)z,Hook to display something before the prompt.Nr)rrrr�
pre_prompt�szPromptBase.pre_prompt)r*)r*rcCsdS)Nr)rr*rrr�__call__�szPromptBase.__call__)r+r*rcCsdS)Nr)rr+r*rrrrKs)r+r*c
Cs�x�|��|�|�}|j|j||j|d�}|dkr>|dkr>|Sy|�|�}Wn0tk
r|}z|�||�wWdd}~XYqX|SqWdS)z�Run the prompt loop.

        Args:
            default (Any, optional): Optional default value.

        Returns:
            PromptType: Processed value.
        )r*r!.N)rJr;r=r"r#rFrrI)rr+r*r&r>rErGrrrrKs	
)r!)r!)r!)r!)N)$rrrrr)r�type�__annotations__rCrDr9r rrrr�boolr�classmethodr	rrrrr-rr
r0r;r=rArFrrIrJrKrrrrrst

&$&
	rc@seZdZdZeZdS)�PromptzbA prompt that returns a str.

    Example:
        >>> name = Prompt.ask("Enter your name")


    N)rrrrr)rrrrrrPsrPc@seZdZdZeZdZdS)�	IntPromptz�A prompt that returns an integer.

    Example:
        >>> burrito_count = IntPrompt.ask("How many burritos do you want to order")

    z3[prompt.invalid]Please enter a valid integer numberN)rrrr�intrrCrrrrrQ*srQc@seZdZdZeZdZdS)�FloatPromptzyA prompt that returns a float.

    Example:
        >>> temperature = FloatPrompt.ask("Enter desired temperature")

    z%[prompt.invalid]Please enter a numberN)rrrr�floatrrCrrrrrS6srSc@sNeZdZUdZeZdZddgZee	e
d<eed�dd�Z
e	ed	�d
d�ZdS)
�ConfirmzuA yes / no confirmation prompt.

    Example:
        >>> if Confirm.ask("Continue"):
                run_job()

    z#[prompt.invalid]Please enter Y or N�y�nr )r+rcCs.|j\}}t|rd|�d�n
d|�d�dd�S)z8Render the default as (y) or (n) rather than True/False.r.r/zprompt.default)r')r r
)rr+�yes�norrrr0Os
zConfirm.render_default)r>rcCs.|����}||jkr t|j��||jdkS)zConvert choices to a bool.r)r@�lowerr rrC)rr>rrrrFTs

zConfirm.process_responseN)rrrrrNrrCr rr)rMrr
r0rFrrrrrUBs
rU�__main__)rHzRun [i]prompt[/i] tests?T)r+z6:rocket: Enter a number between [b]1[/b] and [b]10[/b]��
z=:pile_of_poo: [prompt.invalid]Number must be between 1 and 10znumber=z=Please enter a password [cyan](must be at least 5 characters))r#z"[prompt.invalid]password too shortz	password=z
Enter a fruitZappleZorangeZpear)r zfruit=z[b]OK :loudly_crying_face:N)%�typingrrrrrrrr	r!rr"r�textr
rrr�	Exceptionrrrr)rPrRrQrSrNrUrZpip._vendor.richrHr-�resultr#�lenZfruitrrrr�<module>sF(