MWCommand

class lsst.daf.butler.cli.utils.MWCommand(*args, **kwargs)

Bases: click.core.Command

Command subclass that stores a copy of the args list for use by the command.

Attributes Summary

allow_extra_args
allow_interspersed_args
epilog Override the epilog attribute to add extra_epilog (if defined by a subclass) to the end of any epilog provided by a subcommand.
extra_epilog
ignore_unknown_options

Methods Summary

__call__(*args, **kwargs) Alias for main().
collect_usage_pieces(ctx) Returns all the pieces that go into the usage line and returns it as a list of strings.
format_epilog(ctx, formatter) Writes the epilog into the formatter if it exists.
format_help(ctx, formatter) Writes the help into the formatter if it exists.
format_help_text(ctx, formatter) Writes the help text to the formatter if it exists.
format_options(ctx, formatter) Writes all the options into the formatter if they exist.
format_usage(ctx, formatter) Writes the usage line into the formatter.
get_help(ctx) Formats the help into a string and returns it.
get_help_option(ctx) Returns the help option object.
get_help_option_names(ctx) Returns the names for the help option.
get_params(ctx)
get_short_help_str([limit]) Gets short help for the command or makes it by shortening the long help string.
get_usage(ctx) Formats the usage line into a string and returns it.
invoke(ctx) Given a context, this invokes the attached callback (if it exists) in the right way.
main([args, prog_name, complete_var, …]) This is the way to invoke a script with all the bells and whistles as a command line application.
make_context(info_name, args[, parent]) This function when given an info name and arguments will kick off the parsing and create a new Context.
make_parser(ctx) Creates the underlying option parser for this command.
parse_args(ctx, args) Given a context and a list of arguments this creates the parser and parses the arguments, then modifies the context as necessary.

Attributes Documentation

allow_extra_args = False
allow_interspersed_args = True
epilog

Override the epilog attribute to add extra_epilog (if defined by a subclass) to the end of any epilog provided by a subcommand.

extra_epilog = None
ignore_unknown_options = False

Methods Documentation

__call__(*args, **kwargs)

Alias for main().

collect_usage_pieces(ctx)

Returns all the pieces that go into the usage line and returns it as a list of strings.

format_epilog(ctx, formatter)

Writes the epilog into the formatter if it exists.

format_help(ctx, formatter)

Writes the help into the formatter if it exists.

This is a low-level method called by get_help().

This calls the following methods:

format_help_text(ctx, formatter)

Writes the help text to the formatter if it exists.

format_options(ctx, formatter)

Writes all the options into the formatter if they exist.

format_usage(ctx, formatter)

Writes the usage line into the formatter.

This is a low-level method called by get_usage().

get_help(ctx)

Formats the help into a string and returns it.

Calls format_help() internally.

get_help_option(ctx)

Returns the help option object.

get_help_option_names(ctx)

Returns the names for the help option.

get_params(ctx)
get_short_help_str(limit=45)

Gets short help for the command or makes it by shortening the long help string.

get_usage(ctx)

Formats the usage line into a string and returns it.

Calls format_usage() internally.

invoke(ctx)

Given a context, this invokes the attached callback (if it exists) in the right way.

main(args=None, prog_name=None, complete_var=None, standalone_mode=True, **extra)

This is the way to invoke a script with all the bells and whistles as a command line application. This will always terminate the application after a call. If this is not wanted, SystemExit needs to be caught.

This method is also available by directly calling the instance of a Command.

New in version 3.0: Added the standalone_mode flag to control the standalone mode.

Parameters:
  • args – the arguments that should be used for parsing. If not provided, sys.argv[1:] is used.
  • prog_name – the program name that should be used. By default the program name is constructed by taking the file name from sys.argv[0].
  • complete_var – the environment variable that controls the bash completion support. The default is "_<prog_name>_COMPLETE" with prog_name in uppercase.
  • standalone_mode – the default behavior is to invoke the script in standalone mode. Click will then handle exceptions and convert them into error messages and the function will never return but shut down the interpreter. If this is set to False they will be propagated to the caller and the return value of this function is the return value of invoke().
  • extra – extra keyword arguments are forwarded to the context constructor. See Context for more information.
make_context(info_name, args, parent=None, **extra)

This function when given an info name and arguments will kick off the parsing and create a new Context. It does not invoke the actual command callback though.

Parameters:
  • info_name – the info name for this invokation. Generally this is the most descriptive name for the script or command. For the toplevel script it’s usually the name of the script, for commands below it it’s the name of the script.
  • args – the arguments to parse as list of strings.
  • parent – the parent context if available.
  • extra – extra keyword arguments forwarded to the context constructor.
make_parser(ctx)

Creates the underlying option parser for this command.

parse_args(ctx, args)

Given a context and a list of arguments this creates the parser and parses the arguments, then modifies the context as necessary. This is automatically invoked by make_context().

This function overrides click.Command.parse_args.

The call to _capture_args in this override stores the arguments (option names, option value, and argument values) that were used by the caller on the command line in the context object. These stored arugments can be used by the command function, e.g. to process options in the order they appeared on the command line (pipetask uses this feature to create pipeline actions in an order from different options).

Parameters:
ctx : click.core.Context

The current Context.ß

args : list [str]

The list of arguments from the command line, split at spaces but not at separators (like “=”).