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<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
|
||||
(?P<CURRENCY>\$|\s€|)
|
||||
(?P<SB>[.0-9]+)/?(?:\$|\s€|)(?P<BB>[.0-9]+)?
|
||||
(?P<SB>[.,0-9]+)/?(?:\$|\s€|)(?P<BB>[.,0-9]+)?
|
||||
\s+-\s+
|
||||
(?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)\s+
|
||||
(?: \( (?P<TZ>[A-Z]+) \)\s+ )?
|
||||
|
@ -95,14 +95,14 @@ class Absolute(HandHistoryConverter):
|
|||
player_re = "(?P<PNAME>" + "|".join(map(re.escape, players)) + ")"
|
||||
logging.debug("player_re: "+ player_re)
|
||||
#(?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_PostBB = re.compile(ur"^%s - Posts big blind (?:\$| €|)(?P<BB>[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]+)" % 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*
|
||||
self.re_PostBoth = re.compile(ur"^%s - Posts dead (?:\$| €|)(?P<SBBB>[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]*[.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]+)?" % 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_Antes = re.compile(ur"^%s - Ante \[(?:\$| €|)(?P<ANTE>[.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_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)
|
||||
|
||||
|
@ -175,11 +175,13 @@ class Absolute(HandHistoryConverter):
|
|||
if info['currency'] == 'T$':
|
||||
info['type'] = 'tour'
|
||||
if 'SB' in mg:
|
||||
mg['SB'] = mg['SB'].replace(',', '')
|
||||
info['sb'] = mg['SB']
|
||||
if 'BB' in mg:
|
||||
info['bb'] = mg['BB']
|
||||
# NB: SB, BB must be interpreted as blinds or bets depending on limit type.
|
||||
if info['bb'] is None:
|
||||
mg['SB'] = mg['SB'].replace(',', '')
|
||||
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
|
||||
|
||||
|
@ -330,17 +332,21 @@ class Absolute(HandHistoryConverter):
|
|||
for action in m:
|
||||
logging.debug("%s %s" % (action.group('ATYPE'), action.groupdict()))
|
||||
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 ':
|
||||
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 ':
|
||||
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':
|
||||
hand.addFold( street, action.group('PNAME'))
|
||||
elif action.group('ATYPE') == 'Checks':
|
||||
hand.addCheck( street, action.group('PNAME'))
|
||||
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:
|
||||
logging.debug(_("Unimplemented readAction: %s %s" %(action.group('PNAME'),action.group('ATYPE'),)))
|
||||
|
||||
|
@ -357,7 +363,8 @@ class Absolute(HandHistoryConverter):
|
|||
|
||||
def readCollectPot(self,hand):
|
||||
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):
|
||||
"""Reads lines where hole & board cards are mixed to form a hand (summary lines)"""
|
||||
|
|
|
@ -66,7 +66,7 @@ class Carbon(HandHistoryConverter):
|
|||
# Static regexes
|
||||
re_SplitHands = re.compile(r'</game>\n+(?=<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_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)
|
||||
|
|
|
@ -238,7 +238,7 @@ class SummaryImporter:
|
|||
self.filelist = {}
|
||||
|
||||
def readFile(self, tsc, filename):
|
||||
codepage = ["utf8"]
|
||||
codepage = ["utf8", "utf16"]
|
||||
whole_file = None
|
||||
tsc.codepage
|
||||
|
||||
|
@ -248,7 +248,8 @@ class SummaryImporter:
|
|||
whole_file = in_fh.read()
|
||||
in_fh.close()
|
||||
break
|
||||
except:
|
||||
except UnicodeDecodeError, e:
|
||||
log.warn(_("GTI.readFile: '%s'") % e)
|
||||
pass
|
||||
|
||||
return whole_file
|
||||
|
|
|
@ -567,7 +567,7 @@ Left-Drag to Move"
|
|||
|
||||
<hhcs>
|
||||
<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="Win2day" converter="Win2dayToFpdb"/>
|
||||
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
||||
|
|
|
@ -778,7 +778,7 @@ Left-Drag to Move"
|
|||
|
||||
<hhcs>
|
||||
<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="Win2day" converter="Win2dayToFpdb"/>
|
||||
<hhc site="Absolute" converter="AbsoluteToFpdb"/>
|
||||
|
|
|
@ -99,7 +99,9 @@ class PokerStars(HandHistoryConverter):
|
|||
(?P<BB>[.0-9]+)
|
||||
(?P<BLAH>\s-\s[%(LS)s\d\.]+\sCap\s-\s)? # Optional Cap part
|
||||
\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>.*$)
|
||||
""" % 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)
|
||||
|
||||
PokerStarsErrors = FpdbError('PokerStars')
|
||||
#FTPErrors = FpdbError('Full Tilt Poker')
|
||||
FTPErrors = FpdbError('Full Tilt Poker')
|
||||
#PartyPokerErrors = FpdbError('Party Poker')
|
||||
#BetfairErrors = FpdbError('Betfair')
|
||||
#OnGameErrors = FpdbError('OnGame')
|
||||
|
@ -142,7 +142,7 @@ def main(argv=None):
|
|||
|
||||
ErrorsList = [
|
||||
PokerStarsErrors,
|
||||
#FTPErrors, PartyPokerErrors,
|
||||
FTPErrors, #PartyPokerErrors,
|
||||
#BetfairErrors, OnGameErrors, AbsoluteErrors,
|
||||
#EverleafErrors, CarbonErrors, PKRErrors,
|
||||
#iPokerErrors, WinamaxErrors, UltimateBetErrors,
|
||||
|
@ -150,7 +150,7 @@ def main(argv=None):
|
|||
|
||||
sites = {
|
||||
'PokerStars' : True,
|
||||
#'Full Tilt Poker' : True,
|
||||
'Full Tilt Poker' : True,
|
||||
#'PartyPoker' : True,
|
||||
#'Betfair' : True,
|
||||
#'OnGame' : True,
|
||||
|
@ -165,8 +165,8 @@ def main(argv=None):
|
|||
|
||||
if sites['PokerStars'] == True:
|
||||
walk_testfiles("regression-test-files/summaries/Stars/", compare, importer, PokerStarsErrors, "PokerStars")
|
||||
#if sites['Full Tilt Poker'] == True:
|
||||
# walk_testfiles("regression-test-files/cash/FTP/", compare, importer, FTPErrors, "Full Tilt Poker")
|
||||
if sites['Full Tilt Poker'] == True:
|
||||
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")
|
||||
#if sites['PartyPoker'] == True:
|
||||
# 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 ??
|
||||
SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''}
|
||||
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"):
|
||||
|
|
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