Functions for Interacting with the Terminal¶
- starlark_tugger.can_prompt() bool¶
Returns whether we are capable of prompting for user input.
If this returns
False, functions likeprompt_input()andprompt_password()will be unable to collect input from the user and will error unless a default value is provided.
- starlark_tugger.prompt_confirm(prompt: str, default: Optional[bool] = None) bool¶
Prompt the user to confirm something.
This will print the provided prompt and wait for user input to confirm it.
If
yornis pressed, this evaluates toTrueorFalse, respectively. If the escape key is pressed, an error is raised.If stdin is not interactive (e.g. it is connected to
/dev/null), this will returndefaultif provided or raise an error otherwise.
- starlark_tugger.prompt_input(prompt: str, default: Optional[str] = None) str¶
Prompt the user for input on the terminal.
This will print a prompt with the given
prompttext to stderr. Ifdefaultis provided, the default value will printed and used if no input is provided.The string constituting the raw input (without a trailing newline) is returned.
If stdin is not interactive (e.g. it is connected to
/dev/null), this will returndefaultif provided or raise an error otherwise.
- starlark_tugger.prompt_password(prompt: str, confirm: bool = False, default: Optional[str] = None) str¶
Prompt the user for a password input on the terminal.
This will print a prompt with the given
prompttext to stderr.When the user inputs their password, its content will not be printed back to the terminal.
If
confirmisTrue, the user will be prompted to confirm the hidden value they just entered and subsequent prompts will be attempted until values agree.If stdin is not interactive (e.g. it is connected to
/dev/null), this will returndefaultif provided or raise an error if not.The password value is stored in plain text in memory and treated like any other string value.