From 033631e5c223cd76e1216524985fc525d8b56a96 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Fri, 27 Jul 2012 16:34:57 -0500 Subject: [PATCH] no longer encode/decode UTF8 stuff when going to/from database seems safe so far (famous last words) --- modules/Achievements.py | 2 +- modules/Facts.py | 2 +- modules/Karma.py | 4 ++-- modules/Markov.py | 28 ++++++---------------------- modules/Seen.py | 4 ++-- modules/Storycraft.py | 4 ++-- 6 files changed, 14 insertions(+), 30 deletions(-) diff --git a/modules/Achievements.py b/modules/Achievements.py index 8ce9126..5b39dae 100644 --- a/modules/Achievements.py +++ b/modules/Achievements.py @@ -272,7 +272,7 @@ class Achievements(Module): query = ''' SELECT id FROM achievements_filter WHERE %s REGEXP filter ''' - cur.execute(query, (msg.decode('utf-8', 'replace'),)) + cur.execute(query, (msg,)) results = cur.fetchall() for result in results: cur = db.cursor(mdb.cursors.DictCursor) diff --git a/modules/Facts.py b/modules/Facts.py index 2ed865c..fbe7e13 100644 --- a/modules/Facts.py +++ b/modules/Facts.py @@ -125,7 +125,7 @@ class Facts(Module): if len(facts) > 0: fact = facts[random.randint(1,len(facts))-1] - return fact['fact'].rstrip().encode('utf-8', 'ignore') + return fact['fact'].rstrip() except mdb.Error as e: self.log.error("database error in _get_fact") self.log.exception(e) diff --git a/modules/Karma.py b/modules/Karma.py index c9c824b..78c4dd8 100644 --- a/modules/Karma.py +++ b/modules/Karma.py @@ -129,7 +129,7 @@ class Karma(Module): INSERT INTO karma_log (karma_key, delta, who, userhost) VALUES (%s, %s, %s, %s) ''' - cur.execute(sql, (key.decode('utf-8', 'ignore').lower(), value, nick, userhost)) + cur.execute(sql, (key.lower(), value, nick, userhost)) db.commit() except mdb.Error as e: db.rollback() @@ -222,7 +222,7 @@ class Karma(Module): FROM karma_values WHERE karma_key = %s ''' - cur.execute(query, (key.decode('utf-8', 'ignore').lower(),)) + cur.execute(query, (key.lower(),)) value = cur.fetchone() if (value != None): diff --git a/modules/Markov.py b/modules/Markov.py index c4d5895..471aada 100644 --- a/modules/Markov.py +++ b/modules/Markov.py @@ -300,11 +300,9 @@ class Markov(Module): cur = db.cursor(mdb.cursors.DictCursor) statement = 'INSERT INTO markov_chain (k1, k2, v, context_id) VALUES (%s, %s, %s, %s)' for word in words: - cur.execute(statement, (k1.decode('utf-8', 'replace'), - k2.decode('utf-8', 'replace'), word.decode('utf-8', 'replace'), context_id)) + cur.execute(statement, (k1, k2, word, context_id)) k1, k2 = k2, word - cur.execute(statement, (k1.decode('utf-8', 'replace'), - k2.decode('utf-8', 'replace'), self.stop, context_id)) + cur.execute(statement, (k1, k2, self.stop, context_id)) db.commit() except mdb.Error as e: @@ -418,19 +416,11 @@ class Markov(Module): query = ('SELECT v FROM markov_chain WHERE k1 = %s AND k2 = %s AND ' '(context_id = %s)') cur = db.cursor(mdb.cursors.DictCursor) - cur.execute(query, (k1.decode('utf-8', 'replace'), - k2.decode('utf-8', 'replace'), - context_id)) + cur.execute(query, (k1, k2, context_id)) results = cur.fetchall() for result in results: - try: - values.append(result['v']) - except UnicodeDecodeError as e: - self.log.error("error appending value from database") - self.log.error(e) - self.log.debug("v: {0:s}".format(result['v'])) - pass + values.append(result['v']) return values except mdb.Error as e: @@ -447,17 +437,11 @@ class Markov(Module): try: query = 'SELECT k2 FROM markov_chain WHERE v = %s AND context_id = %s' cur = db.cursor(mdb.cursors.DictCursor) - cur.execute(query, (v.decode('utf-8', 'replace'), context_id)) + cur.execute(query, (v, context_id)) results = cur.fetchall() for result in results: - try: - values.append(result['k2']) - except UnicodeDecodeError as e: - self.log.error("error appending k2 from database") - self.log.error(e) - self.log.debug("k2: {0:s}".format(result['k2'])) - pass + values.append(result['k2']) return values except mdb.Error as e: diff --git a/modules/Seen.py b/modules/Seen.py index f15433e..f1f0f5c 100644 --- a/modules/Seen.py +++ b/modules/Seen.py @@ -73,7 +73,7 @@ class Seen(Module): if where: cur = db.cursor(mdb.cursors.DictCursor) statement = 'REPLACE INTO seen_nicks (nick, location, host, what) VALUES (%s, %s, %s, %s)' - cur.execute(statement, (nick, where, userhost, what.decode('utf-8', 'replace'))) + cur.execute(statement, (nick, where, userhost, what)) db.commit() except mdb.Error as e: db.rollback() @@ -93,7 +93,7 @@ class Seen(Module): result = cur.fetchone() if result: seentime = result['time'].replace(tzinfo=tzlocal()) - replystr = 'last saw {0:s} in {3:s} at {1:s} saying \'{2:s}\'.'.format(result['nick'], seentime.astimezone(tzlocal()).strftime('%Y/%m/%d %H:%M:%S %Z'), result['what'].encode('utf-8', 'ignore'), result['location'].encode('utf-8', 'ignore')) + replystr = 'last saw {0:s} in {3:s} at {1:s} saying \'{2:s}\'.'.format(result['nick'], seentime.astimezone(tzlocal()).strftime('%Y/%m/%d %H:%M:%S %Z'), result['what'], result['location']) return self.reply(connection, event, replystr) else: return self.reply(connection, event, 'i have not seen {0:s} in {1:s}.'.format(nick, where)) diff --git a/modules/Storycraft.py b/modules/Storycraft.py index 895aa36..1095d30 100644 --- a/modules/Storycraft.py +++ b/modules/Storycraft.py @@ -1075,7 +1075,7 @@ class Storycraft(Module): line.id = result['id'] line.game_id = result['game_id'] line.player_id = result['player_id'] - line.line = result['line'].encode('utf-8', 'replace') + line.line = result['line'] line.time = result['time'] lines.append(line) @@ -1096,7 +1096,7 @@ class Storycraft(Module): statement = ''' UPDATE storycraft_line SET line = %s, time = CURRENT_TIMESTAMP WHERE id = %s ''' - cur.execute(statement, (input_line.decode('utf-8', 'replace'), line_id)) + cur.execute(statement, (input_line, line_id)) db.commit() return line_id except mdb.Error as e: