History

[cmd] [py2] workaround for -V to really show version

Paul Brossier committed 8 years ago

Commit f5921b91 parent fb1c5e21 file · +18 −1Browse files

Showing the changes to python (1 of 1 file). Show all

Unified · Split

python/lib/aubio/cmd.py+18−1
@@ -499,7 +499,24 @@ class process_cut(process_onset): · 498 unmodified lines
499 499
500def main():500def main():
501 parser = aubio_parser()501 parser = aubio_parser()
502 args = parser.parse_args()502 if sys.version_info[0] != 3:
503 # on py2, create a dummy ArgumentParser to workaround the
504 # optional subcommand issue. See https://bugs.python.org/issue9253
505 # This ensures that:
506 # - version string is shown when only '-V' is passed
507 # - help is printed if '-V' is passed with any other argument
508 # - any other argument get forwarded to the real parser
509 parser_root = argparse.ArgumentParser(add_help=False)
510 parser_root.add_argument('-V', '--version', help="show version",
511 action="store_true", dest="show_version")
512 args, extras = parser_root.parse_known_args()
513 if args.show_version == False: # no -V, forward to parser
514 args = parser.parse_args(extras, namespace=args)
515 elif len(extras) != 0: # -V with other arguments, print help
516 parser.print_help()
517 sys.exit(1)
518 else: # in py3, we can simply use parser directly
519 args = parser.parse_args()
503 if 'show_version' in args and args.show_version:520 if 'show_version' in args and args.show_version:
504 sys.stdout.write('aubio version ' + aubio.version + '\n')521 sys.stdout.write('aubio version ' + aubio.version + '\n')
505 sys.exit(0)522 sys.exit(0)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t