]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_accepted.py
Merge from Thomas
[dak.git] / dak / process_accepted.py
index 20aab49515e5af6be63497c7578cd749a0465705..86396832e741e864fb8355ce976d06927235efd6 100755 (executable)
@@ -281,6 +281,9 @@ def install ():
             maintainer = dsc["maintainer"]
             maintainer = maintainer.replace("'", "\\'")
             maintainer_id = daklib.database.get_or_set_maintainer_id(maintainer)
+            changedby = changes["changed-by"]
+            changedby = changedby.replace("'", "\\'")
+            changedby_id = daklib.database.get_or_set_maintainer_id(changedby)
             fingerprint_id = daklib.database.get_or_set_fingerprint_id(dsc["fingerprint"])
             install_date = time.strftime("%Y-%m-%d")
             filename = files[file]["pool name"] + file
@@ -288,8 +291,8 @@ def install ():
             dsc_location_id = files[file]["location id"]
             if not files[file].has_key("files id") or not files[file]["files id"]:
                 files[file]["files id"] = daklib.database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], dsc_location_id)
-            projectB.query("INSERT INTO source (source, version, maintainer, file, install_date, sig_fpr) VALUES ('%s', '%s', %d, %d, '%s', %s)"
-                           % (package, version, maintainer_id, files[file]["files id"], install_date, fingerprint_id))
+            projectB.query("INSERT INTO source (source, version, maintainer, changedby, file, install_date, sig_fpr) VALUES ('%s', '%s', %d, %d, %d, '%s', %s)"
+                           % (package, version, maintainer_id, changedby_id, files[file]["files id"], install_date, fingerprint_id))
 
             for suite in changes["distribution"].keys():
                 suite_id = daklib.database.get_suite_id(suite)
@@ -313,12 +316,17 @@ def install ():
             if dsc.get("dm-upload-allowed", "no") == "yes":
                 uploader_ids = [maintainer_id]
                 if dsc.has_key("uploaders"):
-                   for u in dsc["uploaders"].split(","):
-                       u = u.replace("'", "\\'")
-                       u = u.strip()
+                    for u in dsc["uploaders"].split(","):
+                        u = u.replace("'", "\\'")
+                        u = u.strip()
                         uploader_ids.append(
-                           daklib.database.get_or_set_maintainer_id(u))
+                            daklib.database.get_or_set_maintainer_id(u))
+                added_ids = {}
                 for u in uploader_ids:
+                    if added_ids.has_key(u):
+                        daklib.utils.warn("Already saw uploader %s for source %s" % (u, package))
+                        continue
+                    added_ids[u]=1
                     projectB.query("INSERT INTO src_uploaders (source, maintainer) VALUES (currval('source_id_seq'), %d)" % (u))