diff options
Diffstat (limited to 'readyaml.py')
-rwxr-xr-x | readyaml.py | 13 |
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"])) |