COT.ui_shared module¶
Abstract user interface superclass.
-
class
UI(force=False)[source]¶ Bases:
objectAbstract user interface functionality.
Can also be used in test code as a stub that autoconfirms everything.
-
choose_from_list(footer, option_list, default_value, header='', info_list=None)[source]¶ Prompt the user to choose from a list.
Parameters: Returns: str –
default_valueor an item fromoption_list.
-
confirm(prompt)[source]¶ Prompt user to confirm the requested operation.
Auto-accepts if
forceis set toTrue.Warning
This stub implementation does not actually interact with the user, but instead returns
default_confirm_response. Subclasses should override this method.Parameters: prompt (str) – Message to prompt the user with Returns: bool – True(user confirms acceptance) orFalse(user declines)
-
confirm_or_die(prompt)[source]¶ If the user doesn’t agree, abort the program.
A simple wrapper for
confirm()that callssys.exit()ifconfirm()returnsFalse.Parameters: prompt (str) – Message to prompt the user with Raises: SystemExit– if user declines
-
fill_examples(example_list)[source]¶ Pretty-print a set of usage examples.
Parameters: example_list (list) – List of (example, description) tuples. Raises: NotImplementedError– Must be implemented by a subclass.
-
fill_usage(subcommand, usage_list)[source]¶ Pretty-print a list of usage strings.
Parameters: Returns: str – Concatenation of all usage strings, each appropriately wrapped to the
terminal_widthvalue.
-
get_input(prompt, default_value)[source]¶ Prompt the user to enter a string.
Auto-inputs the
default_valueifforceis set toTrue.Warning
This stub implementation does not actually interact with the user, but instead always returns
default_value. Subclasses should override this method.Parameters: Returns: str – Input value
-
get_password(username, host)[source]¶ Get password string from the user.
Parameters: Raises: NotImplementedError– Must be implemented by a subclass.
-
default_confirm_response= None¶ Knob for API testing, sets the default response to confirm().
-
force= None¶ Whether to automatically select the default value in all cases.
(As opposed to interactively prompting the user.)
-
terminal_width¶ Get the width of the terminal in columns.
-