X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_accepted.py;h=6013b18c9b5abec05b868a888c66f10771a8dbb9;hb=f8996e240d9d0278bce098e23be63db0bcc6fbee;hp=5e09243ffa545b22f836f9e2fa57191e4cfd31d2;hpb=54aff1ed76bb587e2c44cbaf3e4e94469ffd47e8;p=dak.git diff --git a/dak/process_accepted.py b/dak/process_accepted.py index 5e09243f..6013b18c 100755 --- a/dak/process_accepted.py +++ b/dak/process_accepted.py @@ -274,9 +274,13 @@ def install (): # Begin a transaction; if we bomb out anywhere between here and the COMMIT WORK below, the DB will not be changed. projectB.query("BEGIN WORK") - # 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(changes, dsc, files, dsc_files) + # Ensure that we have all the hashes we need below. + rejmsg = utils.ensure_hashes(changes, dsc, files, dsc_files) + if len(rejmsg) > 0: + # There were errors. Print them and SKIP the changes. + for msg in rejmsg: + utils.warn(msg) + return # Add the .dsc file to the DB for file in files.keys(): @@ -314,7 +318,7 @@ def install (): files_id = database.get_files_id(filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], dsc_location_id) # FIXME: needs to check for -1/-2 and or handle exception if files_id == None: - files_id = database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], files[file]["sha1sum"], files[file]["sha256sum"], dsc_location_id) + files_id = database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], files[dsc_file]["sha1sum"], files[dsc_file]["sha256sum"], dsc_location_id) projectB.query("INSERT INTO dsc_files (source, file) VALUES (currval('source_id_seq'), %d)" % (files_id)) # Add the src_uploaders to the DB