[oe-commits] org.oe.dev source-checker: added progressbar (from BitBake) and status info at end

hrw commit openembedded-commits at lists.openembedded.org
Thu Oct 18 16:36:24 UTC 2007


source-checker: added progressbar (from BitBake) and status info at end

Author: hrw at openembedded.org
Branch: org.openembedded.dev
Revision: 40d52bf1bf72c125584b4da643b7f704470ad4fc
ViewMTN: http://monotone.openembedded.org/revision/info/40d52bf1bf72c125584b4da643b7f704470ad4fc
Files:
1
contrib/source-checker/oe-source-checker.py
Diffs:

#
# mt diff -r5bc88c35c6a1a9506332f5b6f0f633c5b81ae4cd -r40d52bf1bf72c125584b4da643b7f704470ad4fc
#
# 
# 
# patch "contrib/source-checker/oe-source-checker.py"
#  from [5aabcd40189547d5ce2405c8b3bc94bbf81dfb2c]
#    to [040be52b885ada3edd5f86a0a2221133340d40ba]
# 
============================================================
--- contrib/source-checker/oe-source-checker.py	5aabcd40189547d5ce2405c8b3bc94bbf81dfb2c
+++ contrib/source-checker/oe-source-checker.py	040be52b885ada3edd5f86a0a2221133340d40ba
@@ -47,35 +47,60 @@ if len(sys.argv) < 3:
     """
     sys.exit(0)
 
-import ConfigParser, os
+import ConfigParser, os, itertools
 
 checksums_parser = ConfigParser.ConfigParser()
 checksums_parser.read(sys.argv[1])
 
+parsespin = itertools.cycle( r'|/-\\' )
+
+item = 1;
+files_total   = len(checksums_parser.sections())
+files_checked = 0
+files_good    = 0
+files_wrong   = 0
+
 for source in checksums_parser.sections():
     archive = source.split("/")[-1]
     localpath = os.path.join(sys.argv[2], archive)
     md5 = checksums_parser.get(source, "md5")
     sha = checksums_parser.get(source, "sha256")
 
+    if os.isatty(sys.stdout.fileno()):
+        sys.stdout.write("\rChecking files: %s (%04d/%04d) [%2d %%]" % ( parsespin.next(), item, files_total, item*100/files_total ) )
+        sys.stdout.flush()
+        item += 1
+
     try:
         os.stat(localpath)
     except:
         continue
 
+    files_checked += 1
+    file_ok = True
+
     try:
         md5pipe = os.popen('md5sum ' + localpath)
         md5data = (md5pipe.readline().split() or [ "" ])[0]
         md5pipe.close()
 
         if md5 != md5data:
-            print "%s has wrong md5: %s instead of %s url: %s" % (archive, md5data, md5, source) 
+            file_ok = False
+            print "\n%s has wrong md5: %s instead of %s url: %s" % (archive, md5data, md5, source) 
 
         shapipe = os.popen("oe_sha256sum " + localpath)
         shadata = (shapipe.readline().split() or [ "" ])[0]
         shapipe.close()
 
         if shadata != "" and sha != shadata:
-            print "%s has wrong sha: %s instead of %s url: %s" % (archive, shadata, sha, source) 
+            file_ok = False
+            print "\n%s has wrong sha: %s instead of %s url: %s" % (archive, shadata, sha, source) 
+
+        if file_ok:
+            files_good += 1
+        else:
+            files_wrong += 1
     except:
         pass
+
+print "\nChecked %d files. %d was OK and %d had wrong checksums." % (files_checked, files_good, files_wrong)






More information about the Openembedded-commits mailing list