pyats.cli package¶
Subpackages¶
Submodules¶
-
class
pyats.cli.base.Command(prog)¶ Bases:
pyats.cli.base._BaseCommandCommand class
Subclass this to implement a new command that can be used under CLI
-
error(msg)¶ api to raise an error to the user
-
main(argv)¶ internal entrypoint for commands
-
parse_args(argv)¶
-
run(args)¶ api to be implemented by the designer, performs the dirty work your command is designed to do
-
-
class
pyats.cli.base.CommandWithSubcommands(*args, **kwargs)¶ Bases:
pyats.cli.base.CommandCommandWithSubcommands class
Subclass this to implement a new command with subcommands under CLI
The difference between this and the Command() class is this class doesn’t directly perform actions - and defer actions to its subcommands.
-
SUBCMDS_BASECLS¶ alias of
pyats.cli.base.Subcommand
-
SUBCMDS_ENTRYPOINT= None¶
-
SUBCOMMANDS= []¶
-
load_subcmds()¶
-
run(args)¶ api to be implemented by the designer, performs the dirty work your command is designed to do
-
usage= '{prog} <subcommand> [options]'¶
-
-
class
pyats.cli.base.Subcommand(parent)¶ Bases:
pyats.cli.base._BaseCommandSubcommand class
defines a subcommand under under another command.
-
error(msg)¶ api to raise an error to the user
-
run(args)¶ runs this subcommand
-
-
class
pyats.cli.core.CLI(prog='pyats', usage='pyats <command> [options]', epilog="\n Run 'pyats <command> --help' for more information on a command.\n", commands=None)¶ Bases:
object-
COMMANDS= []¶
-
COMMANDS_BASECLS¶ alias of
pyats.cli.base.Command
-
COMMANDS_ENTRYPOINT= 'pyats.cli.commands'¶
-
configure_logging()¶
-
load_commands(commands=None)¶
-
main(argv=None)¶ CLI handler main entrypoint
-
-
class
pyats.cli.formatter.CustomHelpFormatter(*args, **kwargs)¶ Bases:
argparse.HelpFormatter-
add_usage(usage, actions, groups, prefix='Usage:\n ')¶ usage: -> Usage:
-
-
class
pyats.cli.parser.CustomParser(**kwargs)¶ Bases:
argparse.ArgumentParser-
error(message: string)¶ Prints a usage message incorporating the message to stderr and exits.
If you override this in a subclass, it should not return – it should either exit or raise an exception.
-
-
pyats.cli.utils.chunks(l, n)¶ Yield successive n-sized chunks from l.
-
pyats.cli.utils.cmd(command, cwd=None, env=None, incl_stderr=True)¶ Run a command and log its output as soon as it is produced.
-
pyats.cli.utils.cmd_timed(command, cwd=None, env=None, incl_stderr=True, timeout=None)¶ Run a command with an optional timeout. Log output after command done.
-
pyats.cli.utils.format_list(data, header=None, indent=2, columns=2)¶
-
pyats.cli.utils.format_table(data, header=None, indent=2)¶ formats a table nicely using header, data rows, and defaults to indenting to the right 2 spaces for looks.
-
pyats.cli.utils.tabulate(vals)¶
-
pyats.cli.utils.yes_or_no(question, default='')¶