[gnome-continuous-yocto/gnomeostree-3.28-rocko: 484/8267] scripts/bitbake-whatchanged: migrate from optparse to argparse



commit 21af6c60b0b5368bacd809dbea91125bc717ce43
Author: Humberto Ibarra <humberto ibarra lopez intel com>
Date:   Thu May 19 14:51:54 2016 -0500

    scripts/bitbake-whatchanged: migrate from optparse to argparse
    
    The script bitbake-whatchanged uses optparse library, which is
    deprecated since python 2.7. This migrates to argparse library.
    
    [Yocto #9634]
    
    (From OE-Core rev: b6c71616e66708bb1c456b83f98913b198f49a4a)
    
    Signed-off-by: Humberto Ibarra <humberto ibarra lopez intel com>
    Signed-off-by: Ross Burton <ross burton intel com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 scripts/bitbake-whatchanged |   32 ++++++++++++--------------------
 1 files changed, 12 insertions(+), 20 deletions(-)
---
diff --git a/scripts/bitbake-whatchanged b/scripts/bitbake-whatchanged
index af54d16..a20adb2 100755
--- a/scripts/bitbake-whatchanged
+++ b/scripts/bitbake-whatchanged
@@ -25,7 +25,7 @@ import shutil
 import re
 import warnings
 import subprocess
-from optparse import OptionParser
+import argparse
 
 scripts_path = os.path.abspath(os.path.dirname(os.path.abspath(sys.argv[0])))
 lib_path = scripts_path + '/lib'
@@ -38,6 +38,8 @@ bitbakepath = scriptpath.add_bitbake_lib_path()
 if not bitbakepath:
     sys.stderr.write("Unable to find bitbake by searching parent directory of this script or PATH\n")
     sys.exit(1)
+scriptpath.add_oe_lib_path()
+import argparse_oe
 
 import bb.siggen
 import bb.process
@@ -219,9 +221,7 @@ def main():
     3) Use bb.siggen.compare_sigfiles to diff the old and new stamps
     """
 
-    parser = OptionParser(
-        version = "1.0",
-        usage = """%prog [options] [package ...]
+    parser = argparse_oe.ArgumentParser(usage = """%(prog)s [options] [package ...]
 print what will be done between the current and last builds, for example:
 
     $ bitbake core-image-sato
@@ -236,17 +236,9 @@ Note:
     The "nostamp" task is not included.
 """
 )
-    parser.add_option("-v", "--verbose", help = "print the verbose changes",
-               action = "store_true", dest = "verbose")
-
-    options, args = parser.parse_args(sys.argv)
-
-    verbose = options.verbose
-
-    if len(args) != 2:
-        parser.error("Incorrect number of arguments")
-    else:
-        recipe = args[1]
+    parser.add_argument("recipe", help="recipe to check")
+    parser.add_argument("-v", "--verbose", help = "print the verbose changes", action = "store_true")
+    args = parser.parse_args()
 
     # Get the STAMPS_DIR
     print("Figuring out the STAMPS_DIR ...")
@@ -256,7 +248,7 @@ Note:
     except:
         raise
     if not stampsdir:
-        print("ERROR: No STAMPS_DIR found for '%s'" % recipe, file=sys.stderr)
+        print("ERROR: No STAMPS_DIR found for '%s'" % args.recipe, file=sys.stderr)
         return 2
     stampsdir = stampsdir.rstrip("\n")
     if not os.path.isdir(stampsdir):
@@ -272,7 +264,7 @@ Note:
     try:
         # Generate the new stamps dir
         print("Generating the new stamps ... (need several minutes)")
-        cmdline = "STAMPS_DIR=%s bitbake -S none %s" % (new_stampsdir, recipe)
+        cmdline = "STAMPS_DIR=%s bitbake -S none %s" % (new_stampsdir, args.recipe)
         # FIXME
         # The "bitbake -S" may fail, not fatal error, the stamps will still
         # be generated, this might be a bug of "bitbake -S".
@@ -310,17 +302,17 @@ Note:
         # PV (including PE) and PR changed
         # Let the bb.siggen handle them if verbose
         cnt_rv = {}
-        if not verbose:
+        if not args.verbose:
             for i in ('pv', 'pr'):
                cnt_rv[i] = print_vrchanged(new_recon, old_recon, i)
 
         # Dependencies changed (use bitbake-diffsigs)
-        cnt_dep = print_depchanged(new_recon, old_recon, verbose)
+        cnt_dep = print_depchanged(new_recon, old_recon, args.verbose)
 
         total_changed = cnt_added + (cnt_rv.get('pv') or 0) + (cnt_rv.get('pr') or 0) + cnt_dep
 
         print("\n=== Summary: (%s changed, %s unchanged)" % (total_changed, cnt_unchanged))
-        if verbose:
+        if args.verbose:
             print("Newly added: %s\nDependencies changed: %s\n" % \
                 (cnt_added, cnt_dep))
         else:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]