Parser¶
- class nutcli.parser.SubparsersAction(option_strings, prog, parser_class, dest='==SUPPRESS==', required=False, help=None, metavar=None)¶
Bases:
argparse._SubParsersAction
Provide a subparser action that can create subparsers with ability of grouping arguments.
It is based on the patch from:
You most probably do not need to use this yourself. Hovewer, you can see it in action in the source code of
nutcli.commands.CommandParser
.- add_parser_group(title)¶
Add new parser group.
- Parameters
title (str) – Title.
- Returns
Parser group that can have additional parsers attached.
- Return type
argparse.Action
extended withadd_parser
method
- class nutcli.parser.UniqueAppendAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)¶
Bases:
argparse.Action
Append value to a list and make sure there are no duplicates.
parser = argparse.ArgumentParser() parser.add_argument( 'list', nargs='*', choices=['all', 'a', 'b', 'c'], action=UniqueAppendAction, default='all', help='Choose values. Multiple values may be set. (Default "all")' ) args = parser.parse_args(['--list', 'a', '--list', 'b', '--list', 'a']) print(args.list) # -> ['a', 'b']
- class nutcli.parser.UniqueAppendConstAction(*args, **kwargs)¶
Bases:
nutcli.parser.UniqueAppendAction
Append const value to a list and make sure there are no duplicates.
parser = argparse.ArgumentParser() parser.add_argument( '-f', '--failed', const='failed', dest='filter', action=UniqueAppendConstAction, help='Show failed items.' ) parser.add_argument( '-a', '--aborted', const='aborted', dest='filter', action=UniqueAppendConstAction, help='Show aborted items.' ) parser.add_argument( '-s', '--successful', const='success', dest='filter', action=UniqueAppendConstAction, help='Show successful items.' ) args = parser.parse_args(['-f', '-a', '-s', '-f']) print(args.filter) # -> ['failed', 'aborted', 'success']
- class nutcli.parser.NegateAction(*args, **kwargs)¶
Bases:
argparse.Action
Implements toggle argumnets.
Stores True if –arg is present, False if –no-arg is present.
parser = argparse.ArgumentParser() # You can set default value using 'default' parameter. parser.add_argument( '--arg', '--no-arg', action=NegateAction, help='Enable/disable arg.' ) args = parser.parse_args([]) print(args.arg) # -> None args = parser.parse_args(['--arg']) print(args.arg) # -> True args = parser.parse_args(['--no-arg']) print(args.arg) # -> False