scripts: ensure not specifying subcommand shows help text

With Python 2, argparse subparsers behaviour in Python 2 was to print
the usage information if the subparsers argument wasn't specified.
However, with Python 3.2.3 and later a subparsers argument is not
required by default, leading to errors when no arguments are specified:

  AttributeError: 'Namespace' object has no attribute 'func'

Restore the previous desired behaviour of showing the help text for
devtool, recipetool and the devtool-stress script by setting
subparsers.required to True.

(From OE-Core rev: d36fdea1a7f32d97187e0e9e6d701ae8fa304e8f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton
2016-06-13 16:43:41 +12:00
committed by Richard Purdie
parent 5c1b9fd541
commit b41b2fa4dd
3 changed files with 3 additions and 0 deletions

View File

@@ -301,6 +301,7 @@ def main():
tinfoil.shutdown()
subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='<subcommand>')
subparsers.required = True
subparsers.add_subparser_group('sdk', 'SDK maintenance', -2)
subparsers.add_subparser_group('advanced', 'Advanced', -1)