[OE-core] [PATCH 3/3] scripts: ensure not specifying subcommand shows help text
Paul Eggleton
paul.eggleton at linux.intel.com
Mon Jun 13 04:43:41 UTC 2016
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 <paul.eggleton at linux.intel.com>
---
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 2723491..ab77a2d 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='<subcommand>')
+ 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 63d2ef9..a93a11f 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='<subcommand>')
+ 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 0e8bffb..17233d4 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='<subcommand>')
+ subparsers.required = True
if global_args.debug:
logger.setLevel(logging.DEBUG)
--
2.5.5
More information about the Openembedded-core
mailing list