From 02e77f3aedf0b5754f21fd70b7988d7ba040625c Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Tue, 14 Jun 2011 21:22:56 -0500 Subject: [PATCH] Karma: make karma case insensitive, by popular request --- modules/Karma.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/Karma.py b/modules/Karma.py index 07647c0..5bae7b7 100644 --- a/modules/Karma.py +++ b/modules/Karma.py @@ -93,6 +93,18 @@ class Karma(Module): conn.rollback() print("sqlite error: " + str(e)) raise + if (version < 3): + conn = self.get_db() + try: + version = 3 + conn.execute(''' + UPDATE karma_log SET key = LOWER(key)''') + conn.commit() + self.db_register_module_version(self.__class__.__name__, version) + except sqlite3.Error as e: + conn.rollback() + print("sqlite error: " + str(e)) + raise def do(self, connection, event, nick, userhost, what, admin_unlocked): """look for karma strings at the start of messages""" @@ -135,7 +147,7 @@ class Karma(Module): INSERT INTO karma_log (key, delta, who, userhost) VALUES (?, ?, ?, ?) ''' - conn.execute(sql, (key.decode('utf-8', 'ignore'), value, nick, userhost)) + conn.execute(sql, (key.decode('utf-8', 'ignore').lower(), value, nick, userhost)) conn.commit() except sqlite3.Error as e: conn.rollback() @@ -216,7 +228,7 @@ class Karma(Module): FROM karma_values WHERE key = :key ''' - value = conn.execute(query, {'key': key.decode('utf-8', 'ignore')}).fetchone() + value = conn.execute(query, {'key': key.decode('utf-8', 'ignore').lower()}).fetchone() if (value != None): query = '''