diff options
author | Jon Turney <jon.turney@dronecode.org.uk> | 2023-11-22 17:07:40 +0300 |
---|---|---|
committer | Jon Turney <jon.turney@dronecode.org.uk> | 2023-11-22 17:09:42 +0300 |
commit | 23cbaac193afe222962fe12b8a5710973678b363 (patch) | |
tree | d99194abcf775a32898c1f3db64a5cab868520c2 /calm/db.py | |
parent | 24046373b914f5038e23b6821080bd3af8d810f9 (diff) |
Store first msgid for announce of a srcpackage
Store the first msgid allocated for a srcpackage announce, so we can set
in-reply-to and thus allow threading of subsequent announces for that
package.
Diffstat (limited to 'calm/db.py')
-rw-r--r-- | calm/db.py | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -55,6 +55,11 @@ def connect(args): replaces TEXT NOT NULL, PRIMARY KEY (name, arch) )''') + conn.execute('''CREATE TABLE IF NOT EXISTS announce_msgid + (srcpackage TEXT NOT NULL PRIMARY KEY, + msgid TEXT NOT NULL + )''') + conn.commit() return conn @@ -138,3 +143,21 @@ def update_missing_obsolete(args, packages, arch): conn.execute('UPDATE missing_obsolete SET replaces = ? WHERE name = ? AND arch = ?', (' '.join(r), n, arch)) return missing_obsolete + + +def announce_msgid_get(args, srcpackage): + msgid = None + with connect(args) as conn: + conn.row_factory = sqlite3.Row + + cur = conn.execute("SELECT msgid FROM announce_msgid WHERE srcpackage = ?", (srcpackage,)) + row = cur.fetchone() + if row: + msgid = row['msgid'] + + return msgid + + +def announce_msgid_set(args, srcpackage, msgid): + with connect(args) as conn: + conn.execute('INSERT INTO announce_msgid (srcpackage, msgid) VALUES (?, ?)', (srcpackage, msgid)) |