Karma: make karma case insensitive, by popular request

This commit is contained in:
Brian S. Stephan 2011-06-14 21:22:56 -05:00
parent 57be7f8026
commit 02e77f3aed
1 changed files with 14 additions and 2 deletions

View File

@ -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 = '''