summaryrefslogtreecommitdiff
path: root/contrib/source-checker/oe-source-checker.py
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openembedded.org>2007-10-18 13:04:40 +0000
committerMarcin Juszkiewicz <hrw@openembedded.org>2007-10-18 13:04:40 +0000
commit39ff8d86e924cc56ac94b7c07cf2b5f134c11748 (patch)
tree76c2d3b58d0cb720054dc7a9ba9f130205e96593 /contrib/source-checker/oe-source-checker.py
parentdb2c72991c243b6a510cbd751ae6294a8130a4c4 (diff)
source-checker: added progressbar (from BitBake) and status info at end
Diffstat (limited to 'contrib/source-checker/oe-source-checker.py')
-rw-r--r--contrib/source-checker/oe-source-checker.py31
1 files changed, 28 insertions, 3 deletions
diff --git a/contrib/source-checker/oe-source-checker.py b/contrib/source-checker/oe-source-checker.py
index 991139d44d..45ddad9997 100644
--- a/contrib/source-checker/oe-source-checker.py
+++ b/contrib/source-checker/oe-source-checker.py
@@ -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)