From 0c8afe4f6461e21e8e9830f92ec6738a7bd11b9f Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 7 Nov 2016 21:10:08 -0500 Subject: [PATCH] Fix db error when adding a tempban sanction on a player that already has one, fixes #245 Can happen when doing it manually, or when adding a warning after it expired but before expire_tempbans() is called --- src/db.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/db.py b/src/db.py index 3295904..5ed7283 100644 --- a/src/db.py +++ b/src/db.py @@ -721,9 +721,9 @@ def add_warning_sanction(warning, sanction, data): peid = c.fetchone()[0] c.execute("SELECT id, account, hostmask FROM player WHERE person = ? AND active = 1", (peid,)) if isinstance(data, datetime): - sql = "INSERT INTO bantrack (player, expires) values (?, ?)" + sql = "INSERT OR REPLACE INTO bantrack (player, expires) values (?, ?)" else: - sql = "INSERT INTO bantrack (player, warning_amount) values (?, ?)" + sql = "INSERT OR REPLACE INTO bantrack (player, warning_amount) values (?, ?)" for row in c: idlist.add(row[0]) if row[1] is None: