Message301437
Hopefully I'm not being obtuse, but I seem to be getting incorrect/unexpected help output when using mutually_exclusive_group under an add_argument_group if this layering is happening in a parent parser.
Here's an example of the triggering usage:
import argparse
global_options = argparse.ArgumentParser(add_help=False)
global_options.add_argument('--summary', action='store_true', help='summarize information')
global_options.add_argument('--verbose', action='store_true', help='tell us more')
output_format = global_options.add_argument_group("Output format", "ways to foo")
styles = output_format.add_mutually_exclusive_group()
styles.add_argument('--plain', dest='style')
styles.add_argument('--green', dest='style')
styles.add_argument('--blue', dest='style')
parser = argparse.ArgumentParser()
commands = parser.add_subparsers()
hit = commands.add_parser('hit', parents=[global_options])
miss = commands.add_parser('miss', parents=[global_options])
print(parser.parse_args(['hit', '-h']))
which produces:
usage: bar.py hit [-h] [--summary] [--verbose]
[--plain STYLE | --green STYLE | --blue STYLE]
optional arguments:
-h, --help show this help message and exit
--summary summarize information
--verbose tell us more
--plain STYLE
--green STYLE
--blue STYLE
Output format:
ways to foo
"--plain" "--green" and "--blue" *should* be under "Output format" |
|
Date |
User |
Action |
Args |
2017-09-06 03:42:16 | Paul Traina (discontent) | set | recipients:
+ Paul Traina (discontent) |
2017-09-06 03:42:16 | Paul Traina (discontent) | set | messageid: <1504669336.88.0.121848640258.issue31360@psf.upfronthosting.co.za> |
2017-09-06 03:42:16 | Paul Traina (discontent) | link | issue31360 messages |
2017-09-06 03:42:16 | Paul Traina (discontent) | create | |
|