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
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)
# Add the src_uploaders to the DB
if dsc.get("dm-upload-allowed", "no") == "yes":
- uploader_ids = []
+ uploader_ids = [maintainer_id]
if dsc.has_key("uploaders"):
- uploader_ids = [
- daklib.database.get_or_set_maintainer_id( u.strip() )
- for u in dsc["uploaders"].split(",")
- ]
- uploader_ids.append(maintainer_id)
+ for u in dsc["uploaders"].split(","):
+ u = u.replace("'", "\\'")
+ u = u.strip()
+ uploader_ids.append(
+ 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))