Package _emerge :: Module userquery
[hide private]

Module userquery

source code

Functions [hide private]
 
userquery(prompt, enter_invalid, responses=None, colours=None)
Displays a prompt and a set of responses, then waits for a response which is checked against the responses and the first to match is returned.
source code
Variables [hide private]
  __package__ = '_emerge'

Imports: signal, sys, bold, create_color_func


Function Details [hide private]

userquery(prompt, enter_invalid, responses=None, colours=None)

source code 

Displays a prompt and a set of responses, then waits for a response which is checked against the responses and the first to match is returned. An empty response will match the first value in responses, unless enter_invalid is True. The input buffer is *not* cleared prior to the prompt!

prompt: a String. responses: a List of Strings. colours: a List of Functions taking and returning a String, used to process the responses for display. Typically these will be functions like red() but could be e.g. lambda x: "DisplayString". If responses is omitted, defaults to ["Yes", "No"], [green, red]. If only colours is omitted, defaults to [bold, ...].

Returns a member of the List responses. (If called without optional arguments, returns "Yes" or "No".) KeyboardInterrupt is converted to SystemExit to avoid tracebacks being printed.