From 2e6bec5c188d023c9da30b92f7445a797d0e453d Mon Sep 17 00:00:00 2001 From: Worros Date: Sun, 19 Sep 2010 00:14:14 +0800 Subject: [PATCH 1/4] Hand: Add fake GBP symbol --- pyfpdb/Hand.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyfpdb/Hand.py b/pyfpdb/Hand.py index 9813c2ec..a556de63 100644 --- a/pyfpdb/Hand.py +++ b/pyfpdb/Hand.py @@ -56,7 +56,7 @@ class Hand(object): # Class Variables UPS = {'a':'A', 't':'T', 'j':'J', 'q':'Q', 'k':'K', 'S':'s', 'C':'c', 'H':'h', 'D':'d'} LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'} - SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''} + SYMBOL = {'USD': '$', 'EUR': u'$', 'GBP': '$', 'T$': '', 'play': ''} MS = {'horse' : 'HORSE', '8game' : '8-Game', 'hose' : 'HOSE', 'ha': 'HA'} From 178afa47739e54034b1c7241fb13a36193a57c28 Mon Sep 17 00:00:00 2001 From: Worros Date: Sun, 19 Sep 2010 00:14:50 +0800 Subject: [PATCH 2/4] Win2day: Add locale header --- pyfpdb/Win2dayToFpdb.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/pyfpdb/Win2dayToFpdb.py b/pyfpdb/Win2dayToFpdb.py index 47891f0f..09492228 100755 --- a/pyfpdb/Win2dayToFpdb.py +++ b/pyfpdb/Win2dayToFpdb.py @@ -22,6 +22,18 @@ import sys import datetime from HandHistoryConverter import * +import locale +lang=locale.getdefaultlocale()[0][0:2] +if lang=="en": + def _(string): return string +else: + import gettext + try: + trans = gettext.translation("fpdb", localedir="locale", languages=[lang]) + trans.install() + except IOError: + def _(string): return string + # Win2day HH Format class Win2day(HandHistoryConverter): From 57405e74831e47ceec870fc0b4b7dff4813279ca Mon Sep 17 00:00:00 2001 From: Worros Date: Mon, 20 Sep 2010 14:08:41 +0800 Subject: [PATCH 3/4] Win2day: Update to parse NLHE Hasn't been modified since contribution - used the 'old' set() interface for cards. This interface was dropped after we realised we needed ordering for stud cards --- pyfpdb/Win2dayToFpdb.py | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/pyfpdb/Win2dayToFpdb.py b/pyfpdb/Win2dayToFpdb.py index 09492228..2f4cc3bb 100755 --- a/pyfpdb/Win2dayToFpdb.py +++ b/pyfpdb/Win2dayToFpdb.py @@ -100,8 +100,10 @@ class Win2day(HandHistoryConverter): m = self.re_GameInfo.search(handText) if not m: - print "determineGameType:", handText - return None + tmp = handText[0:100] + log.error(_("determineGameType: Unable to recognise gametype from: '%s'") % tmp) + log.error(_("determineGameType: Raising FpdbParseError")) + raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) mg = m.groupdict() @@ -194,15 +196,15 @@ class Win2day(HandHistoryConverter): if street in ('FLOP','TURN','RIVER'): # a list of streets which get dealt community cards (i.e. all but PREFLOP) #print "DEBUG readCommunityCards:", street, hand.streets.group(street) - boardCards = set([]) + boardCards = [] if street == 'FLOP': m = self.re_Card.findall(hand.streets[street]) for card in m: - boardCards.add(self.convertWin2dayCards(card)) + boardCards.append(self.convertWin2dayCards(card)) else: m = self.re_BoardLast.search(hand.streets[street]) - boardCards.add(self.convertWin2dayCards(m.group('CARD'))) - + boardCards.append(self.convertWin2dayCards(m.group('CARD'))) + hand.setCommunityCards(street, boardCards) def readAntes(self, hand): @@ -237,7 +239,7 @@ class Win2day(HandHistoryConverter): for found in m: hand.hero = found.group('PNAME') for card in self.re_Card.finditer(found.group('CARDS')): - print self.convertWin2dayCards(card.group('CARD')) + #print self.convertWin2dayCards(card.group('CARD')) newcards.append(self.convertWin2dayCards(card.group('CARD'))) #hand.addHoleCards(holeCards, m.group('PNAME')) @@ -279,13 +281,13 @@ class Win2day(HandHistoryConverter): newcards = player.group('NEWCARDS') oldcards = player.group('OLDCARDS') if newcards == None: - newcards = set() + newcards = [] else: - newcards = set(newcards.split(' ')) + newcards = newcards.split(' ') if oldcards == None: - oldcards = set() + oldcards = [] else: - oldcards = set(oldcards.split(' ')) + oldcards = oldcards.split(' ') hand.addDrawHoleCards(newcards, oldcards, player.group('PNAME'), street) @@ -349,10 +351,10 @@ class Win2day(HandHistoryConverter): def readShowdownActions(self, hand): for shows in self.re_ShowdownAction.finditer(hand.handText): - showdownCards = set([]) + showdownCards = [] for card in self.re_Card.finditer(shows.group('CARDS')): #print "DEBUG:", card, card.group('CARD'), self.convertWin2dayCards(card.group('CARD')) - showdownCards.add(self.convertWin2dayCards(card.group('CARD'))) + showdownCards.append(self.convertWin2dayCards(card.group('CARD'))) hand.addShownCards(showdownCards, shows.group('PNAME')) @@ -366,7 +368,7 @@ class Win2day(HandHistoryConverter): for m in self.re_ShownCards.finditer(hand.handText): if m.group('CARDS') is not None: cards = m.group('CARDS') - cards = set(cards.split(' ')) + cards = cards.split(' ') hand.addShownCards(cards=cards, player=m.group('PNAME')) if __name__ == "__main__": From 255f29cfaece8a8e1d7811d885d748dddd310879 Mon Sep 17 00:00:00 2001 From: Worros Date: Mon, 20 Sep 2010 14:18:52 +0800 Subject: [PATCH 4/4] Win2day: Make Omaha hands not crash Looks like it is importing the hands - no idea of accuracy at the moment --- pyfpdb/Win2dayToFpdb.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyfpdb/Win2dayToFpdb.py b/pyfpdb/Win2dayToFpdb.py index 2f4cc3bb..a09f9c9c 100755 --- a/pyfpdb/Win2dayToFpdb.py +++ b/pyfpdb/Win2dayToFpdb.py @@ -112,7 +112,8 @@ class Win2day(HandHistoryConverter): limits = { 'NL':'nl', 'PL':'pl'} games = { # base, category "GAME_THM" : ('hold','holdem'), - # 'Omaha' : ('hold','omahahi'), + "GAME_OMA" : ('hold','omahahi'), + #'Omaha Hi/Lo' : ('hold','omahahilo'), # 'Razz' : ('stud','razz'), #'7 Card Stud' : ('stud','studhi'),