Python argparse.ZERO_OR_MORE Examples
The following are 21 code examples for showing how to use argparse.ZERO_OR_MORE(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
argparse
, or try the search function
.
Example 1
Project: roca Author: crocs-muni File: detect_tls.py License: MIT License | 6 votes |
def init_parser(self): """ Init command line parser :return: """ parser = argparse.ArgumentParser(description='ROCA TLS Fingerprinter') parser.add_argument('--debug', dest='debug', default=False, action='store_const', const=True, help='Debugging logging') parser.add_argument('--dump', dest='dump', default=False, action='store_const', const=True, help='Dump all processed info') parser.add_argument('--flatten', dest='flatten', default=False, action='store_const', const=True, help='Flatten the dump') parser.add_argument('--indent', dest='indent', default=False, action='store_const', const=True, help='Indent the dump') parser.add_argument('--hosts', dest='hosts', default=False, action='store_const', const=True, help='Arguments are host names not file names') parser.add_argument('files', nargs=argparse.ZERO_OR_MORE, default=[], help='files to process') return parser
Example 2
Project: qubes-core-admin Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 6 votes |
def __init__(self, option_strings, nargs=1, dest='vmnames', help=None, **kwargs): if help is None: if nargs == argparse.OPTIONAL: help = 'at most one domain name' elif nargs == 1: help = 'a domain name' elif nargs == argparse.ZERO_OR_MORE: help = 'zero or more domain names' elif nargs == argparse.ONE_OR_MORE: help = 'one or more domain names' elif nargs > 1: help = '%s domain names' % nargs else: raise argparse.ArgumentError( nargs, "Passed unexpected value {!s} as {!s} nargs ".format( nargs, dest)) super(VmNameAction, self).__init__(option_strings, dest=dest, help=help, nargs=nargs, **kwargs)
Example 3
Project: qubes-core-admin Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 6 votes |
def __init__(self, option_strings, nargs=1, dest='vmnames', help=None, **kwargs): # pylint: disable=redefined-builtin if help is None: if nargs == argparse.OPTIONAL: help = 'at most one running domain' elif nargs == 1: help = 'running domain name' elif nargs == argparse.ZERO_OR_MORE: help = 'zero or more running domains' elif nargs == argparse.ONE_OR_MORE: help = 'one or more running domains' elif nargs > 1: help = '%s running domains' % nargs else: raise argparse.ArgumentError( nargs, "Passed unexpected value {!s} as {!s} nargs ".format( nargs, dest)) super(RunningVmNameAction, self).__init__( option_strings, dest=dest, help=help, nargs=nargs, **kwargs)
Example 4
Project: GTDBTk Author: Ecogenomics File: custom_help_formatter.py License: GNU General Public License v3.0 | 6 votes |
def _get_help_string(self, action): """Place default value in help string.""" h = action.help if '%(default)' not in action.help: if action.default != '' and action.default != [] and \ action.default is not None and \ not isinstance(type(action.default), bool): if action.default is not argparse.SUPPRESS: defaulting_nargs = [ argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: if '\n' in h: lines = h.splitlines() lines[0] += ' (default: %(default)s)' h = '\n'.join(lines) else: h += ' (default: %(default)s)' return h
Example 5
Project: cmd2 Author: python-cmd2 File: test_argparse_custom.py License: MIT License | 6 votes |
def test_apcustom_narg_tuple_zero_base(): parser = Cmd2ArgumentParser() arg = parser.add_argument('arg', nargs=(0,)) assert arg.nargs == argparse.ZERO_OR_MORE assert arg.nargs_range is None assert "[arg [...]]" in parser.format_help() parser = Cmd2ArgumentParser() arg = parser.add_argument('arg', nargs=(0, 1)) assert arg.nargs == argparse.OPTIONAL assert arg.nargs_range is None assert "[arg]" in parser.format_help() parser = Cmd2ArgumentParser() arg = parser.add_argument('arg', nargs=(0, 3)) assert arg.nargs == argparse.ZERO_OR_MORE assert arg.nargs_range == (0, 3) assert "arg{0..3}" in parser.format_help() # noinspection PyUnresolvedReferences
Example 6
Project: cmd2 Author: python-cmd2 File: argparse_custom.py License: MIT License | 6 votes |
def _format_args(self, action, default_metavar) -> str: get_metavar = self._metavar_formatter(action, default_metavar) # Begin cmd2 customization (less verbose) nargs_range = getattr(action, ATTR_NARGS_RANGE, None) if nargs_range is not None: if nargs_range[1] == constants.INFINITY: range_str = '{}+'.format(nargs_range[0]) else: range_str = '{}..{}'.format(nargs_range[0], nargs_range[1]) result = '{}{{{}}}'.format('%s' % get_metavar(1), range_str) elif action.nargs == ZERO_OR_MORE: result = '[%s [...]]' % get_metavar(1) elif action.nargs == ONE_OR_MORE: result = '%s [...]' % get_metavar(1) elif isinstance(action.nargs, int) and action.nargs > 1: result = '{}{{{}}}'.format('%s' % get_metavar(1), action.nargs) # End cmd2 customization else: result = super()._format_args(action, default_metavar) return result # noinspection PyCompatibility
Example 7
Project: qubes-core-admin-client Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 6 votes |
def __init__(self, option_strings, nargs=1, dest='vmnames', help=None, **kwargs): if help is None: if nargs == argparse.OPTIONAL: help = 'at most one domain name' elif nargs == 1: help = 'a domain name' elif nargs == argparse.ZERO_OR_MORE: help = 'zero or more domain names' elif nargs == argparse.ONE_OR_MORE: help = 'one or more domain names' elif nargs > 1: help = '%s domain names' % nargs else: raise argparse.ArgumentError( nargs, "Passed unexpected value {!s} as {!s} nargs ".format( nargs, dest)) super(VmNameAction, self).__init__(option_strings, dest=dest, help=help, nargs=nargs, **kwargs)
Example 8
Project: qubes-core-admin-client Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 6 votes |
def __init__(self, option_strings, nargs=1, dest='vmnames', help=None, **kwargs): # pylint: disable=redefined-builtin if help is None: if nargs == argparse.OPTIONAL: help = 'at most one running domain' elif nargs == 1: help = 'running domain name' elif nargs == argparse.ZERO_OR_MORE: help = 'zero or more running domains' elif nargs == argparse.ONE_OR_MORE: help = 'one or more running domains' elif nargs > 1: help = '%s running domains' % nargs else: raise argparse.ArgumentError( nargs, "Passed unexpected value {!s} as {!s} nargs ".format( nargs, dest)) super(RunningVmNameAction, self).__init__( option_strings, dest=dest, help=help, nargs=nargs, **kwargs)
Example 9
Project: SqueezeMeta Author: jtamames File: custom_help_formatter.py License: GNU General Public License v3.0 | 6 votes |
def _get_help_string(self, action): """Place default value in help string.""" h = action.help if '%(default)' not in action.help: if action.default != '' and action.default != [] and action.default is not None and type(action.default) != bool: if action.default is not argparse.SUPPRESS: defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: if '\n' in h: lines = h.splitlines() lines[0] += ' (default: %(default)s)' h = '\n'.join(lines) else: h += ' (default: %(default)s)' return h
Example 10
Project: ceph-lcm Author: Mirantis File: cliutils.py License: Apache License 2.0 | 6 votes |
def prepare_playbook_plugin(): @configure def main(): parser = argparse.ArgumentParser( description="Prepare playbook plugins" ) parser.add_argument( "plugin_name", nargs=argparse.ZERO_OR_MORE, default=[], help="Namespace of plugin to prepare. Empty means all plugins" ) args = parser.parse_args() plugs = plugins.get_playbook_plugins() if args.plugin_name: plugs = {k: v for k, v in plugs.items() if k in args.plugin_name} plugs = {k: v() for k, v in plugs.items()} for name, plug in sorted(plugs.items()): LOG.info("Prepare plugin %s", name) plug.prepare_plugin() return main()
Example 11
Project: fastchess Author: thomasahle File: tune.py License: GNU General Public License v3.0 | 5 votes |
def _get_help_string(self, action): help = action.help if not action.default: return help if '%(default)' not in action.help: if action.default is not argparse.SUPPRESS: defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: help += ' (default: %(default)s)' return help
Example 12
Project: qubes-core-admin Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self, want_app=True, want_app_no_instance=False, want_force_root=False, vmname_nargs=None, **kwargs): super(QubesArgumentParser, self).__init__(**kwargs) self._want_app = want_app self._want_app_no_instance = want_app_no_instance self._want_force_root = want_force_root self._vmname_nargs = vmname_nargs if self._want_app: self.add_argument('--qubesxml', metavar='FILE', action='store', dest='app', help=argparse.SUPPRESS) self.add_argument('--offline-mode', action='store_true', default=None, dest='offline_mode', help=argparse.SUPPRESS) self.add_argument('--verbose', '-v', action='count', help='increase verbosity') self.add_argument('--quiet', '-q', action='count', help='decrease verbosity') if self._want_force_root: self.add_argument('--force-root', action='store_true', default=False, help='force to run as root') if self._vmname_nargs in [argparse.ZERO_OR_MORE, argparse.ONE_OR_MORE]: vm_name_group = VmNameGroup(self, self._vmname_nargs) self._mutually_exclusive_groups.append(vm_name_group) elif self._vmname_nargs is not None: self.add_argument('VMNAME', nargs=self._vmname_nargs, action=VmNameAction) self.set_defaults(verbose=1, quiet=0)
Example 13
Project: WebPocket Author: TuuuNya File: argparse_completer.py License: GNU General Public License v3.0 | 5 votes |
def _format_args(self, action, default_metavar) -> str: get_metavar = self._metavar_formatter(action, default_metavar) # Begin cmd2 customization (less verbose) if isinstance(action, _RangeAction) and \ action.nargs_min is not None and action.nargs_max is not None: result = '{}{{{}..{}}}'.format('%s' % get_metavar(1), action.nargs_min, action.nargs_max) elif action.nargs == ZERO_OR_MORE: result = '[%s [...]]' % get_metavar(1) elif action.nargs == ONE_OR_MORE: result = '%s [...]' % get_metavar(1) # End cmd2 customization else: result = super()._format_args(action, default_metavar) return result
Example 14
Project: ParlAI Author: facebookresearch File: params.py License: MIT License | 5 votes |
def _get_help_string(self, action): help = action.help if '%(default)' not in action.help: if action.default is not argparse.SUPPRESS: defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: help += ' (default: %(default)s)' if ( hasattr(action, 'recommended') and action.recommended and action.recommended != action.default ): help += '(recommended: %(recommended)s)' help = help.replace(')(recommended', ', recommended') return help
Example 15
Project: aiven-client Author: aiven File: argx.py License: Apache License 2.0 | 5 votes |
def _get_help_string(self, action): help_text = action.help if '%(default)' not in action.help and action.default is not argparse.SUPPRESS: if action.option_strings or action.nargs in [argparse.OPTIONAL, argparse.ZERO_OR_MORE]: if ( (not isinstance(action.default, bool) and isinstance(action.default, int)) or (isinstance(action.default, str) and action.default) ): help_text += ' (default: %(default)s)' return help_text
Example 16
Project: ColorWallpaper Author: BranislavBajuzik File: CLI.py License: GNU General Public License v3.0 | 5 votes |
def _get_help_string(self, action): self.default = None if action.default not in (None, argparse.SUPPRESS): if action.option_strings or action.nargs in (argparse.OPTIONAL, argparse.ZERO_OR_MORE): self.default = self.__format_map.get(action.dest, lambda s: s)(action.default) return action.help
Example 17
Project: cmd2 Author: python-cmd2 File: argparse_completer.py License: MIT License | 5 votes |
def __init__(self, arg_action: argparse.Action) -> None: self.action = arg_action self.min = None self.max = None self.count = 0 self.is_remainder = (self.action.nargs == argparse.REMAINDER) # Check if nargs is a range nargs_range = getattr(self.action, ATTR_NARGS_RANGE, None) if nargs_range is not None: self.min = nargs_range[0] self.max = nargs_range[1] # Otherwise check against argparse types elif self.action.nargs is None: self.min = 1 self.max = 1 elif self.action.nargs == argparse.OPTIONAL: self.min = 0 self.max = 1 elif self.action.nargs == argparse.ZERO_OR_MORE or self.action.nargs == argparse.REMAINDER: self.min = 0 self.max = constants.INFINITY elif self.action.nargs == argparse.ONE_OR_MORE: self.min = 1 self.max = constants.INFINITY else: self.min = self.action.nargs self.max = self.action.nargs # noinspection PyProtectedMember
Example 18
Project: ClusterRunner Author: box File: argument_parsing.py License: Apache License 2.0 | 5 votes |
def _get_help_string(self, action): """ Appends the default argument value to the help string for non-required args that have default values. This implementation is loosely based off of the argparse.ArgumentDefaultsHelpFormatter. """ help_string = action.help if not action.required: if action.default not in (argparse.SUPPRESS, None): defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: # using old string formatting style here because argparse internals use that help_string += ' (default: %(default)s)' return help_string
Example 19
Project: qubes-core-admin-client Author: QubesOS File: __init__.py License: GNU Lesser General Public License v2.1 | 5 votes |
def __init__(self, want_app=True, want_app_no_instance=False, vmname_nargs=None, **kwargs): super(QubesArgumentParser, self).__init__(add_help=False, **kwargs) self._want_app = want_app self._want_app_no_instance = want_app_no_instance self._vmname_nargs = vmname_nargs if self._want_app: self.add_argument('--qubesxml', metavar='FILE', action='store', dest='app', help=argparse.SUPPRESS) self.add_argument('--offline-mode', action='store_true', default=None, dest='offline_mode', help=argparse.SUPPRESS) self.add_argument('--verbose', '-v', action='count', help='increase verbosity') self.add_argument('--quiet', '-q', action='count', help='decrease verbosity') self.add_argument('--force-root', action='store_true', default=False, help=argparse.SUPPRESS) self.add_argument('--help', '-h', action=SubParsersHelpAction, help='show this help message and exit') if self._vmname_nargs in [argparse.ZERO_OR_MORE, argparse.ONE_OR_MORE]: vm_name_group = VmNameGroup(self, required=(self._vmname_nargs not in [argparse.ZERO_OR_MORE, argparse.OPTIONAL])) self._mutually_exclusive_groups.append(vm_name_group) elif self._vmname_nargs is not None: self.add_argument('VMNAME', nargs=self._vmname_nargs, action=VmNameAction) self.set_defaults(verbose=1, quiet=0)
Example 20
Project: protect Author: BD2KGenomics File: pipelineWrapper.py License: Apache License 2.0 | 5 votes |
def _get_help_string(self, action): ''' This module was taken from the RawDescriptionHelpFormatter class within argparse. It deals with the formatting of the description string and allows properly formatted descriptions ot be printed without line wrapping. ''' help = action.help if '%(default)' not in action.help: if action.default is not argparse.SUPPRESS: defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: help += ' (default: %(default)s)' return help
Example 21
Project: SqueezeMeta Author: jtamames File: customHelpFormatter.py License: GNU General Public License v3.0 | 5 votes |
def _get_help_string(self, action): h = action.help if '%(default)' not in action.help: if action.default != '' and action.default != [] and action.default != None and action.default != False: if action.default is not argparse.SUPPRESS: defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE] if action.option_strings or action.nargs in defaulting_nargs: if '\n' in h: lines = h.splitlines() lines[0] += ' (default: %(default)s)' h = '\n'.join(lines) else: h += ' (default: %(default)s)' return h