summaryrefslogtreecommitdiff
path: root/scripts/lib
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-12-22 17:02:54 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-12-22 16:44:02 +0000
commitd62fe7c9bc2df6a4464440a3cae0539074bf99aa (patch)
tree2e03cf6a2b6ad3d1eb2d66a52b6f0109312a7974 /scripts/lib
parent82423662e297137657d67d272276a823cf3f3d4e (diff)
downloadopenembedded-core-d62fe7c9bc2df6a4464440a3cae0539074bf99aa.tar.gz
openembedded-core-d62fe7c9bc2df6a4464440a3cae0539074bf99aa.tar.bz2
openembedded-core-d62fe7c9bc2df6a4464440a3cae0539074bf99aa.zip
scripts: print usage in argparse-using scripts when a command-line error occurs
For scripts that use Python's standard argparse module to parse command-line arguments, create a subclass which will show the usage the usage information when a command-line parsing error occurs. The most common case would be when the script is run with no arguments; at least then the user immediately gets to see what arguments they might need to pass instead of just an error message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
-rw-r--r--scripts/lib/argparse_oe.py11
-rw-r--r--scripts/lib/scriptutils.py1
2 files changed, 12 insertions, 0 deletions
diff --git a/scripts/lib/argparse_oe.py b/scripts/lib/argparse_oe.py
new file mode 100644
index 0000000000..c2fee6de05
--- /dev/null
+++ b/scripts/lib/argparse_oe.py
@@ -0,0 +1,11 @@
+import sys
+import argparse
+
+class ArgumentParser(argparse.ArgumentParser):
+ """Our own version of argparse's ArgumentParser"""
+
+ def error(self, message):
+ sys.stderr.write('ERROR: %s\n' % message)
+ self.print_help()
+ sys.exit(2)
+
diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py
index 3366882635..4dd7ef2a0d 100644
--- a/scripts/lib/scriptutils.py
+++ b/scripts/lib/scriptutils.py
@@ -19,6 +19,7 @@ import sys
import os
import logging
import glob
+import argparse
def logger_create(name):
logger = logging.getLogger(name)