User Query Class

Prompts for user interaction on the command line and stores the user’s response.

Interface

class pysk.utils.UserQuery(replies={'y': 'yes', 'n': 'no'}, maxRetries=10, defaultMessage='Proceed ?')

Query user via stdout

Parameters:
  • replies (dict) – Dictionary of allowed replies, with reply letter as key and description as value.
  • maxRetries (int) – Number of allowed retries.
  • defaultMessage (str) – Message supplied to user.
__call__(message=None, selection=None, retries=None)

Get response from user

Prints message to stdout and returns the first valid user reply.

Parameters:
  • message (str) – Message to forward to user. Defaults to standard message set in constructor
  • selection (iterable) – Subset of reply keys passed to constructor via replies
  • retries (int) – Maximum number of retries. Defaults to maxRetries set in constructor.
Returns:

User response

Raise:
IOError if maximum number of retries is exceeded.
iterOptions(selection=None)

Iterate over possible options

Parameters:selection (iterable) – Subset of replies defined in self.replies. Defaults to all known replies.
Yields:Option description with associated key