Merge branch 'master' of git://git.assembla.com/fpdb
This commit is contained in:
commit
674fda6911
|
@ -54,7 +54,7 @@ class Absolute(HandHistoryConverter):
|
||||||
(?P<TRNY_TYPE>\(1\son\s1\)|Single\ Tournament|Multi\ Normal\ Tournament|)\s*
|
(?P<TRNY_TYPE>\(1\son\s1\)|Single\ Tournament|Multi\ Normal\ Tournament|)\s*
|
||||||
(?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
|
(?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
|
||||||
(?P<CURRENCY>\$|\s€|)
|
(?P<CURRENCY>\$|\s€|)
|
||||||
(?P<SB>[.0-9]+)/?(?:\$|\s€|)(?P<BB>[.0-9]+)?
|
(?P<SB>[.,0-9]+)/?(?:\$|\s€|)(?P<BB>[.,0-9]+)?
|
||||||
\s+-\s+
|
\s+-\s+
|
||||||
(?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)\s+
|
(?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)\s+
|
||||||
(?: \( (?P<TZ>[A-Z]+) \)\s+ )?
|
(?: \( (?P<TZ>[A-Z]+) \)\s+ )?
|
||||||
|
@ -95,14 +95,14 @@ class Absolute(HandHistoryConverter):
|
||||||
player_re = "(?P<PNAME>" + "|".join(map(re.escape, players)) + ")"
|
player_re = "(?P<PNAME>" + "|".join(map(re.escape, players)) + ")"
|
||||||
logging.debug("player_re: "+ player_re)
|
logging.debug("player_re: "+ player_re)
|
||||||
#(?P<CURRENCY>\$| €|)(?P<BB>[0-9]*[.0-9]+)
|
#(?P<CURRENCY>\$| €|)(?P<BB>[0-9]*[.0-9]+)
|
||||||
self.re_PostSB = re.compile(ur"^%s - Posts small blind (?:\$| €|)(?P<SB>[0-9]*[.0-9]+)" % player_re, re.MULTILINE)
|
self.re_PostSB = re.compile(ur"^%s - Posts small blind (?:\$| €|)(?P<SB>[,.0-9]+)" % player_re, re.MULTILINE)
|
||||||
self.re_PostBB = re.compile(ur"^%s - Posts big blind (?:\$| €|)(?P<BB>[0-9]*[.0-9]+)" % player_re, re.MULTILINE)
|
self.re_PostBB = re.compile(ur"^%s - Posts big blind (?:\$| €|)(?P<BB>[.,0-9]+)" % player_re, re.MULTILINE)
|
||||||
# TODO: Absolute posting when coming in new: %s - Posts $0.02 .. should that be a new Post line? where do we need to add support for that? *confused*
|
# TODO: Absolute posting when coming in new: %s - Posts $0.02 .. should that be a new Post line? where do we need to add support for that? *confused*
|
||||||
self.re_PostBoth = re.compile(ur"^%s - Posts dead (?:\$| €|)(?P<SBBB>[0-9]*[.0-9]+)" % player_re, re.MULTILINE)
|
self.re_PostBoth = re.compile(ur"^%s - Posts dead (?:\$| €|)(?P<SBBB>[,.0-9]+)" % player_re, re.MULTILINE)
|
||||||
self.re_Action = re.compile(ur"^%s - (?P<ATYPE>Bets |Raises |All-In |All-In\(Raise\) |Calls |Folds|Checks)?\$?(?P<BET>[0-9]*[.0-9]+)?" % player_re, re.MULTILINE)
|
self.re_Action = re.compile(ur"^%s - (?P<ATYPE>Bets |Raises |All-In |All-In\(Raise\) |Calls |Folds|Checks)?\$?(?P<BET>[,.0-9]+)?" % player_re, re.MULTILINE)
|
||||||
self.re_ShowdownAction = re.compile(ur"^%s - Shows \[(?P<CARDS>.*)\]" % player_re, re.MULTILINE)
|
self.re_ShowdownAction = re.compile(ur"^%s - Shows \[(?P<CARDS>.*)\]" % player_re, re.MULTILINE)
|
||||||
self.re_CollectPot = re.compile(ur"^Seat [0-9]: %s(?: \(dealer\)|)(?: \(big blind\)| \(small blind\)|) (?:won|collected) Total \((?:\$| €|)(?P<POT>[0-9]*[.0-9]+)\)" % player_re, re.MULTILINE)
|
self.re_CollectPot = re.compile(ur"^Seat [0-9]: %s(?: \(dealer\)|)(?: \(big blind\)| \(small blind\)|) (?:won|collected) Total \((?:\$| €|)(?P<POT>[,.0-9]+)\)" % player_re, re.MULTILINE)
|
||||||
self.re_Antes = re.compile(ur"^%s - Ante \[(?:\$| €|)(?P<ANTE>[.0-9]+)" % player_re, re.MULTILINE)
|
self.re_Antes = re.compile(ur"^%s - Ante \[(?:\$| €|)(?P<ANTE>[,.0-9]+)" % player_re, re.MULTILINE)
|
||||||
#self.re_BringIn = re.compile(ur"^%s posts bring-in (?:\$| €|)(?P<BRINGIN>[.0-9]+)\." % player_re, re.MULTILINE)
|
#self.re_BringIn = re.compile(ur"^%s posts bring-in (?:\$| €|)(?P<BRINGIN>[.0-9]+)\." % player_re, re.MULTILINE)
|
||||||
self.re_HeroCards = re.compile(ur"^Dealt to %s \[(?P<CARDS>.*)\]" % player_re, re.MULTILINE)
|
self.re_HeroCards = re.compile(ur"^Dealt to %s \[(?P<CARDS>.*)\]" % player_re, re.MULTILINE)
|
||||||
|
|
||||||
|
@ -175,11 +175,13 @@ class Absolute(HandHistoryConverter):
|
||||||
if info['currency'] == 'T$':
|
if info['currency'] == 'T$':
|
||||||
info['type'] = 'tour'
|
info['type'] = 'tour'
|
||||||
if 'SB' in mg:
|
if 'SB' in mg:
|
||||||
|
mg['SB'] = mg['SB'].replace(',', '')
|
||||||
info['sb'] = mg['SB']
|
info['sb'] = mg['SB']
|
||||||
if 'BB' in mg:
|
if 'BB' in mg:
|
||||||
info['bb'] = mg['BB']
|
info['bb'] = mg['BB']
|
||||||
# NB: SB, BB must be interpreted as blinds or bets depending on limit type.
|
# NB: SB, BB must be interpreted as blinds or bets depending on limit type.
|
||||||
if info['bb'] is None:
|
if info['bb'] is None:
|
||||||
|
mg['SB'] = mg['SB'].replace(',', '')
|
||||||
info['bb'] = mg['SB']
|
info['bb'] = mg['SB']
|
||||||
info['sb'] = str(float(mg['SB']) * 0.5) # TODO: AP does provide Small BET for Limit .. I think? at least 1-on-1 limit they do.. sigh
|
info['sb'] = str(float(mg['SB']) * 0.5) # TODO: AP does provide Small BET for Limit .. I think? at least 1-on-1 limit they do.. sigh
|
||||||
|
|
||||||
|
@ -330,17 +332,21 @@ class Absolute(HandHistoryConverter):
|
||||||
for action in m:
|
for action in m:
|
||||||
logging.debug("%s %s" % (action.group('ATYPE'), action.groupdict()))
|
logging.debug("%s %s" % (action.group('ATYPE'), action.groupdict()))
|
||||||
if action.group('ATYPE') == 'Raises ' or action.group('ATYPE') == 'All-In(Raise) ':
|
if action.group('ATYPE') == 'Raises ' or action.group('ATYPE') == 'All-In(Raise) ':
|
||||||
hand.addCallandRaise( street, action.group('PNAME'), action.group('BET') )
|
bet = action.group('BET').replace(',', '')
|
||||||
|
hand.addCallandRaise( street, action.group('PNAME'), bet)
|
||||||
elif action.group('ATYPE') == 'Calls ':
|
elif action.group('ATYPE') == 'Calls ':
|
||||||
hand.addCall( street, action.group('PNAME'), action.group('BET') )
|
bet = action.group('BET').replace(',', '')
|
||||||
|
hand.addCall( street, action.group('PNAME'), bet)
|
||||||
elif action.group('ATYPE') == 'Bets ' or action.group('ATYPE') == 'All-In ':
|
elif action.group('ATYPE') == 'Bets ' or action.group('ATYPE') == 'All-In ':
|
||||||
hand.addBet( street, action.group('PNAME'), action.group('BET') )
|
bet = action.group('BET').replace(',', '')
|
||||||
|
hand.addBet( street, action.group('PNAME'), bet)
|
||||||
elif action.group('ATYPE') == 'Folds':
|
elif action.group('ATYPE') == 'Folds':
|
||||||
hand.addFold( street, action.group('PNAME'))
|
hand.addFold( street, action.group('PNAME'))
|
||||||
elif action.group('ATYPE') == 'Checks':
|
elif action.group('ATYPE') == 'Checks':
|
||||||
hand.addCheck( street, action.group('PNAME'))
|
hand.addCheck( street, action.group('PNAME'))
|
||||||
elif action.group('ATYPE') == ' complete to': # TODO: not supported yet ?
|
elif action.group('ATYPE') == ' complete to': # TODO: not supported yet ?
|
||||||
hand.addComplete( street, action.group('PNAME'), action.group('BET'))
|
bet = action.group('BET').replace(',', '')
|
||||||
|
hand.addComplete( street, action.group('PNAME'), bet)
|
||||||
else:
|
else:
|
||||||
logging.debug(_("Unimplemented readAction: %s %s" %(action.group('PNAME'),action.group('ATYPE'),)))
|
logging.debug(_("Unimplemented readAction: %s %s" %(action.group('PNAME'),action.group('ATYPE'),)))
|
||||||
|
|
||||||
|
@ -357,7 +363,8 @@ class Absolute(HandHistoryConverter):
|
||||||
|
|
||||||
def readCollectPot(self,hand):
|
def readCollectPot(self,hand):
|
||||||
for m in self.re_CollectPot.finditer(hand.handText):
|
for m in self.re_CollectPot.finditer(hand.handText):
|
||||||
hand.addCollectPot(player=m.group('PNAME'),pot=m.group('POT'))
|
pot = m.group('POT').replace(',','')
|
||||||
|
hand.addCollectPot(player=m.group('PNAME'),pot=pot)
|
||||||
|
|
||||||
def readShownCards(self,hand):
|
def readShownCards(self,hand):
|
||||||
"""Reads lines where hole & board cards are mixed to form a hand (summary lines)"""
|
"""Reads lines where hole & board cards are mixed to form a hand (summary lines)"""
|
||||||
|
|
|
@ -66,7 +66,7 @@ class Carbon(HandHistoryConverter):
|
||||||
# Static regexes
|
# Static regexes
|
||||||
re_SplitHands = re.compile(r'</game>\n+(?=<game)')
|
re_SplitHands = re.compile(r'</game>\n+(?=<game)')
|
||||||
re_TailSplitHands = re.compile(r'(</game>)')
|
re_TailSplitHands = re.compile(r'(</game>)')
|
||||||
re_GameInfo = re.compile(r'<description type="(?P<GAME>[a-zA-Z ]+)" stakes="(?P<LIMIT>[a-zA-Z ]+) \(\$(?P<SB>[.0-9]+)/\$(?P<BB>[.0-9]+)\)"/>', re.MULTILINE)
|
re_GameInfo = re.compile(r'<description type="(?P<GAME>[a-zA-Z ]+)" stakes="(?P<LIMIT>[a-zA-Z ]+) ?\(\$(?P<SB>[.0-9]+)/\$(?P<BB>[.0-9]+)?\)"/>', re.MULTILINE)
|
||||||
re_HandInfo = re.compile(r'<game id="(?P<HID1>[0-9]+)-(?P<HID2>[0-9]+)" starttime="(?P<DATETIME>[0-9]+)" numholecards="2" gametype="2" realmoney="true" data="[0-9]+\|(?P<TABLE>[^\(]+)', re.MULTILINE)
|
re_HandInfo = re.compile(r'<game id="(?P<HID1>[0-9]+)-(?P<HID2>[0-9]+)" starttime="(?P<DATETIME>[0-9]+)" numholecards="2" gametype="2" realmoney="true" data="[0-9]+\|(?P<TABLE>[^\(]+)', re.MULTILINE)
|
||||||
re_Button = re.compile(r'<players dealer="(?P<BUTTON>[0-9]+)">')
|
re_Button = re.compile(r'<players dealer="(?P<BUTTON>[0-9]+)">')
|
||||||
re_PlayerInfo = re.compile(r'<player seat="(?P<SEAT>[0-9]+)" nickname="(?P<PNAME>.+)" balance="\$(?P<CASH>[.0-9]+)" dealtin="(?P<DEALTIN>(true|false))" />', re.MULTILINE)
|
re_PlayerInfo = re.compile(r'<player seat="(?P<SEAT>[0-9]+)" nickname="(?P<PNAME>.+)" balance="\$(?P<CASH>[.0-9]+)" dealtin="(?P<DEALTIN>(true|false))" />', re.MULTILINE)
|
||||||
|
|
|
@ -238,7 +238,7 @@ class SummaryImporter:
|
||||||
self.filelist = {}
|
self.filelist = {}
|
||||||
|
|
||||||
def readFile(self, tsc, filename):
|
def readFile(self, tsc, filename):
|
||||||
codepage = ["utf8"]
|
codepage = ["utf8", "utf16"]
|
||||||
whole_file = None
|
whole_file = None
|
||||||
tsc.codepage
|
tsc.codepage
|
||||||
|
|
||||||
|
@ -248,7 +248,8 @@ class SummaryImporter:
|
||||||
whole_file = in_fh.read()
|
whole_file = in_fh.read()
|
||||||
in_fh.close()
|
in_fh.close()
|
||||||
break
|
break
|
||||||
except:
|
except UnicodeDecodeError, e:
|
||||||
|
log.warn(_("GTI.readFile: '%s'") % e)
|
||||||
pass
|
pass
|
||||||
|
|
||||||
return whole_file
|
return whole_file
|
||||||
|
|
|
@ -567,7 +567,7 @@ Left-Drag to Move"
|
||||||
|
|
||||||
<hhcs>
|
<hhcs>
|
||||||
<hhc site="PokerStars" converter="PokerStarsToFpdb" summaryImporter="PokerStarsSummary"/>
|
<hhc site="PokerStars" converter="PokerStarsToFpdb" summaryImporter="PokerStarsSummary"/>
|
||||||
<hhc site="Full Tilt Poker" converter="FulltiltToFpdb"/>
|
<hhc site="Full Tilt Poker" converter="FulltiltToFpdb" summaryImporter="FullTiltPokerSummary"/>
|
||||||
<hhc site="Everleaf" converter="EverleafToFpdb"/>
|
<hhc site="Everleaf" converter="EverleafToFpdb"/>
|
||||||
<hhc site="Win2day" converter="Win2dayToFpdb"/>
|
<hhc site="Win2day" converter="Win2dayToFpdb"/>
|
||||||
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
||||||
|
|
|
@ -778,7 +778,7 @@ Left-Drag to Move"
|
||||||
|
|
||||||
<hhcs>
|
<hhcs>
|
||||||
<hhc site="PokerStars" converter="PokerStarsToFpdb" summaryImporter="PokerStarsSummary"/>
|
<hhc site="PokerStars" converter="PokerStarsToFpdb" summaryImporter="PokerStarsSummary"/>
|
||||||
<hhc site="Full Tilt Poker" converter="FulltiltToFpdb"/>
|
<hhc site="Full Tilt Poker" converter="FulltiltToFpdb" summaryImporter="FullTiltPokerSummary"/>
|
||||||
<hhc site="Everleaf" converter="EverleafToFpdb"/>
|
<hhc site="Everleaf" converter="EverleafToFpdb"/>
|
||||||
<hhc site="Win2day" converter="Win2dayToFpdb"/>
|
<hhc site="Win2day" converter="Win2dayToFpdb"/>
|
||||||
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
||||||
|
|
|
@ -99,7 +99,9 @@ class PokerStars(HandHistoryConverter):
|
||||||
(?P<BB>[.0-9]+)
|
(?P<BB>[.0-9]+)
|
||||||
(?P<BLAH>\s-\s[%(LS)s\d\.]+\sCap\s-\s)? # Optional Cap part
|
(?P<BLAH>\s-\s[%(LS)s\d\.]+\sCap\s-\s)? # Optional Cap part
|
||||||
\s?(?P<ISO>%(LEGAL_ISO)s)?
|
\s?(?P<ISO>%(LEGAL_ISO)s)?
|
||||||
\)\s-\s # close paren of the stakes
|
\) # close paren of the stakes
|
||||||
|
(?P<BLAH2>\s\[AAMS\sID:\s[A-Z0-9]+\])? # AAMS ID: in .it HH's
|
||||||
|
\s-\s
|
||||||
(?P<DATETIME>.*$)
|
(?P<DATETIME>.*$)
|
||||||
""" % substitutions, re.MULTILINE|re.VERBOSE)
|
""" % substitutions, re.MULTILINE|re.VERBOSE)
|
||||||
|
|
||||||
|
|
309
pyfpdb/Stove.py
Executable file
309
pyfpdb/Stove.py
Executable file
|
@ -0,0 +1,309 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: iso-8859-15
|
||||||
|
#
|
||||||
|
# stove.py
|
||||||
|
# Simple Hold'em equity calculator
|
||||||
|
# Copyright (C) 2007-2008 Mika Boström <bostik@iki.fi>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
#TODO: gettextify
|
||||||
|
|
||||||
|
import sys, random
|
||||||
|
import pokereval
|
||||||
|
|
||||||
|
SUITS = ['h', 'd', 's', 'c']
|
||||||
|
|
||||||
|
ANY = 0
|
||||||
|
SUITED = 1
|
||||||
|
OFFSUIT = 2
|
||||||
|
|
||||||
|
ev = pokereval.PokerEval()
|
||||||
|
|
||||||
|
holder = None
|
||||||
|
|
||||||
|
class Holder:
|
||||||
|
def __init__(self):
|
||||||
|
self.hand = None
|
||||||
|
self.board = None
|
||||||
|
self.range = None
|
||||||
|
|
||||||
|
|
||||||
|
class Cards:
|
||||||
|
def __init__(self, c1, c2):
|
||||||
|
self.c1 = c1
|
||||||
|
self.c2 = c2
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
return [c1, c2]
|
||||||
|
|
||||||
|
class Board:
|
||||||
|
def __init__(self, b1=None, b2=None, b3=None, b4=None, b5=None):
|
||||||
|
self.b1 = b1
|
||||||
|
self.b2 = b2
|
||||||
|
self.b3 = b3
|
||||||
|
self.b4 = b4
|
||||||
|
self.b5 = b5
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
b = []
|
||||||
|
if self.b3 is not None:
|
||||||
|
b.append(self.b1)
|
||||||
|
b.append(self.b2)
|
||||||
|
b.append(self.b3)
|
||||||
|
else:
|
||||||
|
b.extend(["__", "__", "__"])
|
||||||
|
|
||||||
|
if self.b4 is not None:
|
||||||
|
b.append(self.b4)
|
||||||
|
else:
|
||||||
|
b.append("__")
|
||||||
|
|
||||||
|
if self.b5 is not None:
|
||||||
|
b.append(self.b5)
|
||||||
|
else:
|
||||||
|
b.append("__")
|
||||||
|
|
||||||
|
return b
|
||||||
|
|
||||||
|
class Range:
|
||||||
|
def __init__(self):
|
||||||
|
self.__hands = set()
|
||||||
|
|
||||||
|
def add(self, hand):
|
||||||
|
self.__hands.add(hand)
|
||||||
|
|
||||||
|
def expand(self, hands):
|
||||||
|
self.__hands.update(set(hands))
|
||||||
|
|
||||||
|
def get(self):
|
||||||
|
return sorted(self.__hands)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class EV:
|
||||||
|
def __init__(self, plays, win, tie, lose):
|
||||||
|
self.n_hands = plays
|
||||||
|
self.n_wins = win
|
||||||
|
self.n_ties = tie
|
||||||
|
self.n_losses = lose
|
||||||
|
|
||||||
|
|
||||||
|
class SumEV:
|
||||||
|
def __init__(self):
|
||||||
|
self.n_hands = 0
|
||||||
|
self.n_wins = 0
|
||||||
|
self.n_ties = 0
|
||||||
|
self.n_losses = 0
|
||||||
|
|
||||||
|
def add(self, ev):
|
||||||
|
self.n_hands += ev.n_hands
|
||||||
|
self.n_wins += ev.n_wins
|
||||||
|
self.n_ties += ev.n_ties
|
||||||
|
self.n_losses += ev.n_losses
|
||||||
|
|
||||||
|
def show(self, hand, range):
|
||||||
|
win_pct = 100 * (float(self.n_wins) / float(self.n_hands))
|
||||||
|
lose_pct = 100 * (float(self.n_losses) / float(self.n_hands))
|
||||||
|
tie_pct = 100 * (float(self.n_ties) / float(self.n_hands))
|
||||||
|
print 'Enumerated %d possible plays.' % self.n_hands
|
||||||
|
print 'Your hand: (%s %s)' % (hand.c1, hand.c2)
|
||||||
|
print 'Against the range: %s\n' % cards_from_range(range)
|
||||||
|
print ' Win Lose Tie'
|
||||||
|
print ' %5.2f%% %5.2f%% %5.2f%%' % (win_pct, lose_pct, tie_pct)
|
||||||
|
|
||||||
|
|
||||||
|
def usage(me):
|
||||||
|
print """Texas Hold'Em odds calculator
|
||||||
|
Calculates odds against a range of hands.
|
||||||
|
|
||||||
|
To use: %s '<board cards>' '<your hand>' '<opponent's range>' [...]
|
||||||
|
|
||||||
|
Separate cards with space.
|
||||||
|
Separate hands in range with commas.
|
||||||
|
""" % me
|
||||||
|
|
||||||
|
def cards_from_range(range):
|
||||||
|
s = '{'
|
||||||
|
for h in range:
|
||||||
|
if h.c1 == '__' and h.c2 == '__':
|
||||||
|
s += 'random, '
|
||||||
|
else:
|
||||||
|
s += '%s%s, ' % (h.c1, h.c2)
|
||||||
|
s = s.rstrip(', ')
|
||||||
|
s += '}'
|
||||||
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
# Expands hand abbreviations such as JJ and AK to full hand ranges.
|
||||||
|
# Takes into account cards already known to be in player's hand and/or
|
||||||
|
# board.
|
||||||
|
def expand_hands(abbrev, hand, board):
|
||||||
|
selection = -1
|
||||||
|
known_cards = set()
|
||||||
|
known_cards.update(set([hand.c2, hand.c2]))
|
||||||
|
known_cards.update(set([board.b1, board.b2, board.b3, board.b4, board.b5]))
|
||||||
|
|
||||||
|
# Card ranks may be different
|
||||||
|
r1 = abbrev[0]
|
||||||
|
r2 = abbrev[1]
|
||||||
|
# There may be a specifier: 's' for 'suited'; 'o' for 'off-suit'
|
||||||
|
if len(abbrev) == 3:
|
||||||
|
ltr = abbrev[2]
|
||||||
|
if ltr == 'o':
|
||||||
|
selection = OFFSUIT
|
||||||
|
elif ltr == 's':
|
||||||
|
selection = SUITED
|
||||||
|
else:
|
||||||
|
selection = ANY
|
||||||
|
|
||||||
|
range = []
|
||||||
|
considered = set()
|
||||||
|
for s1 in SUITS:
|
||||||
|
c1 = r1 + s1
|
||||||
|
if c1 in known_cards:
|
||||||
|
continue
|
||||||
|
considered.add(c1)
|
||||||
|
for s2 in SUITS:
|
||||||
|
c2 = r2 + s2
|
||||||
|
if selection == SUITED and s1 != s2:
|
||||||
|
continue
|
||||||
|
elif selection == OFFSUIT and s1 == s2:
|
||||||
|
continue
|
||||||
|
if c2 not in considered and c2 not in known_cards:
|
||||||
|
range.append(Cards(c1, c2))
|
||||||
|
return range
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args(args, container):
|
||||||
|
# args[0] is the path being executed; need 3 more args
|
||||||
|
if len(args) < 4:
|
||||||
|
return False
|
||||||
|
|
||||||
|
board = Board()
|
||||||
|
|
||||||
|
# Board
|
||||||
|
b = args[1].strip().split()
|
||||||
|
if len(b) > 4:
|
||||||
|
board.b5 = b[4]
|
||||||
|
if len(b) > 3:
|
||||||
|
board.b4 = b[3]
|
||||||
|
if len(b) > 2:
|
||||||
|
board.b1 = b[0]
|
||||||
|
board.b2 = b[1]
|
||||||
|
board.b3 = b[2]
|
||||||
|
|
||||||
|
# Our pocket cards
|
||||||
|
cc = args[2].strip().split()
|
||||||
|
c1 = cc[0]
|
||||||
|
c2 = cc[1]
|
||||||
|
pocket_cards = Cards(c1, c2)
|
||||||
|
|
||||||
|
# Villain's range
|
||||||
|
range = Range()
|
||||||
|
hands_in_range = args[3].strip().split(',')
|
||||||
|
for h in hands_in_range:
|
||||||
|
_h = h.strip()
|
||||||
|
if len(_h) > 3:
|
||||||
|
cc = _h.split()
|
||||||
|
r1 = cc[0]
|
||||||
|
r2 = cc[1]
|
||||||
|
vp = Cards(r1, r2)
|
||||||
|
range.add(vp)
|
||||||
|
else:
|
||||||
|
range.expand(expand_hands(_h, pocket_cards, board))
|
||||||
|
|
||||||
|
holder.hand = pocket_cards
|
||||||
|
holder.range = range
|
||||||
|
holder.board = board
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def odds_for_hand(hand1, hand2, board, iterations):
|
||||||
|
res = ev.poker_eval(game='holdem',
|
||||||
|
pockets = [
|
||||||
|
hand1,
|
||||||
|
hand2
|
||||||
|
],
|
||||||
|
dead = [],
|
||||||
|
board = board,
|
||||||
|
iterations = iterations
|
||||||
|
)
|
||||||
|
|
||||||
|
plays = int(res['info'][0])
|
||||||
|
eval = res['eval'][0]
|
||||||
|
|
||||||
|
win = int(eval['winhi'])
|
||||||
|
lose = int(eval['losehi'])
|
||||||
|
tie = int(eval['tiehi'])
|
||||||
|
|
||||||
|
_ev = EV(plays, win, tie, lose)
|
||||||
|
return _ev
|
||||||
|
|
||||||
|
|
||||||
|
def odds_for_range(holder):
|
||||||
|
sev = SumEV()
|
||||||
|
monte_carlo = False
|
||||||
|
|
||||||
|
# Construct board list
|
||||||
|
b = []
|
||||||
|
board = holder.board
|
||||||
|
if board.b3 is not None:
|
||||||
|
b.extend([board.b1, board.b2, board.b3])
|
||||||
|
else:
|
||||||
|
b.extend(['__', '__', '__'])
|
||||||
|
monte_carlo = True
|
||||||
|
if board.b4 is not None:
|
||||||
|
b.append(board.b4)
|
||||||
|
else:
|
||||||
|
b.append("__")
|
||||||
|
if board.b5 is not None:
|
||||||
|
b.append(board.b5)
|
||||||
|
else:
|
||||||
|
b.append("__")
|
||||||
|
|
||||||
|
if monte_carlo:
|
||||||
|
print 'No board given. Using Monte-Carlo simulation...'
|
||||||
|
iters = random.randint(25000, 125000)
|
||||||
|
else:
|
||||||
|
iters = -1
|
||||||
|
for h in holder.range.get():
|
||||||
|
e = odds_for_hand(
|
||||||
|
[holder.hand.c1, holder.hand.c2],
|
||||||
|
[h.c1, h.c2],
|
||||||
|
b,
|
||||||
|
iterations=iters
|
||||||
|
)
|
||||||
|
sev.add(e)
|
||||||
|
|
||||||
|
sev.show(holder.hand, holder.range.get())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
holder = Holder()
|
||||||
|
if not parse_args(sys.argv, holder):
|
||||||
|
usage(sys.argv[0])
|
||||||
|
sys.exit(2)
|
||||||
|
odds_for_range(holder)
|
||||||
|
|
||||||
|
# debugs
|
||||||
|
#print '%s, %s' % ( holder.hand.c1, holder.hand.c2)
|
||||||
|
#print '%s %s %s %s %s' % (holder.board.b1, holder.board.b2,
|
||||||
|
# holder.board.b3, holder.board.b4, holder.board.b5)
|
||||||
|
#while True:
|
||||||
|
# try:
|
||||||
|
# vl = holder.range.get()
|
||||||
|
# v = vl.pop()
|
||||||
|
# print '\t%s %s' % (v.c1, v.c2)
|
||||||
|
# except IndexError:
|
||||||
|
# break
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -128,7 +128,7 @@ def main(argv=None):
|
||||||
importer = SummaryImporter(config, sql, None)
|
importer = SummaryImporter(config, sql, None)
|
||||||
|
|
||||||
PokerStarsErrors = FpdbError('PokerStars')
|
PokerStarsErrors = FpdbError('PokerStars')
|
||||||
#FTPErrors = FpdbError('Full Tilt Poker')
|
FTPErrors = FpdbError('Full Tilt Poker')
|
||||||
#PartyPokerErrors = FpdbError('Party Poker')
|
#PartyPokerErrors = FpdbError('Party Poker')
|
||||||
#BetfairErrors = FpdbError('Betfair')
|
#BetfairErrors = FpdbError('Betfair')
|
||||||
#OnGameErrors = FpdbError('OnGame')
|
#OnGameErrors = FpdbError('OnGame')
|
||||||
|
@ -142,7 +142,7 @@ def main(argv=None):
|
||||||
|
|
||||||
ErrorsList = [
|
ErrorsList = [
|
||||||
PokerStarsErrors,
|
PokerStarsErrors,
|
||||||
#FTPErrors, PartyPokerErrors,
|
FTPErrors, #PartyPokerErrors,
|
||||||
#BetfairErrors, OnGameErrors, AbsoluteErrors,
|
#BetfairErrors, OnGameErrors, AbsoluteErrors,
|
||||||
#EverleafErrors, CarbonErrors, PKRErrors,
|
#EverleafErrors, CarbonErrors, PKRErrors,
|
||||||
#iPokerErrors, WinamaxErrors, UltimateBetErrors,
|
#iPokerErrors, WinamaxErrors, UltimateBetErrors,
|
||||||
|
@ -150,7 +150,7 @@ def main(argv=None):
|
||||||
|
|
||||||
sites = {
|
sites = {
|
||||||
'PokerStars' : True,
|
'PokerStars' : True,
|
||||||
#'Full Tilt Poker' : True,
|
'Full Tilt Poker' : True,
|
||||||
#'PartyPoker' : True,
|
#'PartyPoker' : True,
|
||||||
#'Betfair' : True,
|
#'Betfair' : True,
|
||||||
#'OnGame' : True,
|
#'OnGame' : True,
|
||||||
|
@ -165,8 +165,8 @@ def main(argv=None):
|
||||||
|
|
||||||
if sites['PokerStars'] == True:
|
if sites['PokerStars'] == True:
|
||||||
walk_testfiles("regression-test-files/summaries/Stars/", compare, importer, PokerStarsErrors, "PokerStars")
|
walk_testfiles("regression-test-files/summaries/Stars/", compare, importer, PokerStarsErrors, "PokerStars")
|
||||||
#if sites['Full Tilt Poker'] == True:
|
if sites['Full Tilt Poker'] == True:
|
||||||
# walk_testfiles("regression-test-files/cash/FTP/", compare, importer, FTPErrors, "Full Tilt Poker")
|
walk_testfiles("regression-test-files/summaries/FTP/", compare, importer, FTPErrors, "Full Tilt Poker")
|
||||||
# walk_testfiles("regression-test-files/tour/FTP/", compare, importer, FTPErrors, "Full Tilt Poker")
|
# walk_testfiles("regression-test-files/tour/FTP/", compare, importer, FTPErrors, "Full Tilt Poker")
|
||||||
#if sites['PartyPoker'] == True:
|
#if sites['PartyPoker'] == True:
|
||||||
# walk_testfiles("regression-test-files/cash/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker")
|
# walk_testfiles("regression-test-files/cash/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker")
|
||||||
|
|
|
@ -49,7 +49,7 @@ class TourneySummary(object):
|
||||||
LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'} # SAL- TO KEEP ??
|
LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'} # SAL- TO KEEP ??
|
||||||
SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''}
|
SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''}
|
||||||
MS = {'horse' : 'HORSE', '8game' : '8-Game', 'hose' : 'HOSE', 'ha': 'HA'}
|
MS = {'horse' : 'HORSE', '8game' : '8-Game', 'hose' : 'HOSE', 'ha': 'HA'}
|
||||||
SITEIDS = {'Fulltilt':1, 'PokerStars':2, 'Everleaf':3, 'Win2day':4, 'OnGame':5, 'UltimateBet':6, 'Betfair':7, 'Absolute':8, 'PartyPoker':9 }
|
SITEIDS = {'Fulltilt':1, 'Full Tilt Poker':1, 'PokerStars':2, 'Everleaf':3, 'Win2day':4, 'OnGame':5, 'UltimateBet':6, 'Betfair':7, 'Absolute':8, 'PartyPoker':9 }
|
||||||
|
|
||||||
|
|
||||||
def __init__(self, db, config, siteName, summaryText, builtFrom = "HHC"):
|
def __init__(self, db, config, siteName, summaryText, builtFrom = "HHC"):
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,565 @@
|
||||||
|
{ u'Lisypoker': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 2,
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 9,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 357,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 0,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'Tortozendo': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': True,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': True,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 0,
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raisedFirstIn': True,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 6,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 214,
|
||||||
|
'street0Aggr': True,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': -8,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'heulot': { 'card1': 49,
|
||||||
|
'card2': 9,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'B',
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': True,
|
||||||
|
'seatNo': 8,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 114,
|
||||||
|
'startCash': 206,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 1,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': True,
|
||||||
|
'street1Bets': 1,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': True,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': True,
|
||||||
|
'street3Bets': 1,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': True,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': -30,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'potikuus': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 1,
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 1,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 44,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 0,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'romkarnb': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 2,
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 4,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 80,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 0,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'suicini03': { 'card1': 11,
|
||||||
|
'card2': 23,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': True,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': True,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': True,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'S',
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 3,
|
||||||
|
'sawShowdown': True,
|
||||||
|
'seatNo': 7,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 128,
|
||||||
|
'startCash': 144,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 1,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 1,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': True,
|
||||||
|
'street2CheckCallRaiseDone': True,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 1,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': True,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 35,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 65,
|
||||||
|
'wonAtSD': 1.0,
|
||||||
|
'wonWhenSeenStreet1': 1.0,
|
||||||
|
'wonWhenSeenStreet2': 1.0,
|
||||||
|
'wonWhenSeenStreet3': 1.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0}}
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ROOT>
|
||||||
|
<HISTORY ID="2274477045" SESSION="session467814911.xml" TABLE="Table 50BB TH 210" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="USD" LIMIT="NL" STAKES="0.05/0.10" DATE="1280219334" WIN="0.00" LOSS="0.30">
|
||||||
|
<PLAYER NAME="Hero" SEAT="4" AMOUNT="7.95"></PLAYER>
|
||||||
|
<PLAYER NAME="Player2" SEAT="1" AMOUNT="19.60"></PLAYER>
|
||||||
|
<PLAYER NAME="Villain" SEAT="2" AMOUNT="9.93"></PLAYER>
|
||||||
|
<ACTION TYPE="HAND_BLINDS" PLAYER="Hero" KIND="HAND_BB" VALUE="0.10"></ACTION>
|
||||||
|
<ACTION TYPE="HAND_BLINDS" PLAYER="Villain" KIND="HAND_SB" VALUE="0.05"></ACTION>
|
||||||
|
<ACTION TYPE="HAND_DEAL" PLAYER="Villain">
|
||||||
|
<CARD LINK="b"></CARD>
|
||||||
|
<CARD LINK="b"></CARD></ACTION>
|
||||||
|
<ACTION TYPE="HAND_DEAL" PLAYER="Hero">
|
||||||
|
<CARD LINK="34"></CARD>
|
||||||
|
<CARD LINK="6"></CARD></ACTION>
|
||||||
|
<ACTION TYPE="HAND_DEAL" PLAYER="Player2">
|
||||||
|
<CARD LINK="b"></CARD>
|
||||||
|
<CARD LINK="b"></CARD></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_FOLD" PLAYER="Player2"></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_CALL" PLAYER="Villain" VALUE="0.10"></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_CHECK" PLAYER="Hero"></ACTION>
|
||||||
|
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_FLOP" POT="0.20">
|
||||||
|
<CARD LINK="36"></CARD>
|
||||||
|
<CARD LINK="49"></CARD>
|
||||||
|
<CARD LINK="28"></CARD></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_BET" PLAYER="Villain" VALUE="0.20"></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_CALL" PLAYER="Hero" VALUE="0.20"></ACTION>
|
||||||
|
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_TURN" POT="0.57">
|
||||||
|
<CARD LINK="36"></CARD>
|
||||||
|
<CARD LINK="49"></CARD>
|
||||||
|
<CARD LINK="28"></CARD>
|
||||||
|
<CARD LINK="17"></CARD></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_BET" PLAYER="Villain" VALUE="0.20"></ACTION>
|
||||||
|
<ACTION TYPE="ACTION_FOLD" PLAYER="Hero"></ACTION>
|
||||||
|
<SHOWDOWN NAME="HAND_SHOWDOWN" POT="0.57" RAKE="0.03">
|
||||||
|
<RESULT PLAYER="Player2" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
|
||||||
|
<RESULT PLAYER="Villain" WIN="0.57" HAND="$(STR_BY_DEFAULT)"></RESULT>
|
||||||
|
<RESULT PLAYER="Hero" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT></SHOWDOWN></HISTORY></ROOT>
|
|
@ -0,0 +1,282 @@
|
||||||
|
{ u'Hero': { 'card1': 8,
|
||||||
|
'card2': 19,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': True,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': True,
|
||||||
|
'otherRaisedStreet2': True,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'B',
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 4,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 73,
|
||||||
|
'startCash': 795,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 1,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': -30,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'Player2': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 0,
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 1,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 1960,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 0,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'Villain': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'S',
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 3,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 2,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 993,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 1,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street1Aggr': True,
|
||||||
|
'street1Bets': 1,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': True,
|
||||||
|
'street2Bets': 1,
|
||||||
|
'street2CBChance': True,
|
||||||
|
'street2CBDone': True,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'totalProfit': 27,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 57,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 1.0,
|
||||||
|
'wonWhenSeenStreet2': 1.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0}}
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user