diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-10-18 15:19:58 +0100 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2013-10-28 17:08:07 +0000 |
commit | feb317513fff638ad7abdba8ab34b8413f0ab055 (patch) | |
tree | 19ccb798dcd792030fab2a1256b719957e91b312 /scripts/oe-pkgdata-util | |
parent | 8b9ee57afbbcf633cba66e4b6e8ab7339ad6d391 (diff) | |
download | openembedded-core-feb317513fff638ad7abdba8ab34b8413f0ab055.tar.gz openembedded-core-feb317513fff638ad7abdba8ab34b8413f0ab055.tar.bz2 openembedded-core-feb317513fff638ad7abdba8ab34b8413f0ab055.zip |
scripts/oe-pkgdata-util: improve help text and command line parsing
* Use optparse to parse command line
* Make help text actually helpful by describing what each command does
* Drop comment at the top listing the commands which is now superfluous
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Diffstat (limited to 'scripts/oe-pkgdata-util')
-rwxr-xr-x | scripts/oe-pkgdata-util | 78 |
1 files changed, 38 insertions, 40 deletions
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index c0fd50d549..e34fcbe079 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -4,7 +4,7 @@ # # Written by: Paul Eggleton <paul.eggleton@linux.intel.com> # -# Copyright 2012 Intel Corporation +# Copyright 2012-2013 Intel Corporation # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 as @@ -19,28 +19,16 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # -# -# Currently only has two functions: -# 1) glob - mapping of packages to their dev/dbg/doc/locale etc. counterparts. -# 2) read-value - mapping of packagenames to their location in -# pkgdata and then returns value of selected variable (e.g. PKGSIZE) -# Could be extended in future to perform other useful querying functions on the -# pkgdata though. -# import sys import os import os.path import fnmatch import re - -def usage(): - print("syntax: oe-pkgdata-util glob [-d] <pkgdatadir> <pkglist> \"<globs>\"\n \ - read-value [-d] <pkgdatadir> <value-name> \"<pkgs>\""); - +import optparse -def glob(args): +def glob(args, usage): if len(args) < 3: usage() sys.exit(1) @@ -151,7 +139,7 @@ def glob(args): print("\n".join(mappedpkgs)) -def read_value(args): +def read_value(args, usage): if len(args) < 3: usage() sys.exit(1) @@ -186,28 +174,38 @@ def read_value(args): qvar = "%s_%s" % (var, mappedpkg) print(readvar(revlink, qvar)) -# Too lazy to use getopt -debug = False -noopt = False -args = [] -for arg in sys.argv[1:]: - if arg == "--": - noopt = True + +def main(): + parser = optparse.OptionParser( + usage = '''%prog [options] <command> <arguments> + +Available commands: + glob <pkgdatadir> <pkglistfile> "<globs>" + expand one or more glob expressions over the packages listed in + pkglistfile (one package per line) + read-value <pkgdatadir> <value-name> "<pkgs>" + read the named value from the pkgdata files for the specified + packages''') + + parser.add_option("-d", "--debug", + help = "Report all SRCREV values, not just ones where AUTOREV has been used", + action="store_true", dest="debug") + + options, args = parser.parse_args(sys.argv) + args = args[1:] + + if len(args) < 1: + parser.print_help() + sys.exit(1) + + if args[0] == "glob": + glob(args[1:], parser.print_help) + elif args[0] == "read-value": + read_value(args[1:], parser.print_help) else: - if not noopt: - if arg == "-d": - debug = True - continue - args.append(arg) - -if len(args) < 1: - usage() - sys.exit(1) - -if args[0] == "glob": - glob(args[1:]) -elif args[0] == "read-value": - read_value(args[1:]) -else: - usage() - sys.exit(1) + parser.print_help() + sys.exit(1) + + +if __name__ == "__main__": + main() |