From feb317513fff638ad7abdba8ab34b8413f0ab055 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 18 Oct 2013 15:19:58 +0100 Subject: 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 --- scripts/oe-pkgdata-util | 78 ++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 40 deletions(-) (limited to 'scripts') 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 # -# 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] \"\"\n \ - read-value [-d] \"\""); - +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] + +Available commands: + glob "" + expand one or more glob expressions over the packages listed in + pkglistfile (one package per line) + read-value "" + 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() -- cgit 1.2.3-korg