VALID_ACTIONS for cli subcommands will now be a frozenset (#50058)

pull/50113/head
Toshio Kuratomi 6 years ago committed by Jordan Borean
parent 545edc9114
commit fcd1486b51

@ -96,7 +96,7 @@ class InvalidOptsParser(SortedOptParser):
class CLI(with_metaclass(ABCMeta, object)): class CLI(with_metaclass(ABCMeta, object)):
''' code behind bin/ansible* programs ''' ''' code behind bin/ansible* programs '''
VALID_ACTIONS = [] VALID_ACTIONS = frozenset()
_ITALIC = re.compile(r"I\(([^)]+)\)") _ITALIC = re.compile(r"I\(([^)]+)\)")
_BOLD = re.compile(r"B\(([^)]+)\)") _BOLD = re.compile(r"B\(([^)]+)\)")

@ -25,7 +25,7 @@ display = Display()
class ConfigCLI(CLI): class ConfigCLI(CLI):
""" Config command line class """ """ Config command line class """
VALID_ACTIONS = ("view", "dump", "list") # TODO: edit, update, search VALID_ACTIONS = frozenset(("view", "dump", "list")) # TODO: edit, update, search
def __init__(self, args, callback=None): def __init__(self, args, callback=None):
@ -36,7 +36,7 @@ class ConfigCLI(CLI):
def parse(self): def parse(self):
self.parser = CLI.base_parser( self.parser = CLI.base_parser(
usage="usage: %%prog [%s] [--help] [options] [ansible.cfg]" % "|".join(self.VALID_ACTIONS), usage="usage: %%prog [%s] [--help] [options] [ansible.cfg]" % "|".join(sorted(self.VALID_ACTIONS)),
epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0]), epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0]),
desc="View, edit, and manage ansible configuration.", desc="View, edit, and manage ansible configuration.",
) )

@ -50,7 +50,7 @@ class GalaxyCLI(CLI):
'''command to manage Ansible roles in shared repositories, the default of which is Ansible Galaxy *https://galaxy.ansible.com*.''' '''command to manage Ansible roles in shared repositories, the default of which is Ansible Galaxy *https://galaxy.ansible.com*.'''
SKIP_INFO_KEYS = ("name", "description", "readme_html", "related", "summary_fields", "average_aw_composite", "average_aw_score", "url") SKIP_INFO_KEYS = ("name", "description", "readme_html", "related", "summary_fields", "average_aw_composite", "average_aw_score", "url")
VALID_ACTIONS = ("delete", "import", "info", "init", "install", "list", "login", "remove", "search", "setup") VALID_ACTIONS = frozenset(("delete", "import", "info", "init", "install", "list", "login", "remove", "search", "setup"))
def __init__(self, args): def __init__(self, args):
self.api = None self.api = None
@ -135,7 +135,7 @@ class GalaxyCLI(CLI):
''' create an options parser for bin/ansible ''' ''' create an options parser for bin/ansible '''
self.parser = CLI.base_parser( self.parser = CLI.base_parser(
usage="usage: %%prog [%s] [--help] [options] ..." % "|".join(self.VALID_ACTIONS), usage="usage: %%prog [%s] [--help] [options] ..." % "|".join(sorted(self.VALID_ACTIONS)),
epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0]), epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0]),
desc="Perform various Role related operations.", desc="Perform various Role related operations.",
) )

@ -46,7 +46,7 @@ class VaultCLI(CLI):
The password used with vault currently must be the same for all files you wish to use together at the same time. The password used with vault currently must be the same for all files you wish to use together at the same time.
''' '''
VALID_ACTIONS = ("create", "decrypt", "edit", "encrypt", "encrypt_string", "rekey", "view") VALID_ACTIONS = frozenset(("create", "decrypt", "edit", "encrypt", "encrypt_string", "rekey", "view"))
FROM_STDIN = "stdin" FROM_STDIN = "stdin"
FROM_ARGS = "the command line args" FROM_ARGS = "the command line args"
@ -114,7 +114,7 @@ class VaultCLI(CLI):
self.parser = CLI.base_parser( self.parser = CLI.base_parser(
vault_opts=True, vault_opts=True,
vault_rekey_opts=True, vault_rekey_opts=True,
usage="usage: %%prog [%s] [options] [vaultfile.yml]" % "|".join(self.VALID_ACTIONS), usage="usage: %%prog [%s] [options] [vaultfile.yml]" % "|".join(sorted(self.VALID_ACTIONS)),
desc="encryption/decryption utility for Ansible data files", desc="encryption/decryption utility for Ansible data files",
epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0]) epilog="\nSee '%s <command> --help' for more information on a specific command.\n\n" % os.path.basename(sys.argv[0])
) )

Loading…
Cancel
Save