charmhelpers.cli package

charmhelpers.cli.commands module

This module loads sub-modules into the python runtime so they can be discovered via the inspect module. In order to prevent flake8 from (rightfully) telling us these are unused modules, throw a ‘ # noqa’ at the end of each import so that the warning is suppressed.

charmhelpers.cli.host module

charmhelpers.cli.host.mounts()

List mounts

class charmhelpers.cli.CommandLine

Bases: object

argument_parser = None
exit_code = 0
formatter = None
no_output(decorated)

Subcommand is not expected to return a value, so don’t print a spurious None.

run()

Run cli, processing arguments and executing subcommands.

subcommand(command_name=None)

Decorate a function as a subcommand. Use its arguments as the command-line arguments

subcommand_builder(command_name, description=None)

Decorate a function that builds a subcommand. Builders should accept a single argument (the subparser instance) and return the function to be run as the command.

subparsers = None
test_command(decorated)

Subcommand is a boolean test function, so bool return values should be converted to a 0/1 exit code.

class charmhelpers.cli.OutputFormatter(outfile=<open file '<stdout>', mode 'w'>)

Bases: object

add_arguments(argument_parser)
csv(output)

Output data as excel-compatible CSV

format_output(output, fmt='raw')
json(output)

Output data in JSON format

py(output)

Output data as a nicely-formatted python data structure

raw(output)

Output data as raw string (default)

supported_formats
tab(output)

Output data in excel-compatible tab-delimited format

yaml(output)

Output data in YAML format

charmhelpers.cli.describe_arguments(func)

Analyze a function’s signature and return a data structure suitable for passing in as arguments to an argparse parser’s add_argument() method.