diff --git a/pyfpdb/Database.py b/pyfpdb/Database.py index 72b41336..bf071782 100644 --- a/pyfpdb/Database.py +++ b/pyfpdb/Database.py @@ -48,6 +48,7 @@ import Configuration import SQL import Card import Tourney +import Charset from Exceptions import * log = Configuration.get_logger("logging.conf") @@ -602,7 +603,8 @@ class Database: def get_player_id(self, config, site, player_name): c = self.connection.cursor() - c.execute(self.sql.query['get_player_id'], (player_name, site)) + p_name = Charset.to_utf8(player_name) + c.execute(self.sql.query['get_player_id'], (p_name, site)) row = c.fetchone() if row: return row[0] @@ -615,7 +617,8 @@ class Database: if site_id is None: site_id = -1 c = self.get_cursor() - c.execute(self.sql.query['get_player_names'], (like_player_name, site_id, site_id)) + p_name = Charset.to_utf8(like_player_name) + c.execute(self.sql.query['get_player_names'], (p_name, site_id, site_id)) rows = c.fetchall() return rows diff --git a/pyfpdb/Filters.py b/pyfpdb/Filters.py index dc2e4859..3a25c1f1 100644 --- a/pyfpdb/Filters.py +++ b/pyfpdb/Filters.py @@ -29,6 +29,7 @@ import gobject import Configuration import fpdb_db import FpdbSQLQueries +import Charset class Filters(threading.Thread): def __init__(self, db, config, qdict, display = {}, debug=True): @@ -238,6 +239,7 @@ class Filters(threading.Thread): print "DEBUG: %s was toggled %s" % (data, ("OFF", "ON")[widget.get_active()]) def createPlayerLine(self, hbox, site, player): + print 'DEBUG :: add:"%s"' % player label = gtk.Label(site +" id:") hbox.pack_start(label, False, False, 0) @@ -254,13 +256,17 @@ class Filters(threading.Thread): completion.set_model(liststore) completion.set_text_column(0) names = self.db.get_player_names(self.conf) # (config=self.conf, site_id=None, like_player_name="%") - for n in names: - liststore.append(n) + for n in names: # list of single-element "tuples" + _n = Charset.to_gui(n[0]) + _nt = (_n, ) + liststore.append(_nt) self.__set_hero_name(pname, site) def __set_hero_name(self, w, site): - self.heroes[site] = w.get_text() + _name = w.get_text() + _guiname = Charset.to_gui(_name) + self.heroes[site] = _guiname # print "DEBUG: setting heroes[%s]: %s"%(site, self.heroes[site]) def __set_num_hands(self, w, val): @@ -417,7 +423,8 @@ class Filters(threading.Thread): vbox.pack_start(hBox, False, True, 0) player = self.conf.supported_sites[site].screen_name - self.createPlayerLine(hBox, site, player) + _pname = Charset.to_gui(player) + self.createPlayerLine(hBox, site, _pname) if "GroupsAll" in display and display["GroupsAll"] == True: hbox = gtk.HBox(False, 0) diff --git a/pyfpdb/GuiGraphViewer.py b/pyfpdb/GuiGraphViewer.py index 9daa940f..4534920a 100644 --- a/pyfpdb/GuiGraphViewer.py +++ b/pyfpdb/GuiGraphViewer.py @@ -145,7 +145,8 @@ class GuiGraphViewer (threading.Thread): if sites[site] == True: sitenos.append(siteids[site]) c = self.db.get_cursor() - c.execute(self.sql.query['getPlayerId'], (heroes[site],)) + _hname = Charset.to_utf8(heroes[site]) + c.execute(self.sql.query['getPlayerId'], (_hname,)) result = c.fetchall() if len(result) == 1: playerids.append( int(result[0][0]) ) diff --git a/pyfpdb/GuiPlayerStats.py b/pyfpdb/GuiPlayerStats.py index 889988c5..140ed30b 100644 --- a/pyfpdb/GuiPlayerStats.py +++ b/pyfpdb/GuiPlayerStats.py @@ -189,7 +189,8 @@ class GuiPlayerStats (threading.Thread): sitenos.append(siteids[site]) # Nasty hack to deal with multiple sites + same player name -Eric que = self.sql.query['getPlayerId'] + " AND siteId=%d" % siteids[site] - self.cursor.execute(que, (heroes[site],)) + _hname = Charset.to_utf8(heroes[site]) + self.cursor.execute(que, (_hname,)) result = self.db.cursor.fetchall() if len(result) == 1: playerids.append(result[0][0]) diff --git a/pyfpdb/GuiSessionViewer.py b/pyfpdb/GuiSessionViewer.py index d8cd7042..b5ca0867 100755 --- a/pyfpdb/GuiSessionViewer.py +++ b/pyfpdb/GuiSessionViewer.py @@ -47,6 +47,7 @@ import fpdb_import import Database import Filters import FpdbSQLQueries +import Charset class GuiSessionViewer (threading.Thread): def __init__(self, config, querylist, mainwin, debug=True): @@ -181,7 +182,10 @@ class GuiSessionViewer (threading.Thread): for site in sites: if sites[site] == True: sitenos.append(siteids[site]) - self.cursor.execute(self.sql.query['getPlayerId'], (heroes[site],)) + _q = self.sql.query['getPlayerId'] + _name = Charset.to_utf8(heroes[site]) + print 'DEBUG(_name) :: %s' % _name + self.cursor.execute(_q, (_name,)) # arg = tuple result = self.db.cursor.fetchall() if len(result) == 1: playerids.append(result[0][0]) diff --git a/pyfpdb/GuiTableViewer.py b/pyfpdb/GuiTableViewer.py index c730f962..c5b843f1 100644 --- a/pyfpdb/GuiTableViewer.py +++ b/pyfpdb/GuiTableViewer.py @@ -80,7 +80,8 @@ class GuiTableViewer (threading.Thread): #then the data rows for player in range(len(self.player_names)): tmp=[] - tmp.append(self.player_names[player][0]) + p_name = Charset.to_gui(self.player_names[player][0]) + tmp.append(p_name) seatCount=len(self.player_names) if seatCount>=8: