[issue22848] Subparser help does not respect SUPPRESS argument
BJ Dierkes
report at bugs.python.org
Fri Feb 20 07:59:04 CET 2015
BJ Dierkes added the comment:
I would like to add to this regarding the following:
[QUOTE]
Why would a user want to use `help=argparse.SUPPRESS`, as opposed to simply omitting the `help` parameter? The effect would be the same as your patch.
[/QUOTE]
This actually isn't the case, if you omit the 'help' option entirely, the sub-parser is still listed in the {short_list}. For example:
import argparse
root_parser = argparse.ArgumentParser(prog='myapp')
root_parser.add_argument('--foo', action=CustomAction)
sub_parsers = root_parser.add_subparsers(dest='commands', title='subcommands')
sub_parser = sub_parsers.add_parser('sub-command-1', help='useless help txt')
sub_parser = sub_parsers.add_parser('sub-command-2', help=argparse.SUPPRESS)
sub_parser = sub_parsers.add_parser('sub-command-3')
args = root_parser.parse_args()
You end up with:
$ python argtest.py --help
usage: myapp [-h] [--foo FOO] {sub-command-1,sub-command-2,sub-command-3} ...
optional arguments:
-h, --help show this help message and exit
--foo FOO
subcommands:
{sub-command-1,sub-command-2,sub-command-3}
sub-command-1 useless help txt
sub-command-2 ==SUPPRESS==
The 'sub-command-3' is still listed in the {sub-parsers} .... where, if I want to hide a sub-parser... I don't want to see it anywhere. Would be ideal to have a 'hide=True' option for sub-parsers and arguments alike. All the same functionality, you just wouldn't see it in '--help'.
----------
nosy: +derks
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22848>
_______________________________________
More information about the Python-bugs-list
mailing list