diff --git a/pyfpdb/Hand.py b/pyfpdb/Hand.py index c5e2dea7..262ac4ad 100644 --- a/pyfpdb/Hand.py +++ b/pyfpdb/Hand.py @@ -349,6 +349,11 @@ For sites (currently only Carbon Poker) which record "all in" as a special actio self.pot.addCommonMoney(player, amount) amount += amount + if blindtype == 'secondsb': + amount = Decimal(0) + self.bets['BLINDSANTES'][player].append(Decimal(self.sb)) + self.pot.addCommonMoney(Decimal(self.sb)) + self.bets['PREFLOP'][player].append(Decimal(amount)) self.pot.addMoney(player, Decimal(amount)) self.lastBet['PREFLOP'] = Decimal(amount) @@ -1445,6 +1450,7 @@ class Pot(object): # Return any uncalled bet. committed = sorted([ (v,k) for (k,v) in self.committed.items()]) + print "DEBUG: committed: %s" % committed #ERROR below. lastbet is correct in most cases, but wrong when # additional money is committed to the pot in cash games # due to an additional sb being posted. (Speculate that diff --git a/pyfpdb/PokerStarsToFpdb.py b/pyfpdb/PokerStarsToFpdb.py index 6874c708..87574e9d 100644 --- a/pyfpdb/PokerStarsToFpdb.py +++ b/pyfpdb/PokerStarsToFpdb.py @@ -287,14 +287,16 @@ class PokerStars(HandHistoryConverter): hand.addBringIn(m.group('PNAME'), m.group('BRINGIN')) def readBlinds(self, hand): - liveBlind = True - for a in self.re_PostSB.finditer(hand.handText): - if liveBlind: - hand.addBlind(a.group('PNAME'), 'small blind', a.group('SB')) - liveBlind = False - else: - # Post dead blinds as ante - hand.addAnte(a.group('PNAME'), a.group('SB')) + try: + count = 0 + for a in self.re_PostSB.finditer(hand.handText): + if count == 0: + hand.addBlind(a.group('PNAME'), 'small blind', a.group('SB')) + count = 1 + else: + hand.addBlind(a.group('PNAME'), 'secondsb', a.group('SB')) + except: # 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')) for a in self.re_PostBoth.finditer(hand.handText):