plainbox.impl.commands.script – script sub-command

class plainbox.impl.commands.script.ScriptInvocation(provider_loader, config_loader, job_id)[source]

Bases: plainbox.impl.commands.inv_checkbox.CheckBoxInvocationMixIn

Helper class instantiated to perform a particular invocation of the script command. Unlike ScriptCommand this class is instantiated each time the command is to be invoked.

config
get_job_list(ns)

Load and return a list of JobDefinition instances

get_whitelist_from_file(filename, stream=None)

Load a whitelist from a file, with special behavior.

Parameters:
  • filename – name of the file to load
  • stream – (optional) pre-opened stream pointing at the whitelist
Returns:

The loaded whitelist or None if loading fails for any reason

This function implements special loading behavior for whitelists that makes them inherit the implicit namespace of the provider they may be a part of. Before loading the whitelist directly from the file, all known providers are interrogated to see if any of them has a whitelist that was loaded from the same file (as indicated by os.path.realpath())

The stream argument can be provided if the caller already has an open file object, which is typically the case when working with argparse.

provider_list
run()[source]
class plainbox.impl.commands.script.ScriptCommand(provider_loader, config_loader)[source]

Bases: plainbox.impl.commands.PlainBoxCommand

Command for running the script embedded in a command of a job unconditionally.

add_subcommand(subparsers)

Add a parser to the specified subparsers instance.

Returns:The new parser for the added subcommand

This command works by convention, depending on get_command_name(), :meth:`get_command_help(), get_command_description() and get_command_epilog().

autopager()

Enable automatic pager.

This invokes autopager() which wraps execution in a pager program so that long output is not a problem to read. Do not call this in interactive commands.

get_command_description()

Get a multi-line description string associated with this command, as seen on command line.

The description is printed after command usage but before argument and option definitions.

Returns:self.description, if defined
Returns:A substring of the class docstring between the first line (which goes to get_command_help()) and the string @EPILOG@, if present, or the end of the docstring, if any.
Returns:None, otherwise
get_command_epilog()

Get a multi-line description string associated with this command, as seen on command line.

The epilog is printed after the definitions of arguments and options

Returns:self.epilog, if defined
Returns:A substring of the class docstring between the string @EPILOG and the end of the docstring, if defined
Returns:None, otherwise
get_command_help()

Get a single-line help string associated with this command, as seen on command line.

Returns:self.help, if defined
Returns:The first line of the docstring of this class, if any
Returns:None, otherwise
get_command_name()

Get the name of the command, as seen on command line.

Returns:self.name, if defined
Returns:lower-cased class name, with the string “command” stripped out
get_gettext_domain()

Get the gettext translation domain associated with this command.

The domain will be used to translate the description, epilog and help string, as obtained by their respective methods.

Returns:self.gettext_domain, if defined
Returns:None, otherwise. Note that it will cause the string to be translated with the globally configured domain.
get_localized_docstring()

Get a cleaned-up, localized copy of docstring of this class.

gettext_domain = 'plainbox'
invoked(ns)[source]
register_arguments(parser)

Implement to customize which arguments need to be added to a parser.

This method differs from register_parser() in that it allows commands which implement it to be invoked directly from a tool class (without being a subcommand that needs to be selected). If implemented it should be used from within register_parser() to ensure identical behavior in both cases (subcommand and tool-level command)

register_parser(subparsers)[source]
comments powered by Disqus