Patchwork [7/7] buildhistory-collect-srcrevs: match new buildhistory-diff command line parsing

login
register
mail settings
Submitter Paul Eggleton
Date Aug. 15, 2013, 5:04 p.m.
Message ID <0a259270f3f2266b7ba627f31a20ebff983c9e01.1376585082.git.paul.eggleton@linux.intel.com>
Download mbox | patch
Permalink /patch/55887/
State Accepted
Commit 64aa7d0b53f6ad45ab1a2121e917d7a512097407
Headers show

Comments

Paul Eggleton - Aug. 15, 2013, 5:04 p.m.
* Default buildhistory directory to buildhistory/ under the current
  directory and require an option to set it
* Show a description in the help output

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
---
 scripts/buildhistory-collect-srcrevs | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

Patch

diff --git a/scripts/buildhistory-collect-srcrevs b/scripts/buildhistory-collect-srcrevs
index 7f65c90..58a2708 100755
--- a/scripts/buildhistory-collect-srcrevs
+++ b/scripts/buildhistory-collect-srcrevs
@@ -34,8 +34,9 @@  logger = logger_create()
 
 def main():
     parser = optparse.OptionParser(
+        description = "Collects the recorded SRCREV values from buildhistory and reports on them.",
         usage = """
-    %prog [options] <buildhistory-dir>""")
+    %prog [options]""")
 
     parser.add_option("-a", "--report-all",
             help = "Report all SRCREV values, not just ones where AUTOREV has been used",
@@ -43,16 +44,20 @@  def main():
     parser.add_option("-f", "--forcevariable",
             help = "Use forcevariable override for all output lines",
             action="store_true", dest="forcevariable")
+    parser.add_option("-p", "--buildhistory-dir",
+            help = "Specify path to buildhistory directory (defaults to buildhistory/ under cwd)",
+            action="store", dest="buildhistory_dir", default='buildhistory/')
 
     options, args = parser.parse_args(sys.argv)
 
-    if len(args) != 2:
+    if len(args) > 1:
+        sys.stderr.write('Invalid argument(s) specified: %s\n\n' % ' '.join(args[1:]))
         parser.print_help()
         sys.exit(1)
 
-    buildhistory_dir = args[1]
-    if not os.path.exists(buildhistory_dir):
-        logger.error('specified buildhistory path %s could not be found' % buildhistory_dir)
+    if not os.path.exists(options.buildhistory_dir):
+        sys.stderr.write('Buildhistory directory "%s" does not exist\n\n' % options.buildhistory_dir)
+        parser.print_help()
         sys.exit(1)
 
     if options.forcevariable:
@@ -61,7 +66,7 @@  def main():
         forcevariable = ''
 
     lastdir = ''
-    for root, dirs, files in os.walk(buildhistory_dir):
+    for root, dirs, files in os.walk(options.buildhistory_dir):
         if '.git' in dirs:
             dirs.remove('.git')
         for fn in files: