From 50a1ec1ccfd54c1b551339982bc3d1623f714557 Mon Sep 17 00:00:00 2001 From: Worros Date: Thu, 5 Mar 2009 01:46:01 +0900 Subject: [PATCH] Add logging function from futz --- pyfpdb/EverleafToFpdb.py | 15 +++++++++++++-- pyfpdb/FulltiltToFpdb.py | 13 ++++++------- pyfpdb/Hand.py | 17 +++++++++-------- pyfpdb/HandHistoryConverter.py | 5 +++-- 4 files changed, 31 insertions(+), 19 deletions(-) diff --git a/pyfpdb/EverleafToFpdb.py b/pyfpdb/EverleafToFpdb.py index 4b0b4402..80637445 100755 --- a/pyfpdb/EverleafToFpdb.py +++ b/pyfpdb/EverleafToFpdb.py @@ -18,6 +18,7 @@ ######################################################################## import sys +import logging import Configuration from HandHistoryConverter import * from time import strftime @@ -82,6 +83,7 @@ class Everleaf(HandHistoryConverter): m = self.re_GameInfo.search(handText) if m == None: + logging.debug("Gametype didn't match") return None if m.group('LTYPE') == "NL": structure = "nl" @@ -104,7 +106,10 @@ class Everleaf(HandHistoryConverter): def readHandInfo(self, hand): m = self.re_HandInfo.search(hand.handText) if(m == None): - print "DEBUG: re_HandInfo.search failed: '%s'" %(hand.handText) + logging.info("Didn't match re_HandInfo") + logging.info(hand.handtext) + return None + logging.debug("HID %s, Table %s" % (m.group('HID'), m.group('TABLE'))) hand.handid = m.group('HID') hand.tablename = m.group('TABLE') hand.maxseats = 6 # assume 6-max unless we have proof it's a larger/smaller game, since everleaf doesn't give seat max info @@ -154,6 +159,7 @@ class Everleaf(HandHistoryConverter): if m is not None: hand.addBlind(m.group('PNAME'), 'small blind', m.group('SB')) else: + logging.debug("No small blind") hand.addBlind(None, None, None) for a in self.re_PostBB.finditer(hand.handText): hand.addBlind(a.group('PNAME'), 'big blind', a.group('BB')) @@ -177,6 +183,7 @@ class Everleaf(HandHistoryConverter): hand.involved = False def readAction(self, hand, street): + logging.debug("readAction (%s)" % street) m = self.re_Action.finditer(hand.streets.group(street)) for action in m: if action.group('ATYPE') == ' raises': @@ -190,14 +197,16 @@ class Everleaf(HandHistoryConverter): elif action.group('ATYPE') == ' checks': hand.addCheck( street, action.group('PNAME')) else: - print "DEBUG: unimplemented readAction: %s %s" %(action.group('PNAME'),action.group('ATYPE'),) + logging.debug("Unimplemented readAction: %s %s" %(action.group('PNAME'),action.group('ATYPE'),)) def readShowdownActions(self, hand): """Reads lines where holecards are reported in a showdown""" + logging.debug("readShowdownActions") for shows in self.re_ShowdownAction.finditer(hand.handText): cards = shows.group('CARDS') cards = cards.split(', ') + logging.debug("readShowdownActions %s %s" %(cards, shows.group('PNAME'))) hand.addShownCards(cards, shows.group('PNAME')) def readCollectPot(self,hand): @@ -210,6 +219,8 @@ class Everleaf(HandHistoryConverter): if m.group('CARDS') is not None: cards = m.group('CARDS') cards = cards.split(', ') + player = m.group('PNAME') + logging.debug("readShownCards %s cards=%s" % (player, cards)) hand.addShownCards(cards=None, player=m.group('PNAME'), holeandboard=cards) diff --git a/pyfpdb/FulltiltToFpdb.py b/pyfpdb/FulltiltToFpdb.py index cec2fd4a..0a47f026 100755 --- a/pyfpdb/FulltiltToFpdb.py +++ b/pyfpdb/FulltiltToFpdb.py @@ -17,6 +17,7 @@ ######################################################################## import sys +import logging import Configuration from HandHistoryConverter import * @@ -86,7 +87,7 @@ class FullTilt(HandHistoryConverter): elif m.group('GAME') == "Razz": game = "razz" - print m.groups() + logging.debug("HandInfo: %s", m.groupdict()) gametype = ["ring", game, structure, m.group('SB'), m.group('BB')] @@ -156,17 +157,15 @@ class FullTilt(HandHistoryConverter): hand.addBlind(a.group('PNAME'), 'small & big blinds', a.group('SBBB')) def readAntes(self, hand): - print "DEBUG: reading antes" + logging.debug("reading antes") m = self.re_Antes.finditer(hand.handText) for player in m: - print "DEBUG: hand.addAnte(%s,%s)" %(player.group('PNAME'), player.group('ANTE')) + logging.debug("hand.addAnte(%s,%s)" %(player.group('PNAME'), player.group('ANTE'))) hand.addAnte(player.group('PNAME'), player.group('ANTE')) def readBringIn(self, hand): - print "DEBUG: reading bring in" -# print hand.string m = self.re_BringIn.search(hand.handText,re.DOTALL) - print "DEBUG: Player bringing in: %s for %s" %(m.group('PNAME'), m.group('BRINGIN')) + logging.debug("Player bringing in: %s for %s" %(m.group('PNAME'), m.group('BRINGIN'))) hand.addBringIn(m.group('PNAME'), m.group('BRINGIN')) def readButton(self, hand): @@ -191,7 +190,7 @@ class FullTilt(HandHistoryConverter): print "DEBUG: razz/stud readPlayerCards" print hand.streets.group(street) for player in m: - print player.groups() + logging.debug(player.groupdict()) cards = player.group('CARDS') if player.group('NEWCARD') != None: print cards diff --git a/pyfpdb/Hand.py b/pyfpdb/Hand.py index 3d6fa7c2..adbdcc11 100644 --- a/pyfpdb/Hand.py +++ b/pyfpdb/Hand.py @@ -21,6 +21,7 @@ import Hand import re import sys import traceback +import logging import os import os.path import xml.dom.minidom @@ -123,14 +124,13 @@ If a player has None chips he won't be added.""" def addStreets(self, match): # go through m and initialise actions to empty list for each street. - if match is not None: + if match: self.streets = match for street in match.groupdict(): if match.group(street) is not None: self.actions[street] = [] - else: - print "empty markStreets match" # better to raise exception and put process hand in a try block + logging.error("markstreets didn't match") def addHoleCards(self, cards, player): """\ @@ -193,6 +193,7 @@ Card ranks will be uppercased print "[ERROR] discardHoleCard tried to discard a card %s didn't have" % (player,) def setCommunityCards(self, street, cards): + logging.debug("setCommunityCards %s %s" %(street, cards)) self.board[street] = [self.card(c) for c in cards] def card(self,c): @@ -216,12 +217,12 @@ Card ranks will be uppercased # Player in small blind posts # - this is a bet of 1 sb, as yet uncalled. # Player in the big blind posts - # - this is a bet of 1 bb and is the new uncalled + # - this is a call of 1 bb and is the new uncalled # # If a player posts a big & small blind # - FIXME: We dont record this for later printing yet - #print "DEBUG addBlind: %s posts %s, %s" % (player, blindtype, amount) + logging.debug("addBlind: %s posts %s, %s" % (player, blindtype, amount)) if player is not None: self.bets['PREFLOP'][player].append(Decimal(amount)) self.stacks[player] -= Decimal(amount) @@ -397,10 +398,10 @@ Map the tuple self.gametype onto the pokerstars string describing it "cp" : "Cap Pot Limit" } - print "DEBUG: self.gametype: %s" %(self.gametype) - string = "%s %s" %(gs[self.gametype[1]], ls[self.gametype[2]]) + logging.debug("gametype: %s" %(self.gametype)) + retstring = "%s %s" %(gs[self.gametype[1]], ls[self.gametype[2]]) - return string + return retstring def lookupLimitBetSize(self): #Lookup table for limit games diff --git a/pyfpdb/HandHistoryConverter.py b/pyfpdb/HandHistoryConverter.py index b8102c06..7558db48 100644 --- a/pyfpdb/HandHistoryConverter.py +++ b/pyfpdb/HandHistoryConverter.py @@ -21,6 +21,7 @@ import Hand import re import sys import traceback +import logging import os import os.path import xml.dom.minidom @@ -74,9 +75,9 @@ gettext.install('myapplication') class HandHistoryConverter: -# eval = PokerEval() + def __init__(self, config, file, sitename): - print "HandHistory init called" + logging.info("HandHistory init called") self.c = config self.sitename = sitename self.obs = "" # One big string