Guess maxseats when not supplied by SiteToFpdb.
This commit is contained in:
parent
00aeda5667
commit
10f454ae77
|
@ -48,7 +48,7 @@ class Fulltilt(HandHistoryConverter):
|
||||||
(?P<DATETIME>.*)
|
(?P<DATETIME>.*)
|
||||||
''', re.VERBOSE)
|
''', re.VERBOSE)
|
||||||
re_Button = re.compile('^The button is in seat #(?P<BUTTON>\d+)', re.MULTILINE)
|
re_Button = re.compile('^The button is in seat #(?P<BUTTON>\d+)', re.MULTILINE)
|
||||||
re_PlayerInfo = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.*) \(\$?(?P<CASH>[,.0-9]+)\)')
|
re_PlayerInfo = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.*) \(\$?(?P<CASH>[,.0-9]+)\)$', re.MULTILINE)
|
||||||
re_Board = re.compile(r"\[(?P<CARDS>.+)\]")
|
re_Board = re.compile(r"\[(?P<CARDS>.+)\]")
|
||||||
# NB: if we ever match "Full Tilt Poker" we should also match "FullTiltPoker", which PT Stud erroneously exports.
|
# NB: if we ever match "Full Tilt Poker" we should also match "FullTiltPoker", which PT Stud erroneously exports.
|
||||||
|
|
||||||
|
@ -299,6 +299,24 @@ follow : whether to tail -f the input"""
|
||||||
cards = cards.split(' ')
|
cards = cards.split(' ')
|
||||||
hand.addShownCards(cards=cards, player=m.group('PNAME'))
|
hand.addShownCards(cards=cards, player=m.group('PNAME'))
|
||||||
|
|
||||||
|
def guessMaxSeats(self, hand):
|
||||||
|
"""Return a guess at max_seats when not specified in HH."""
|
||||||
|
mo = self.maxOccSeat(hand)
|
||||||
|
|
||||||
|
if mo == 10: return 10 #that was easy
|
||||||
|
|
||||||
|
if hand.gametype['base'] == 'stud':
|
||||||
|
if mo <= 8: return 8
|
||||||
|
else: return mo
|
||||||
|
|
||||||
|
if hand.gametype['base'] == 'draw':
|
||||||
|
if mo <= 6: return 6
|
||||||
|
else: return mo
|
||||||
|
|
||||||
|
if mo == 2: return 2
|
||||||
|
if mo <= 6: return 6
|
||||||
|
return 9
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
parser = OptionParser()
|
parser = OptionParser()
|
||||||
|
|
|
@ -51,7 +51,7 @@ class Hand(object):
|
||||||
self.handid = 0
|
self.handid = 0
|
||||||
self.tablename = ""
|
self.tablename = ""
|
||||||
self.hero = ""
|
self.hero = ""
|
||||||
self.maxseats = 10
|
self.maxseats = None
|
||||||
self.counted_seats = 0
|
self.counted_seats = 0
|
||||||
self.buttonpos = 0
|
self.buttonpos = 0
|
||||||
self.tourNo = None
|
self.tourNo = None
|
||||||
|
@ -630,6 +630,8 @@ class HoldemOmahaHand(Hand):
|
||||||
hhc.readShownCards(self)
|
hhc.readShownCards(self)
|
||||||
self.totalPot() # finalise it (total the pot)
|
self.totalPot() # finalise it (total the pot)
|
||||||
hhc.getRake(self)
|
hhc.getRake(self)
|
||||||
|
if self.maxseats == None:
|
||||||
|
self.maxseats = hhc.guessMaxSeats(self)
|
||||||
elif builtFrom == "DB":
|
elif builtFrom == "DB":
|
||||||
if handid is not None:
|
if handid is not None:
|
||||||
self.select(handid) # Will need a handId
|
self.select(handid) # Will need a handId
|
||||||
|
|
|
@ -346,6 +346,29 @@ or None if we fail to get the info """
|
||||||
except:
|
except:
|
||||||
traceback.print_exc(file=sys.stderr)
|
traceback.print_exc(file=sys.stderr)
|
||||||
|
|
||||||
|
def guessMaxSeats(self, hand):
|
||||||
|
"""Return a guess at max_seats when not specified in HH."""
|
||||||
|
mo = self.maxOccSeat(hand)
|
||||||
|
|
||||||
|
if mo == 10: return 10 #that was easy
|
||||||
|
|
||||||
|
if hand.gametype['base'] == 'stud':
|
||||||
|
if mo <= 8: return 8
|
||||||
|
else: return mo
|
||||||
|
|
||||||
|
if hand.gametype['base'] == 'draw':
|
||||||
|
if mo <= 6: return 6
|
||||||
|
else: return mo
|
||||||
|
|
||||||
|
if mo == 2: return 2
|
||||||
|
if mo <= 6: return 6
|
||||||
|
return 10
|
||||||
|
|
||||||
|
def maxOccSeat(self, hand):
|
||||||
|
max = 0
|
||||||
|
for player in hand.players:
|
||||||
|
if player[0] > max: max = player[0]
|
||||||
|
return max
|
||||||
|
|
||||||
def getStatus(self):
|
def getStatus(self):
|
||||||
#TODO: Return a status of true if file processed ok
|
#TODO: Return a status of true if file processed ok
|
||||||
|
|
Loading…
Reference in New Issue
Block a user