]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_accepted.py
Add changedby column to source table, and fill in information found in the
[dak.git] / dak / process_accepted.py
index 18b5b056ebc2061207d7437074a5495f6155ffad..3c40b97ba8191393fde693a06769236bb822751c 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)
@@ -309,6 +312,19 @@ def install ():
                     files_id = daklib.database.set_files_id (filename, dsc_files[dsc_file]["size"], dsc_files[dsc_file]["md5sum"], 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
+            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()
+                        uploader_ids.append(
+                           daklib.database.get_or_set_maintainer_id(u))
+                for u in uploader_ids:
+                    projectB.query("INSERT INTO src_uploaders (source, maintainer) VALUES (currval('source_id_seq'), %d)" % (u))
+
+
     # Add the .deb files to the DB
     for file in files.keys():
         if files[file]["type"] == "deb":