summaryrefslogtreecommitdiff
path: root/readyaml.py
diff options
context:
space:
mode:
Diffstat (limited to 'readyaml.py')
-rwxr-xr-xreadyaml.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/readyaml.py b/readyaml.py
index 2ef9a3b..6940f94 100755
--- a/readyaml.py
+++ b/readyaml.py
@@ -15,8 +15,8 @@ def readyaml(db, stream):
gen = yaml.safe_load_all(stream)
metadata = next(gen)
package = metadata["package"]
- cur.execute("SELECT id, version FROM package WHERE name = ?;",
- (package,))
+ cur.execute("SELECT id, version FROM package WHERE name = ? AND architecture = ?;",
+ (package, metadata["architecture"]))
row = cur.fetchone()
if row:
pid, version = row
@@ -31,12 +31,13 @@ def readyaml(db, stream):
if pid is not None:
cur.execute("DELETE FROM content WHERE pid = ?;", (pid,))
cur.execute("DELETE FROM dependency WHERE pid = ?;", (pid,))
- cur.execute("UPDATE package SET version = ?, architecture = ?, source = ? WHERE id = ?;",
- (metadata["version"], metadata["architecture"], metadata["source"], pid))
+ cur.execute("UPDATE package SET version = ?, source = ?, multiarch = ? WHERE id = ?;",
+ (metadata["version"], metadata["source"],
+ metadata.get("multiarch"), pid))
else:
- cur.execute("INSERT INTO package (name, version, architecture, source) VALUES (?, ?, ?, ?);",
+ cur.execute("INSERT INTO package (name, version, architecture, source, multiarch) VALUES (?, ?, ?, ?, ?);",
(package, metadata["version"], metadata["architecture"],
- metadata["source"]))
+ metadata["source"], metadata.get("multiarch")))
pid = cur.lastrowid
cur.executemany("INSERT INTO dependency (pid, required) VALUES (?, ?);",
((pid, dep) for dep in metadata["depends"]))