From 21633d8f3c95add3368d782ad8fb4cb2540e97f2 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Mon, 13 Jun 2016 16:01:30 +1200 Subject: 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. Signed-off-by: Paul Eggleton --- scripts/contrib/devtool-stress.py | 1 + scripts/devtool | 1 + scripts/recipetool | 1 + 3 files changed, 3 insertions(+) diff --git a/scripts/contrib/devtool-stress.py b/scripts/contrib/devtool-stress.py index 2723491b4a..ab77a2d1f6 100755 --- a/scripts/contrib/devtool-stress.py +++ b/scripts/contrib/devtool-stress.py @@ -213,6 +213,7 @@ def main(): parser.add_argument('-s', '--skip', help='Skip specified recipes (comma-separated without spaces, wildcards allowed)', metavar='PNLIST') parser.add_argument('-c', '--skip-classes', help='Skip recipes inheriting specified classes (comma-separated) - default %(default)s', metavar='CLASSLIST', default='native,nativesdk,cross,cross-canadian,image,populate_sdk,meta,packagegroup') subparsers = parser.add_subparsers(title='subcommands', metavar='') + subparsers.required = True parser_modify = subparsers.add_parser('modify', help='Run "devtool modify" followed by a build with bitbake on matching recipes', diff --git a/scripts/devtool b/scripts/devtool index 63d2ef9053..a93a11f341 100755 --- a/scripts/devtool +++ b/scripts/devtool @@ -301,6 +301,7 @@ def main(): tinfoil.shutdown() subparsers = parser.add_subparsers(dest="subparser_name", title='subcommands', metavar='') + subparsers.required = True subparsers.add_subparser_group('sdk', 'SDK maintenance', -2) subparsers.add_subparser_group('advanced', 'Advanced', -1) diff --git a/scripts/recipetool b/scripts/recipetool index 0e8bffb5c0..17233d4ef0 100755 --- a/scripts/recipetool +++ b/scripts/recipetool @@ -60,6 +60,7 @@ def main(): parser.add_argument('-h', '--help', action='help', default=argparse.SUPPRESS, help='show this help message and exit') subparsers = parser.add_subparsers(title='subcommands', metavar='') + subparsers.required = True if global_args.debug: logger.setLevel(logging.DEBUG) -- cgit 1.2.3-korg