From f5b07072ad61eaf69d9fa474c75f9cc0b9fc679d Mon Sep 17 00:00:00 2001 From: "Antonio J. Delgado" Date: Mon, 17 Feb 2025 14:28:32 +0200 Subject: [PATCH] check for existing record before inserting --- mastodon_email_bridge/mastodon_email_bridge.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/mastodon_email_bridge/mastodon_email_bridge.py b/mastodon_email_bridge/mastodon_email_bridge.py index d83e6c7..2cdaa77 100755 --- a/mastodon_email_bridge/mastodon_email_bridge.py +++ b/mastodon_email_bridge/mastodon_email_bridge.py @@ -235,8 +235,16 @@ class MastodonEmailBridge: conn.quit() self._log.debug("Adding entry to database...") cur = self.sqlite.cursor() - cur.execute(f"INSERT INTO sent_items (id, date) VALUES ({data['id']}, {time.time()})") - self.sqlite.commit() + res = cur.execute("SELECT id FROM sent_items WHERE id =?", data['id']) + rows = res.fetchall() + if len(rows) == 0: + cur.execute(f"INSERT INTO sent_items (id, date) VALUES ({data['id']}, {time.time()})") + self.sqlite.commit() + else: + self._log.warning( + "There was at least one record already with the same id %s, check if another instance of this script is running.", + data['id'] + ) self.sent_items.append(data['id']) return True