watson.console.runner

exception watson.console.runner.ConsoleError[source]

An error that should be raised from within the command.

class watson.console.runner.Runner(commands=None)[source]

A command line runner that allows new commands to be added and run on demand.

Commands can be added either as a fully qualified name, or imported.

Example:

runner = Runner(commands=['module.commands.ACommand'])
runner()
__init__(commands=None)[source]
add_command(command)[source]

Convenience method to add new commands after the runner has been initialized.

Parameters:command (string|class) – the command to add
add_commands(commands)[source]

Convenience method to add multiple commands.

Parameters:commands (list|tuple) – the commands to add
attach_commands(parser, namespace)[source]

Register the commands against the parser.

Parameters:
  • parser – The parser to add commands to
  • namespace – The namespace the commands should sit within
commands[source]

A list of all commands added to the runner.

Returns:OrderedDict containing all the commands.
execute(args)[source]

Execute the runner and any commands the user has specified.

get_command(command_name)[source]

Returns an initialized command from the attached commands.

Parameters:command_name – The command name to retrieve
name[source]

Returns the name of the script that runner was executed from.

update_usage(parser, namespace, is_subparser=False)[source]

Updates the usage for the relevant parser.

Forces the usage message to include the namespace and color.