From 7c58b4d5fe05599ff987bf9808a05801953a9426 Mon Sep 17 00:00:00 2001 From: Mark Hymers Date: Sat, 16 Aug 2008 03:36:22 +0000 Subject: [PATCH] misc fixes Signed-off-by: Mark Hymers --- ChangeLog | 2 ++ dak/process_accepted.py | 2 +- dak/process_unchecked.py | 9 +-------- daklib/utils.py | 27 +++++++++++++++++---------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2991c5b2..4440c874 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2008-08-15 Mark Hymers + * daklib/utils.py: Actually import a module before using it. + * daklib/utils.py: Actually check we have basedict before trying to use it. diff --git a/dak/process_accepted.py b/dak/process_accepted.py index a26ce57a..5dd72f7f 100755 --- a/dak/process_accepted.py +++ b/dak/process_accepted.py @@ -276,7 +276,7 @@ def install (): # Check the hashes are all present: HACK: Can go away once all dak files # are known to be newer than the shasum changes - utils.ensure_hashes(Upload) + utils.ensure_hashes(changes, dsc, files, dsc_files) # Add the .dsc file to the DB for file in files.keys(): diff --git a/dak/process_unchecked.py b/dak/process_unchecked.py index 93187709..123fd9f3 100755 --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@ -919,19 +919,12 @@ def check_urgency (): ################################################################################ def check_hashes (): - # Make sure we recognise the format of the Files: field - format = changes.get("format", "0.0").split(".",1) - if len(format) == 2: - format = int(format[0]), int(format[1]) - else: - format = int(float(format[0])), 0 - utils.check_hash(".changes", files, "md5sum", apt_pkg.md5sum) utils.check_hash(".dsc", dsc_files, "md5sum", apt_pkg.md5sum) # This is stupid API, but it'll have to do for now until # we actually have proper abstraction - for m in utils.ensure_hashes(Upload): + for m in utils.ensure_hashes(changes, dsc, files, dsc_files): reject(m) ################################################################################ diff --git a/daklib/utils.py b/daklib/utils.py index b6b8d4c5..511d7244 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -262,15 +262,22 @@ def check_hash (where, lfiles, key, testfn, basedict = None): ################################################################################ -def ensure_hashes(Upload): +def ensure_hashes(changes, dsc, files, dsc_files): + # Make sure we recognise the format of the Files: field + format = changes.get("format", "0.0").split(".",1) + if len(format) == 2: + format = int(format[0]), int(format[1]) + else: + format = int(float(format[0])), 0 + rejmsg = [] - for x in Upload.changes: + for x in changes: if x.startswith("checksum-"): h = x.split("-",1)[1] if h not in dict(known_hashes): rejmsg.append("Unsupported checksum field in .changes" % (h)) - for x in Upload.dsc: + for x in dsc: if x.startswith("checksum-"): h = x.split("-",1)[1] if h not in dict(known_hashes): @@ -281,12 +288,12 @@ def ensure_hashes(Upload): # I hate backwards compatibility for h,f,v in known_hashes: try: - fs = build_file_list(Upload.changes, 0, "checksums-%s" % h, h) + fs = build_file_list(changes, 0, "checksums-%s" % h, h) if format < v: - for m in create_hash(fs, h, f, Upload.files): + for m in create_hash(fs, h, f, files): rejmsg.append(m) else: - for m in check_hash(".changes %s" % (h), fs, h, f, Upload.files): + for m in check_hash(".changes %s" % (h), fs, h, f, files): rejmsg.append(m) except NoFilesFieldError: rejmsg.append("No Checksums-%s: field in .changes" % (h)) @@ -295,15 +302,15 @@ def ensure_hashes(Upload): except ParseChangesError, line: rejmsg.append("parse error for Checksums-%s in .changes, can't grok: %s." % (h, line)) - if "source" not in Upload.changes["architecture"]: continue + if "source" not in changes["architecture"]: continue try: - fs = build_file_list(Upload.dsc, 1, "checksums-%s" % h, h) + fs = build_file_list(dsc, 1, "checksums-%s" % h, h) if format < v: - for m in create_hash(fs, h, f, Upload.dsc_files): + for m in create_hash(fs, h, f, dsc_files): rejmsg.append(m) else: - for m in check_hash(".dsc %s" % (h), fs, h, f, Upload.dsc_files): + for m in check_hash(".dsc %s" % (h), fs, h, f, dsc_files): rejmsg.append(m) except UnknownFormatError, format: rejmsg.append("%s: unknown format of .dsc" % (format)) -- 2.39.2