Merge branch 'master' of git://git.assembla.com/fpdboz.git

This commit is contained in:
Eric Blade 2011-04-05 07:48:13 -04:00
commit cd36893120
87 changed files with 12362 additions and 624 deletions

View File

@ -101,36 +101,6 @@ def twoStartCardString(card):
#print "twoStartCardString(", card ,") = " + ret
return ret
def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4):
""" Function to convert 4 value,suit pairs into a Omaha style starting hand,
haven't decided how to encode this yet """
# This doesn't actually do anything yet - CG
# What combinations do we need to store? just cards: AA23? some suits as well e.g. when
# double suited ATcKTd? Lots more possible combos than holdem :-( 270K vs 1326? not sure
# Probably need to use this field as a key into some other table - sc
#AAKKds
#AAKKs
#AAKKr
# Is probably what we are looking for
# mct:
# my maths says there are 4 classes of suitedness
# SSSS SSSx SSxy SSHH
# encode them as follows:
# SSSS (K, J, 6, 3)
# - 13C4 = 715 possibilities
# SSSx (K, J, 6),(3)
# - 13C3 * 13 = 3718 possibilities
# SSxy (K, J),(6),(3)
# - 13C2 * 13*13 = 13182 possibilities
# SSHH (K, J),(6, 3)
# - 13C2 * 13C2 = 6084 possibilities
# Needless to say they won't fit on a 13x13 grid.
# The actual number of hands in each class is far greater
return(0)
def cardFromValueSuit(value, suit):
""" 0=none, 1-13=2-Ah 14-26=2-Ad 27-39=2-Ac 40-52=2-As """
if suit == 'h': return(value-1)

View File

@ -123,7 +123,7 @@ def get_config(file_name, fallback = True):
# OK, fall back to the .example file, should be in the start dir
elif os.path.exists(file_name + ".example"):
try:
print ""
#print ""
example_path = file_name + ".example"
check_dir(default_dir)
if not config_found and fallback:
@ -173,7 +173,7 @@ def get_logger(file_name, config = "config", fallback = False, log_dir=None, log
log = logging.getLogger()
# but it looks like default is no output :-( maybe because all the calls name a module?
log.debug(_("Default logger initialised for %s") % file)
print(_("Default logger initialised for %s") % file)
#print(_("Default logger initialised for %s") % file)
return log
def check_dir(path, create = True):
@ -314,7 +314,7 @@ class Site:
self.layout = {}
self.emails = {}
print _("Loading site"), self.site_name
#print _("Loading site"), self.site_name
for layout_node in node.getElementsByTagName('layout'):
lo = Layout(layout_node)
@ -488,16 +488,16 @@ class Popup:
class Import:
def __init__(self, node):
self.node = node
self.interval = node.getAttribute("interval")
self.callFpdbHud = node.getAttribute("callFpdbHud")
self.ResultsDirectory = node.getAttribute("ResultsDirectory")
self.hhBulkPath = node.getAttribute("hhBulkPath")
self.saveActions = string_to_bool(node.getAttribute("saveActions"), default=False)
self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions"), default=False)
self.sessionTimeout = string_to_bool(node.getAttribute("sessionTimeout"), default=30)
self.fastStoreHudCache = string_to_bool(node.getAttribute("fastStoreHudCache"), default=False)
self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH"), default=False)
self.node = node
self.interval = node.getAttribute("interval")
self.sessionTimeout = node.getAttribute("sessionTimeout")
self.ResultsDirectory = node.getAttribute("ResultsDirectory")
self.hhBulkPath = node.getAttribute("hhBulkPath")
self.saveActions = string_to_bool(node.getAttribute("saveActions") , default=False)
self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions") , default=False)
self.callFpdbHud = string_to_bool(node.getAttribute("callFpdbHud") , default=False)
self.fastStoreHudCache = string_to_bool(node.getAttribute("fastStoreHudCache"), default=False)
self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH") , default=False)
def __str__(self):
return " interval = %s\n callFpdbHud = %s\n saveActions = %s\n fastStoreHudCache = %s\nResultsDirectory = %s" \
@ -631,7 +631,7 @@ class RawHands:
if node==None:
self.save="error"
self.compression="none"
print _("missing config section raw_hands")
#print _("missing config section raw_hands")
else:
save=node.getAttribute("save")
if save in ("none", "error", "all"):
@ -657,7 +657,7 @@ class RawTourneys:
if node==None:
self.save="error"
self.compression="none"
print _("missing config section raw_tourneys")
#print _("missing config section raw_tourneys")
else:
save=node.getAttribute("save")
if save in ("none", "error", "all"):
@ -720,7 +720,7 @@ class Config:
while added > 0 and n < 2:
n = n + 1
log.info(_("Reading configuration file %s") % file)
print (("\n"+_("Reading configuration file %s")+"\n") % file)
#print (("\n"+_("Reading configuration file %s")+"\n") % file)
try:
doc = xml.dom.minidom.parse(file)
self.doc = doc
@ -829,7 +829,7 @@ class Config:
for raw_tourneys_node in doc.getElementsByTagName('raw_tourneys'):
self.raw_tourneys = RawTourneys(raw_tourneys_node)
print ""
#print ""
#end def __init__
def add_missing_elements(self, doc, example_file):

View File

@ -73,7 +73,7 @@ except ImportError:
use_numpy = False
DB_VERSION = 150
DB_VERSION = 152
# Variance created as sqlite has a bunch of undefined aggregate functions.
@ -134,6 +134,9 @@ class Database:
, {'tab':'HudCache', 'col':'gametypeId', 'drop':1}
, {'tab':'HudCache', 'col':'playerId', 'drop':0}
, {'tab':'HudCache', 'col':'tourneyTypeId', 'drop':0}
, {'tab':'SessionsCache', 'col':'gametypeId', 'drop':1}
, {'tab':'SessionsCache', 'col':'playerId', 'drop':0}
, {'tab':'SessionsCache', 'col':'tourneyTypeId', 'drop':0}
, {'tab':'Players', 'col':'siteId', 'drop':1}
#, {'tab':'Players', 'col':'name', 'drop':0} unique indexes not dropped
, {'tab':'Tourneys', 'col':'tourneyTypeId', 'drop':1}
@ -157,6 +160,9 @@ class Database:
, {'tab':'HudCache', 'col':'gametypeId', 'drop':1}
, {'tab':'HudCache', 'col':'playerId', 'drop':0}
, {'tab':'HudCache', 'col':'tourneyTypeId', 'drop':0}
, {'tab':'SessionsCache', 'col':'gametypeId', 'drop':1}
, {'tab':'SessionsCache', 'col':'playerId', 'drop':0}
, {'tab':'SessionsCache', 'col':'tourneyTypeId', 'drop':0}
, {'tab':'Players', 'col':'siteId', 'drop':1}
, {'tab':'Tourneys', 'col':'tourneyTypeId', 'drop':1}
, {'tab':'TourneysPlayers', 'col':'playerId', 'drop':0}
@ -182,6 +188,9 @@ class Database:
, {'fktab':'HudCache', 'fkcol':'gametypeId', 'rtab':'Gametypes', 'rcol':'id', 'drop':1}
, {'fktab':'HudCache', 'fkcol':'playerId', 'rtab':'Players', 'rcol':'id', 'drop':0}
, {'fktab':'HudCache', 'fkcol':'tourneyTypeId', 'rtab':'TourneyTypes', 'rcol':'id', 'drop':1}
, {'fktab':'SessionsCache','fkcol':'gametypeId', 'rtab':'Gametypes', 'rcol':'id', 'drop':1}
, {'fktab':'SessionsCache','fkcol':'playerId', 'rtab':'Players', 'rcol':'id', 'drop':0}
, {'fktab':'SessionsCache','fkcol':'tourneyTypeId', 'rtab':'TourneyTypes', 'rcol':'id', 'drop':1}
]
, [ # foreign keys for postgres (index 3)
{'fktab':'Hands', 'fkcol':'gametypeId', 'rtab':'Gametypes', 'rcol':'id', 'drop':1}
@ -193,6 +202,9 @@ class Database:
, {'fktab':'HudCache', 'fkcol':'gametypeId', 'rtab':'Gametypes', 'rcol':'id', 'drop':1}
, {'fktab':'HudCache', 'fkcol':'playerId', 'rtab':'Players', 'rcol':'id', 'drop':0}
, {'fktab':'HudCache', 'fkcol':'tourneyTypeId', 'rtab':'TourneyTypes', 'rcol':'id', 'drop':1}
, {'fktab':'SessionsCache','fkcol':'gametypeId', 'rtab':'Gametypes', 'rcol':'id', 'drop':1}
, {'fktab':'SessionsCache','fkcol':'playerId', 'rtab':'Players', 'rcol':'id', 'drop':0}
, {'fktab':'SessionsCache','fkcol':'tourneyTypeId', 'rtab':'TourneyTypes', 'rcol':'id', 'drop':1}
]
, [ # no foreign keys in sqlite (index 4)
]
@ -261,6 +273,7 @@ class Database:
self.db_path = ''
gen = c.get_general_params()
self.day_start = 0
self._has_lock = False
if 'day_start' in gen:
self.day_start = float(gen['day_start'])
@ -386,7 +399,12 @@ class Database:
if use_pool:
MySQLdb = pool.manage(MySQLdb, pool_size=5)
try:
self.connection = MySQLdb.connect(host=host, user=user, passwd=password, db=database, use_unicode=True)
self.connection = MySQLdb.connect(host=host
,user=user
,passwd=password
,db=database
,charset='utf8'
,use_unicode=True)
self.__connected = True
#TODO: Add port option
except MySQLdb.Error, ex:
@ -1252,6 +1270,12 @@ class Database:
c.execute(self.sql.query['createBackingsTable'])
c.execute(self.sql.query['createRawHands'])
c.execute(self.sql.query['createRawTourneys'])
# Create sessionscache indexes
log.debug("Creating SessionsCache indexes")
c.execute(self.sql.query['addSessionIdIndex'])
c.execute(self.sql.query['addHandsSessionIdIndex'])
c.execute(self.sql.query['addHandsGameSessionIdIndex'])
# Create unique indexes:
log.debug("Creating unique indexes")
@ -1618,10 +1642,86 @@ class Database:
print err
#end def rebuild_hudcache
def rebuild_sessionscache(self, h_start=None, v_start=None):
"""clears sessionscache and rebuilds from the individual handsplayers records"""
#Will get to this soon
pass
def rebuild_sessionscache(self):
"""clears sessionscache and rebuilds from the individual records"""
heros = []
for site in self.config.get_supported_sites():
result = self.get_site_id(site)
if result:
site_id = result[0][0]
hero = self.config.supported_sites[site].screen_name
p_id = self.get_player_id(self.config, site, hero)
if p_id:
heros.append(int(p_id))
rebuildSessionsCache = self.sql.query['rebuildSessionsCache']
rebuildSessionsCacheSum = self.sql.query['rebuildSessionsCacheSum']
if len(heros) == 0:
where = '0'
where_summary = '0'
elif len(heros) > 0:
where = str(heros[0])
where_summary = str(heros[0])
if len(heros) > 1:
for i in heros:
if i != heros[0]:
where = where + ' OR HandsPlayers.playerId = %s' % str(i)
where_summary = where_summary + ' OR TourneysPlayers.playerId = %s' % str(i)
rebuildSessionsCache = rebuildSessionsCache.replace('<where_clause>', where)
rebuildSessionsCacheSum = rebuildSessionsCacheSum.replace('<where_clause>', where_summary)
c = self.get_cursor()
c.execute(self.sql.query['clearSessionsCache'])
self.commit()
sc, gsc = {'bk': []}, {'bk': []}
c.execute(rebuildSessionsCache)
tmp = c.fetchone()
while True:
pids, game, pdata = {}, {}, {}
pdata['pname'] = {}
id = tmp[0]
startTime = tmp[1]
pids['pname'] = tmp[2]
gid = tmp[3]
game['type'] = tmp[4]
pdata['pname']['totalProfit'] = tmp[5]
pdata['pname']['tourneyTypeId'] = tmp[6]
tmp = c.fetchone()
sc = self.prepSessionsCache (id, pids, startTime, sc , heros, tmp == None)
gsc = self.storeSessionsCache(id, pids, startTime, game, gid, pdata, sc, gsc, None, heros, tmp == None)
if tmp == None:
for i, id in sc.iteritems():
if i!='bk':
sid = id['id']
gid = gsc[i]['id']
c.execute("UPDATE Hands SET sessionId = %s, gameSessionId = %s WHERE id = %s", (sid, gid, i))
break
self.commit()
sc, gsc = {'bk': []}, {'bk': []}
c.execute(rebuildSessionsCacheSum)
tmp = c.fetchone()
while True:
pids, game, info = {}, {}, {}
id = tmp[0]
startTime = tmp[1]
pids['pname'] = tmp[2]
game['type'] = 'summary'
info['tourneyTypeId'] = tmp[3]
info['winnings'] = {}
info['winnings']['pname'] = tmp[4]
info['winningsCurrency'] = {}
info['winningsCurrency']['pname'] = tmp[5]
info['buyinCurrency'] = tmp[6]
info['buyin'] = tmp[7]
info['fee'] = tmp[8]
tmp = c.fetchone()
sc = self.prepSessionsCache (id, pids, startTime, sc , heros, tmp == None)
gsc = self.storeSessionsCache(id, pids, startTime, game, None, info, sc, gsc, None, heros, tmp == None)
if tmp == None:
break
def get_hero_hudcache_start(self):
"""fetches earliest stylekey from hudcache for one of hero's player ids"""
@ -1701,6 +1801,34 @@ class Database:
# however the calling prog requires. Main aims:
# - existing static routines from fpdb_simple just modified
def setThreadId(self, threadid):
self.threadId = threadid
def acquireLock(self, wait=True, retry_time=.01):
while not self._has_lock:
cursor = self.get_cursor()
cursor.execute(self.sql.query['selectLock'])
record = cursor.fetchall()
self.commit()
if not len(record):
cursor.execute(self.sql.query['switchLock'], (True, self.threadId))
self.commit()
self._has_lock = True
return True
else:
cursor.execute(self.sql.query['missedLock'], (1, self.threadId))
self.commit()
if not wait:
return False
sleep(retry_time)
def releaseLock(self):
if self._has_lock:
cursor = self.get_cursor()
num = cursor.execute(self.sql.query['switchLock'], (False, self.threadId))
self.commit()
self._has_lock = False
def lock_for_insert(self):
"""Lock tables in MySQL to try to speed inserts up"""
try:
@ -1713,70 +1841,74 @@ class Database:
# NEWIMPORT CODE
###########################
def storeHand(self, p, printdata = False):
def storeHand(self, hdata, hbulk, doinsert = False, printdata = False):
if printdata:
print _("######## Hands ##########")
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(p)
pp.pprint(hdata)
print _("###### End Hands ########")
# Tablename can have odd charachers
p['tableName'] = Charset.to_db_utf8(p['tableName'])
hdata['tableName'] = Charset.to_db_utf8(hdata['tableName'])
hbulk.append( [ hdata['tableName'],
hdata['siteHandNo'],
hdata['tourneyId'],
hdata['gametypeId'],
hdata['sessionId'],
hdata['gameSessionId'],
hdata['startTime'],
datetime.utcnow(), #importtime
hdata['seats'],
hdata['maxSeats'],
hdata['texture'],
hdata['playersVpi'],
hdata['boardcard1'],
hdata['boardcard2'],
hdata['boardcard3'],
hdata['boardcard4'],
hdata['boardcard5'],
hdata['playersAtStreet1'],
hdata['playersAtStreet2'],
hdata['playersAtStreet3'],
hdata['playersAtStreet4'],
hdata['playersAtShowdown'],
hdata['street0Raises'],
hdata['street1Raises'],
hdata['street2Raises'],
hdata['street3Raises'],
hdata['street4Raises'],
hdata['street1Pot'],
hdata['street2Pot'],
hdata['street3Pot'],
hdata['street4Pot'],
hdata['showdownPot'],
hdata['id']
])
#stores into table hands:
q = self.sql.query['store_hand']
if doinsert:
for h in hbulk:
id = h.pop()
if hdata['sc'] and hdata['gsc']:
h[4] = hdata['sc'][id]['id']
h[5] = hdata['gsc'][id]['id']
q = self.sql.query['store_hand']
q = q.replace('%s', self.sql.query['placeholder'])
c = self.get_cursor()
c.executemany(q, hbulk)
self.commit()
return hbulk
q = q.replace('%s', self.sql.query['placeholder'])
c = self.get_cursor()
c.execute(q, (
p['tableName'],
p['siteHandNo'],
p['tourneyId'],
p['gametypeId'],
p['sessionId'],
p['startTime'],
datetime.utcnow(), #importtime
p['seats'],
p['maxSeats'],
p['texture'],
p['playersVpi'],
p['boardcard1'],
p['boardcard2'],
p['boardcard3'],
p['boardcard4'],
p['boardcard5'],
p['playersAtStreet1'],
p['playersAtStreet2'],
p['playersAtStreet3'],
p['playersAtStreet4'],
p['playersAtShowdown'],
p['street0Raises'],
p['street1Raises'],
p['street2Raises'],
p['street3Raises'],
p['street4Raises'],
p['street1Pot'],
p['street2Pot'],
p['street3Pot'],
p['street4Pot'],
p['showdownPot']
))
return self.get_last_insert_id(c)
# def storeHand
def storeHandsPlayers(self, hid, pids, pdata, hp_bulk = None, insert = False, printdata = False):
def storeHandsPlayers(self, hid, pids, pdata, hpbulk, doinsert = False, printdata = False):
#print "DEBUG: %s %s %s" %(hid, pids, pdata)
if printdata:
import pprint
pp = pprint.PrettyPrinter(indent=4)
pp.pprint(pdata)
inserts = []
for p in pdata:
inserts.append( (hid,
hpbulk.append( ( hid,
pids[p],
pdata[p]['startCash'],
pdata[p]['seatNo'],
@ -1788,6 +1920,19 @@ class Database:
pdata[p]['card5'],
pdata[p]['card6'],
pdata[p]['card7'],
pdata[p]['card8'],
pdata[p]['card9'],
pdata[p]['card10'],
pdata[p]['card11'],
pdata[p]['card12'],
pdata[p]['card13'],
pdata[p]['card14'],
pdata[p]['card15'],
pdata[p]['card16'],
pdata[p]['card17'],
pdata[p]['card18'],
pdata[p]['card19'],
pdata[p]['card20'],
pdata[p]['winnings'],
pdata[p]['rake'],
pdata[p]['totalProfit'],
@ -1882,16 +2027,14 @@ class Database:
pdata[p]['street4Raises']
) )
if insert:
hp_bulk += inserts
if doinsert:
q = self.sql.query['store_hands_players']
q = q.replace('%s', self.sql.query['placeholder'])
c = self.get_cursor()
c.executemany(q, hp_bulk)
return inserts
c.executemany(q, hpbulk)
return hpbulk
def storeHandsActions(self, hid, pids, adata, ha_bulk = None, insert = False, printdata = False):
def storeHandsActions(self, hid, pids, adata, habulk, doinsert = False, printdata = False):
#print "DEBUG: %s %s %s" %(hid, pids, adata)
# This can be used to generate test data. Currently unused
@ -1899,10 +2042,9 @@ class Database:
# import pprint
# pp = pprint.PrettyPrinter(indent=4)
# pp.pprint(adata)
inserts = []
for a in adata:
inserts.append( (hid,
habulk.append( (hid,
pids[adata[a]['player']],
adata[a]['street'],
adata[a]['actionNo'],
@ -1915,17 +2057,15 @@ class Database:
adata[a]['cardsDiscarded'],
adata[a]['allIn']
) )
if insert:
ha_bulk += inserts
if doinsert:
q = self.sql.query['store_hands_actions']
q = q.replace('%s', self.sql.query['placeholder'])
c = self.get_cursor()
c.executemany(q, ha_bulk)
c.executemany(q, habulk)
return habulk
return inserts
def storeHudCache(self, gid, pids, starttime, pdata):
def storeHudCache(self, gid, pids, starttime, pdata, hcbulk, doinsert = False):
"""Update cached statistics. If update fails because no record exists, do an insert."""
tz = datetime.utcnow() - datetime.today()
@ -1948,11 +2088,9 @@ class Database:
insert_hudcache = insert_hudcache.replace('%s', self.sql.query['placeholder'])
#print "DEBUG: %s %s %s" %(hid, pids, pdata)
inserts = []
for p in pdata:
#NOTE: Insert new stats at right place because SQL needs strict order
line = []
line.append(1) # HDs
line.append(pdata[p]['street0VPI'])
line.append(pdata[p]['street0Aggr'])
@ -2041,170 +2179,367 @@ class Database:
line.append(pdata[p]['street2Raises'])
line.append(pdata[p]['street3Raises'])
line.append(pdata[p]['street4Raises'])
line.append(gid) # gametypeId
line.append(pids[p]) # playerId
line.append(len(pids)) # activeSeats
pos = {'B':'B', 'S':'S', 0:'D', 1:'C', 2:'M', 3:'M', 4:'M', 5:'E', 6:'E', 7:'E', 8:'E', 9:'E' }
line.append(pos[pdata[p]['position']])
line.append(pdata[p]['tourneyTypeId'])
line.append(styleKey) # styleKey
inserts.append(line)
cursor = self.get_cursor()
for row in inserts:
#convert all True/False values to numeric 0/1
# needed because columns in hudcache are not BOOL they are INT
# and are being summed if an existing hudcache entry exists
# psycopg2 module does not automatically convert these to numeric.
# mantis bug #93
for ind in range(len(row)):
if row[ind] == True: row[ind] = 1
if row[ind] == False: row[ind] = 0
# Try to do the update first:
num = cursor.execute(update_hudcache, row)
#print "DEBUG: values: %s" % row[-6:]
# Test statusmessage to see if update worked, do insert if not
# num is a cursor in sqlite
if ((self.backend == self.PGSQL and cursor.statusmessage != "UPDATE 1")
or (self.backend == self.MYSQL_INNODB and num == 0)
or (self.backend == self.SQLITE and num.rowcount == 0)):
#move the last 6 items in WHERE clause of row from the end of the array
# to the beginning for the INSERT statement
#print "DEBUG: using INSERT: %s" % num
row = row[-6:] + row[:-6]
num = cursor.execute(insert_hudcache, row)
#print "DEBUG: Successfully(?: %s) updated HudCacho using INSERT" % num
else:
#print "DEBUG: Successfully updated HudCacho using UPDATE"
pass
def storeSessionsCache(self, pids, startTime, game, pdata):
"""Update cached sessions. If no record exists, do an insert"""
hc, hcs = {}, []
hc['gametypeId'] = gid
hc['playerId'] = pids[p]
hc['activeSeats'] = len(pids)
pos = {'B':'B', 'S':'S', 0:'D', 1:'C', 2:'M', 3:'M', 4:'M', 5:'E', 6:'E', 7:'E', 8:'E', 9:'E' }
hc['position'] = pos[pdata[p]['position']]
hc['tourneyTypeId'] = pdata[p]['tourneyTypeId']
hc['styleKey'] = styleKey
hc['line'] = line
hc['game'] = [hc['gametypeId']
,hc['playerId']
,hc['activeSeats']
,hc['position']
,hc['tourneyTypeId']
,hc['styleKey']]
hcs.append(hc)
for h in hcs:
match = False
for b in hcbulk:
if h['game']==b['game']:
b['line'] = [sum(l) for l in zip(b['line'], h['line'])]
match = True
if not match: hcbulk.append(h)
if doinsert:
inserts = []
exists = []
updates = []
for hc in hcbulk:
row = hc['line'] + hc['game']
if hc['game'] in exists:
updates.append(row)
continue
c = self.get_cursor()
num = c.execute(update_hudcache, row)
# Try to do the update first. Do insert it did not work
if ((self.backend == self.PGSQL and c.statusmessage != "UPDATE 1")
or (self.backend == self.MYSQL_INNODB and num == 0)
or (self.backend == self.SQLITE and num.rowcount == 0)):
inserts.append(hc['game'] + hc['line'])
#row = hc['game'] + hc['line']
#num = c.execute(insert_hudcache, row)
#print "DEBUG: Successfully(?: %s) updated HudCacho using INSERT" % num
else:
exists.append(hc['game'])
#print "DEBUG: Successfully updated HudCacho using UPDATE"
if inserts: c.executemany(insert_hudcache, inserts)
if updates: c.executemany(update_hudcache, updates)
return hcbulk
def prepSessionsCache(self, hid, pids, startTime, sc, heros, doinsert = False):
"""Update cached sessions. If no record exists, do an insert"""
THRESHOLD = timedelta(seconds=int(self.sessionTimeout * 60))
select_sessionscache = self.sql.query['select_sessionscache']
select_sessionscache = select_sessionscache.replace('%s', self.sql.query['placeholder'])
select_sessionscache_mid = self.sql.query['select_sessionscache_mid']
select_sessionscache_mid = select_sessionscache_mid.replace('%s', self.sql.query['placeholder'])
select_sessionscache_start = self.sql.query['select_sessionscache_start']
select_sessionscache_start = select_sessionscache_start.replace('%s', self.sql.query['placeholder'])
select_prepSC = self.sql.query['select_prepSC'].replace('%s', self.sql.query['placeholder'])
update_Hands_sid = self.sql.query['update_Hands_sid'].replace('%s', self.sql.query['placeholder'])
update_SC_sid = self.sql.query['update_SC_sid'].replace('%s', self.sql.query['placeholder'])
update_prepSC = self.sql.query['update_prepSC'].replace('%s', self.sql.query['placeholder'])
#print "DEBUG: %s %s %s" %(hid, pids, pdata)
hand = {}
for p, id in pids.iteritems():
if id in heros:
hand['startTime'] = startTime.replace(tzinfo=None)
hand['ids'] = []
if hand:
id = []
lower = hand['startTime']-THRESHOLD
upper = hand['startTime']+THRESHOLD
for i in range(len(sc['bk'])):
if ((lower <= sc['bk'][i]['sessionEnd'])
and (upper >= sc['bk'][i]['sessionStart'])):
if ((hand['startTime'] <= sc['bk'][i]['sessionEnd'])
and (hand['startTime'] >= sc['bk'][i]['sessionStart'])):
id.append(i)
elif hand['startTime'] < sc['bk'][i]['sessionStart']:
sc['bk'][i]['sessionStart'] = hand['startTime']
id.append(i)
elif hand['startTime'] > sc['bk'][i]['sessionEnd']:
sc['bk'][i]['sessionEnd'] = hand['startTime']
id.append(i)
if len(id) == 1:
id = id[0]
sc['bk'][id]['ids'].append(hid)
elif len(id) == 2:
if sc['bk'][id[0]]['startTime'] < sc['bk'][id[1]]['startTime']:
sc['bk'][id[0]]['endTime'] = sc['bk'][id[1]]['endTime']
else:
sc['bk'][id[0]]['startTime'] = sc['bk'][id[1]]['startTime']
sc['bk'].pop[id[1]]
id = id[0]
sc['bk'][id]['ids'].append(hid)
elif len(id) == 0:
hand['id'] = None
hand['sessionStart'] = hand['startTime']
hand['sessionEnd'] = hand['startTime']
id = len(sc['bk'])
hand['ids'].append(hid)
sc['bk'].append(hand)
if doinsert:
c = self.get_cursor()
c.execute("SELECT max(sessionId) FROM SessionsCache")
id = c.fetchone()[0]
if id: sid = id
else: sid = 0
for i in range(len(sc['bk'])):
lower = sc['bk'][i]['sessionStart'] - THRESHOLD
upper = sc['bk'][i]['sessionEnd'] + THRESHOLD
c.execute(select_prepSC, (lower, upper))
r = self.fetchallDict(c)
num = len(r)
if (num == 1):
start, end, update = r[0]['sessionStart'], r[0]['sessionEnd'], False
if sc['bk'][i]['sessionStart'] < start:
start, update = sc['bk'][i]['sessionStart'], True
if sc['bk'][i]['sessionEnd'] > end:
end, update = sc['bk'][i]['sessionEnd'], True
if update:
c.execute(update_prepSC, [start, end, r[0]['id']])
for h in sc['bk'][i]['ids']:
sc[h] = {'id': r[0]['id'], 'data': [start, end]}
elif (num > 1):
start, end, merge, merge_h, merge_sc = None, None, [], [], []
sid += 1
r.append(sc['bk'][i])
for n in r:
if start:
if start > n['sessionStart']:
start = n['sessionStart']
else: start = n['sessionStart']
if end:
if end < n['sessionEnd']:
end = n['sessionEnd']
else: end = n['sessionEnd']
for n in r:
if n['id']:
if n['id'] in merge: continue
merge.append(n['id'])
merge_h.append([sid, n['id']])
merge_sc.append([start, end, sid, n['id']])
c.executemany(update_Hands_sid, merge_h)
c.executemany(update_SC_sid, merge_sc)
for k, v in sc.iteritems():
if k!='bk' and v['id'] in merge:
sc[k]['id'] = sid
for h in sc['bk'][i]['ids']:
sc[h] = {'id': sid, 'data': [start, end]}
elif (num == 0):
sid += 1
start = sc['bk'][i]['sessionStart']
end = sc['bk'][i]['sessionEnd']
for h in sc['bk'][i]['ids']:
sc[h] = {'id': sid, 'data': [start, end]}
return sc
update_sessionscache_mid = self.sql.query['update_sessionscache_mid']
update_sessionscache_mid = update_sessionscache_mid.replace('%s', self.sql.query['placeholder'])
update_sessionscache_start = self.sql.query['update_sessionscache_start']
update_sessionscache_start = update_sessionscache_start.replace('%s', self.sql.query['placeholder'])
update_sessionscache_end = self.sql.query['update_sessionscache_end']
update_sessionscache_end = update_sessionscache_end.replace('%s', self.sql.query['placeholder'])
def storeSessionsCache(self, hid, pids, startTime, game, gid, pdata, sc, gsc, tz, heros, doinsert = False):
"""Update cached sessions. If no record exists, do an insert"""
if not tz:
tz_dt = datetime.utcnow() - datetime.today()
tz = tz_dt.seconds/3600
THRESHOLD = timedelta(seconds=int(self.sessionTimeout * 60))
local = startTime + timedelta(hours=int(tz))
date = "d%02d%02d%02d" % (local.year - 2000, local.month, local.day)
insert_sessionscache = self.sql.query['insert_sessionscache']
insert_sessionscache = insert_sessionscache.replace('%s', self.sql.query['placeholder'])
merge_sessionscache = self.sql.query['merge_sessionscache']
merge_sessionscache = merge_sessionscache.replace('%s', self.sql.query['placeholder'])
delete_sessions = self.sql.query['delete_sessions']
delete_sessions = delete_sessions.replace('%s', self.sql.query['placeholder'])
select_SC = self.sql.query['select_SC'].replace('%s', self.sql.query['placeholder'])
update_SC = self.sql.query['update_SC'].replace('%s', self.sql.query['placeholder'])
insert_SC = self.sql.query['insert_SC'].replace('%s', self.sql.query['placeholder'])
delete_SC = self.sql.query['delete_SC'].replace('%s', self.sql.query['placeholder'])
update_Hands_gsid = self.sql.query['update_Hands_gsid'].replace('%s', self.sql.query['placeholder'])
#print "DEBUG: %s %s %s" %(hid, pids, pdata)
hand = {}
for p, id in pids.iteritems():
if id in heros:
hand['hands'] = 0
hand['totalProfit'] = 0
hand['playerId'] = id
hand['gametypeId'] = None
hand['date'] = date
hand['startTime'] = startTime.replace(tzinfo=None)
hand['hid'] = hid
hand['tourneys'] = 0
hand['tourneyTypeId'] = None
hand['ids'] = []
if (game['type']=='summary'):
hand['type'] = 'tour'
hand['tourneys'] = 1
hand['tourneyTypeId'] = pdata['tourneyTypeId']
if pdata['buyinCurrency'] == pdata['winningsCurrency'][p]:
hand['totalProfit'] = pdata['winnings'][p] - (pdata['buyin'] + pdata['fee'])
else: hand['totalProfit'] = pdata['winnings'][p]
elif (game['type']=='ring'):
hand['type'] = game['type']
hand['hands'] = 1
hand['gametypeId'] = gid
hand['totalProfit'] = pdata[p]['totalProfit']
elif (game['type']=='tour'):
hand['type'] = game['type']
hand['hands'] = 1
hand['tourneyTypeId'] = pdata[p]['tourneyTypeId']
update_hands_sessionid = self.sql.query['update_hands_sessionid']
update_hands_sessionid = update_hands_sessionid.replace('%s', self.sql.query['placeholder'])
if hand:
id = []
lower = hand['startTime']-THRESHOLD
upper = hand['startTime']+THRESHOLD
for i in range(len(gsc['bk'])):
if ((hand['date'] == gsc['bk'][i]['date'])
and (hand['gametypeId'] == gsc['bk'][i]['gametypeId'])
and (hand['playerId'] == gsc['bk'][i]['playerId'])
and (hand['tourneyTypeId'] == gsc['bk'][i]['tourneyTypeId'])):
if ((lower <= gsc['bk'][i]['gameEnd'])
and (upper >= gsc['bk'][i]['gameStart'])):
if ((hand['startTime'] <= gsc['bk'][i]['gameEnd'])
and (hand['startTime'] >= gsc['bk'][i]['gameStart'])):
gsc['bk'][i]['hands'] += hand['hands']
gsc['bk'][i]['tourneys'] += hand['tourneys']
gsc['bk'][i]['totalProfit'] += hand['totalProfit']
elif hand['startTime'] < gsc['bk'][i]['gameStart']:
gsc['bk'][i]['hands'] += hand['hands']
gsc['bk'][i]['tourneys'] += hand['tourneys']
gsc['bk'][i]['totalProfit'] += hand['totalProfit']
gsc['bk'][i]['gameStart'] = hand['startTime']
elif hand['startTime'] > gsc['bk'][i]['gameEnd']:
gsc['bk'][i]['hands'] += hand['hands']
gsc['bk'][i]['tourneys'] += hand['tourneys']
gsc['bk'][i]['totalProfit'] += hand['totalProfit']
gsc['bk'][i]['gameEnd'] = hand['startTime']
id.append(i)
if len(id) == 1:
gsc['bk'][id[0]]['ids'].append(hid)
elif len(id) == 2:
if gsc['bk'][id[0]]['gameStart'] < gsc['bk'][id[1]]['gameStart']:
gsc['bk'][id[0]]['gameEnd'] = gsc['bk'][id[1]]['gameEnd']
else: gsc['bk'][id[0]]['gameStart'] = gsc['bk'][id[1]]['gameStart']
gsc['bk'][id[0]]['hands'] += hand['hands']
gsc['bk'][id[0]]['tourneys'] += hand['tourneys']
gsc['bk'][id[0]]['totalProfit'] += hand['totalProfit']
gsc['bk'].pop[id[1]]
gsc['bk'][id[0]]['ids'].append(hid)
elif len(id) == 0:
hand['gameStart'] = hand['startTime']
hand['gameEnd'] = hand['startTime']
id = len(gsc['bk'])
hand['ids'].append(hid)
gsc['bk'].append(hand)
if doinsert:
c = self.get_cursor()
for i in range(len(gsc['bk'])):
hid = gsc['bk'][i]['hid']
sid, start, end = sc[hid]['id'], sc[hid]['data'][0], sc[hid]['data'][1]
lower = gsc['bk'][i]['gameStart'] - THRESHOLD
upper = gsc['bk'][i]['gameEnd'] + THRESHOLD
game = [gsc['bk'][i]['date']
,gsc['bk'][i]['type']
,gsc['bk'][i]['gametypeId']
,gsc['bk'][i]['tourneyTypeId']
,gsc['bk'][i]['playerId']]
row = [lower, upper] + game
c.execute(select_SC, row)
r = self.fetchallDict(c)
num = len(r)
if (num == 1):
gstart, gend = r[0]['gameStart'], r[0]['gameEnd']
if gsc['bk'][i]['gameStart'] < gstart:
gstart = gsc['bk'][i]['gameStart']
if gsc['bk'][i]['gameEnd'] > gend:
gend = gsc['bk'][i]['gameEnd']
row = [start, end, gstart, gend
,gsc['bk'][i]['hands']
,gsc['bk'][i]['tourneys']
,gsc['bk'][i]['totalProfit']
,r[0]['id']]
c.execute(update_SC, row)
for h in gsc['bk'][i]['ids']: gsc[h] = {'id': r[0]['id']}
elif (num > 1):
gstart, gend, hands, tourneys, totalProfit, delete, merge = None, None, 0, 0, 0, [], []
for n in r: delete.append(n['id'])
delete.sort()
for d in delete: c.execute(delete_SC, d)
r.append(gsc['bk'][i])
for n in r:
if gstart:
if gstart > n['gameStart']:
gstart = n['gameStart']
else: gstart = n['gameStart']
if gend:
if gend < n['gameEnd']:
gend = n['gameEnd']
else: gend = n['gameEnd']
hands += n['hands']
tourneys += n['tourneys']
totalProfit += n['totalProfit']
row = [start, end, gstart, gend, sid] + game + [hands, tourneys, totalProfit]
c.execute(insert_SC, row)
gsid = self.get_last_insert_id(c)
for h in gsc['bk'][i]['ids']: gsc[h] = {'id': gsid}
for m in delete: merge.append([gsid, m])
c.executemany(update_Hands_gsid, merge)
elif (num == 0):
gstart = gsc['bk'][i]['gameStart']
gend = gsc['bk'][i]['gameEnd']
hands = gsc['bk'][i]['hands']
tourneys = gsc['bk'][i]['tourneys']
totalProfit = gsc['bk'][i]['totalProfit']
row = [start, end, gstart, gend, sid] + game + [hands, tourneys, totalProfit]
c.execute(insert_SC, row)
gsid = self.get_last_insert_id(c)
for h in gsc['bk'][i]['ids']: gsc[h] = {'id': gsid}
else:
# Something bad happened
pass
self.commit()
return gsc
def getHeroIds(self, pids, sitename):
#Grab playerIds using hero names in HUD_Config.xml
try:
# derive list of program owner's player ids
self.hero = {} # name of program owner indexed by site id
self.hero_ids = []
hero = {} # name of program owner indexed by site id
hero_ids = []
# make sure at least two values in list
# so that tuple generation creates doesn't use
# () or (1,) style
for site in self.config.get_supported_sites():
result = self.get_site_id(site)
if result:
site_id = result[0][0]
self.hero[site_id] = self.config.supported_sites[site].screen_name
p_id = self.get_player_id(self.config, site, self.hero[site_id])
if p_id:
self.hero_ids.append(int(p_id))
hero = self.config.supported_sites[site].screen_name
for n, v in pids.iteritems():
if n == hero and sitename == site:
hero_ids.append(v)
except:
err = traceback.extract_tb(sys.exc_info()[2])[-1]
print _("Error aquiring hero ids:"), str(sys.exc_value)
print err
inserts = []
for p in pdata:
if pids[p] in self.hero_ids:
line = [0]*5
#print _("Error aquiring hero ids:"), str(sys.exc_value)
return hero_ids
if (game['type']=='ring'): line[0] = 1 # count ring hands
if (game['type']=='tour'): line[1] = 1 # count tour hands
if (game['type']=='ring' and game['currency']=='USD'): line[2] = pdata[p]['totalProfit'] #sum of ring profit in USD
if (game['type']=='ring' and game['currency']=='EUR'): line[3] = pdata[p]['totalProfit'] #sum of ring profit in EUR
line[4] = startTime
inserts.append(line)
cursor = self.get_cursor()
id = None
for row in inserts:
threshold = []
threshold.append(row[-1]-THRESHOLD)
threshold.append(row[-1]+THRESHOLD)
cursor.execute(select_sessionscache, threshold)
session_records = cursor.fetchall()
num = len(session_records)
if (num == 1):
id = session_records[0][0] #grab the sessionId
# Try to do the update first:
#print "DEBUG: found 1 record to update"
update_mid = row + row[-1:]
cursor.execute(select_sessionscache_mid, update_mid[-2:])
mid = len(cursor.fetchall())
if (mid == 0):
update_startend = row[-1:] + row + threshold
cursor.execute(select_sessionscache_start, update_startend[-3:])
start = len(cursor.fetchall())
if (start == 0):
#print "DEBUG:", start, " start record found. Update stats and start time"
cursor.execute(update_sessionscache_end, update_startend)
else:
#print "DEBUG: 1 end record found. Update stats and end time time"
cursor.execute(update_sessionscache_start, update_startend)
else:
#print "DEBUG: update stats mid-session"
cursor.execute(update_sessionscache_mid, update_mid)
elif (num > 1):
session_ids = [session_records[0][0], session_records[1][0]]
session_ids.sort()
# Multiple matches found - merge them into one session and update:
# - Obtain the session start and end times for the new combined session
cursor.execute(merge_sessionscache, session_ids)
merge = cursor.fetchone()
# - Delete the old records
for id in session_ids:
cursor.execute(delete_sessions, id)
# - Insert the new updated record
cursor.execute(insert_sessionscache, merge)
# - Obtain the new sessionId and write over the old ids in Hands
id = self.get_last_insert_id(cursor) #grab the sessionId
update_hands = [id] + session_ids
cursor.execute(update_hands_sessionid, update_hands)
# - Update the newly combined record in SessionsCache with data from this hand
update_mid = row + row[-1:]
cursor.execute(update_sessionscache_mid, update_mid)
elif (num == 0):
# No matches found, insert new session:
insert = row + row[-1:]
insert = insert[-2:] + insert[:-2]
#print "DEBUG: No matches found. Insert record", insert
cursor.execute(insert_sessionscache, insert)
id = self.get_last_insert_id(cursor) #grab the sessionId
else:
# Something bad happened
pass
return id
def fetchallDict(self, cursor):
data = cursor.fetchall()
if not data: return []
desc = cursor.description
results = [0]*len(data)
for i in range(len(data)):
results[i] = {}
for n in range(len(desc)):
name = desc[n][0]
results[i][name] = data[i][n]
return results
def nextHandId(self):
c = self.get_cursor()
c.execute("SELECT max(id) FROM Hands")
id = c.fetchone()[0]
if not id: id = 0
id += 1
return id
def isDuplicate(self, gametypeID, siteHandNo):
dup = False

View File

@ -119,16 +119,17 @@ class DerivedStats():
return self.handsactions
def assembleHands(self, hand):
self.hands['tableName'] = hand.tablename
self.hands['siteHandNo'] = hand.handid
self.hands['gametypeId'] = None # Leave None, handled later after checking db
self.hands['sessionId'] = None # Leave None, added later if caching sessions
self.hands['startTime'] = hand.startTime # format this!
self.hands['importTime'] = None
self.hands['seats'] = self.countPlayers(hand)
self.hands['maxSeats'] = hand.maxseats
self.hands['texture'] = None # No calculation done for this yet.
self.hands['tourneyId'] = hand.tourneyId
self.hands['tableName'] = hand.tablename
self.hands['siteHandNo'] = hand.handid
self.hands['gametypeId'] = None # Leave None, handled later after checking db
self.hands['sessionId'] = None # Leave None, added later if caching sessions
self.hands['gameSessionId'] = None # Leave None, added later if caching sessions
self.hands['startTime'] = hand.startTime # format this!
self.hands['importTime'] = None
self.hands['seats'] = self.countPlayers(hand)
self.hands['maxSeats'] = hand.maxseats
self.hands['texture'] = None # No calculation done for this yet.
self.hands['tourneyId'] = hand.tourneyId
# This (i think...) is correct for both stud and flop games, as hand.board['street'] disappears, and
# those values remain default in stud.
@ -213,10 +214,10 @@ class DerivedStats():
for player in hand.players:
hcs = hand.join_holecards(player[1], asList=True)
hcs = hcs + [u'0x', u'0x', u'0x', u'0x', u'0x']
#for i, card in enumerate(hcs[:7], 1): #Python 2.6 syntax
hcs = hcs + [u'0x']*18
#for i, card in enumerate(hcs[:20, 1): #Python 2.6 syntax
# self.handsplayers[player[1]]['card%s' % i] = Card.encodeCard(card)
for i, card in enumerate(hcs[:7]):
for i, card in enumerate(hcs[:20]):
self.handsplayers[player[1]]['card%s' % (i+1)] = Card.encodeCard(card)
self.handsplayers[player[1]]['startCards'] = Card.calcStartCards(hand, player[1])

View File

@ -41,7 +41,12 @@ class Everleaf(HandHistoryConverter):
#re.compile(ur"^(Blinds )?(?P<CURRENCY>\$| €|)(?P<SB>[.0-9]+)/(?:\$| €)?(?P<BB>[.0-9]+) (?P<LIMIT>NL|PL|) ?(?P<GAME>(Hold\'em|Omaha|7 Card Stud))", re.MULTILINE)
re_HandInfo = re.compile(ur".*#(?P<HID>[0-9]+)\n.*\n(Blinds )?(?P<CURRENCY>[$€])?(?P<SB>[.0-9]+)/(?:[$€])?(?P<BB>[.0-9]+) (?P<GAMETYPE>.*) - (?P<DATETIME>\d\d\d\d/\d\d/\d\d - \d\d:\d\d:\d\d)\nTable (?P<TABLE>.+$)", re.MULTILINE)
re_Button = re.compile(ur"^Seat (?P<BUTTON>\d+) is the button$", re.MULTILINE)
re_PlayerInfo = re.compile(ur"^Seat (?P<SEAT>[0-9]+): (?P<PNAME>.*) \(\s+([$€]? (?P<CASH>[.0-9]+) (USD|EURO|Chips)|new player|All-in) \)$", re.MULTILINE)
re_PlayerInfo = re.compile(ur"""^Seat\s(?P<SEAT>[0-9]+):\s(?P<PNAME>.*)\s+
\(
\s+[$]?\s?(?P<CASH>[.0-9]+)
(\s(USD|EURO|Chips)?(new\splayer|All-in)?)?
\s?\)$
""", re.MULTILINE|re.VERBOSE)
re_Board = re.compile(ur"\[ (?P<CARDS>.+) \]")
re_TourneyInfoFromFilename = re.compile(ur".*TID_(?P<TOURNO>[0-9]+)-(?P<TABLE>[0-9]+)\.txt")
@ -91,8 +96,6 @@ class Everleaf(HandHistoryConverter):
'bigBet'
'currency' in ('USD', 'EUR', 'T$', <countrycode>)
or None if we fail to get the info """
#(TODO: which parts are optional/required?)
# Blinds $0.50/$1 PL Omaha - 2008/12/07 - 21:59:48
# Blinds $0.05/$0.10 NL Hold'em - 2009/02/21 - 11:21:57
# $0.25/$0.50 7 Card Stud - 2008/12/05 - 21:43:59
@ -164,11 +167,6 @@ or None if we fail to get the info """
# https://www.poker4ever.com/tourney/%TOURNEY_NUMBER%
# Believe Everleaf time is GMT/UTC, no transation necessary
# Stars format (Nov 10 2008): 2008/11/07 12:38:49 CET [2008/11/07 7:38:49 ET]
# or : 2008/11/07 12:38:49 ET
# Not getting it in my HH files yet, so using
# 2008/11/10 3:58:52 ET
#TODO: Need some date functions to convert to different timezones (Date::Manip for perl rocked for this)
hand.startTime = datetime.datetime.strptime(m.group('DATETIME'), "%Y/%m/%d - %H:%M:%S")
return
@ -187,9 +185,6 @@ or None if we fail to get the info """
def markStreets(self, hand):
# PREFLOP = ** Dealing down cards **
# This re fails if, say, river is missing; then we don't get the ** that starts the river.
#m = re.search('(\*\* Dealing down cards \*\*\n)(?P<PREFLOP>.*?\n\*\*)?( Dealing Flop \*\* \[ (?P<FLOP1>\S\S), (?P<FLOP2>\S\S), (?P<FLOP3>\S\S) \])?(?P<FLOP>.*?\*\*)?( Dealing Turn \*\* \[ (?P<TURN1>\S\S) \])?(?P<TURN>.*?\*\*)?( Dealing River \*\* \[ (?P<RIVER1>\S\S) \])?(?P<RIVER>.*)', hand.handText,re.DOTALL)
if hand.gametype['base'] == 'hold':
m = re.search(r"\*\* Dealing down cards \*\*(?P<PREFLOP>.+(?=\*\* Dealing Flop \*\*)|.+)"
r"(\*\* Dealing Flop \*\*(?P<FLOP> \[ \S\S, \S\S, \S\S \].+(?=\*\* Dealing Turn \*\*)|.+))?"

View File

@ -25,7 +25,6 @@ import datetime
from Exceptions import FpdbParseError
from HandHistoryConverter import *
import PokerStarsToFpdb
from TourneySummary import *
class FullTiltPokerSummary(TourneySummary):
@ -45,10 +44,10 @@ class FullTiltPokerSummary(TourneySummary):
}
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : "\$|\xe2\x82\xac|", # legal currency symbols - Euro(cp1252, utf-8)
'TAB' : u"-\u2013'\s\da-zA-Z", # legal characters for tablename
'NUM' : u".,\d", # legal characters in number format
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac|", # legal currency symbols - Euro(cp1252, utf-8)
'TAB' : u"-\u2013'\s\da-zA-Z", # legal characters for tablename
'NUM' : u".,\d", # legal characters in number format
}
re_SplitTourneys = re.compile("^Full Tilt Poker Tournament Summary")

View File

@ -37,7 +37,7 @@ class Fulltilt(HandHistoryConverter):
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\u20AC|\xe2\x82\xac|", # legal currency symbols - Euro(cp1252, utf-8)
'TAB' : u"-\u2013'\s\da-zA-Z#", # legal characters for tablename
'TAB' : u"-\u2013'\s\da-zA-Z#_", # legal characters for tablename
'NUM' : u".,\d", # legal characters in number format
}
@ -61,7 +61,9 @@ class Fulltilt(HandHistoryConverter):
'400.00': ('100.00', '200.00'), '400': ('100.00', '200.00'),
'500.00': ('125.00', '250.00'), '500': ('125.00', '250.00'),
'800.00': ('200.00', '400.00'), '800': ('200.00', '400.00'),
'1000.00': ('250.00', '500.00'),'1000': ('250.00', '500.00')
'1000.00': ('250.00', '500.00'),'1000': ('250.00', '500.00'),
'2000.00': ('500.00', '750.00'),'2000': ('500.00', '1000.00'),
'3000.00': ('750.00', '1500.00'),'3000': ('750.00', '1500.00'),
}
# Static regexes
@ -172,7 +174,7 @@ class Fulltilt(HandHistoryConverter):
self.re_BringIn = re.compile(r"^%(PLAYERS)s brings in for [%(LS)s]?(?P<BRINGIN>[%(NUM)s]+)" % self.substitutions, re.MULTILINE)
self.re_PostBoth = re.compile(r"^%(PLAYERS)s posts small \& big blinds \[[%(LS)s]? (?P<SBBB>[%(NUM)s]+)" % self.substitutions, re.MULTILINE)
self.re_HeroCards = re.compile(r"^Dealt to %s(?: \[(?P<OLDCARDS>.+?)\])?( \[(?P<NEWCARDS>.+?)\])" % player_re, re.MULTILINE)
self.re_Action = re.compile(r"^%(PLAYERS)s(?P<ATYPE> bets| checks| raises to| completes it to| calls| folds)( [%(LS)s]?(?P<BET>[%(NUM)s]+))?" % self.substitutions, re.MULTILINE)
self.re_Action = re.compile(r"^%(PLAYERS)s(?P<ATYPE> bets| checks| raises to| completes it to| calls| folds| discards| stands pat)( [%(LS)s]?(?P<BET>[%(NUM)s]+))?(\son|\scards?)?(\s\[(?P<CARDS>.+?)\])?" % self.substitutions, re.MULTILINE)
self.re_ShowdownAction = re.compile(r"^%s shows \[(?P<CARDS>.*)\]" % player_re, re.MULTILINE)
self.re_CollectPot = re.compile(r"^Seat (?P<SEAT>[0-9]+): %(PLAYERS)s (\(button\) |\(small blind\) |\(big blind\) )?(collected|showed \[.*\] and won) \([%(LS)s]?(?P<POT>[%(NUM)s]+)\)(, mucked| with.*)?" % self.substitutions, re.MULTILINE)
self.re_SitsOut = re.compile(r"^%s sits out" % player_re, re.MULTILINE)
@ -242,8 +244,9 @@ class Fulltilt(HandHistoryConverter):
if info['limitType'] == 'fl' and info['bb'] is not None and info['type'] == 'ring':
try:
info['sb'] = self.Lim_Blinds[mg['BB']][0]
info['bb'] = self.Lim_Blinds[mg['BB']][1]
bb = self.clearMoneyString(mg['BB'])
info['sb'] = self.Lim_Blinds[bb][0]
info['bb'] = self.Lim_Blinds[bb][1]
except KeyError:
log.error(_("Lim_Blinds has no lookup for '%s'") % mg['BB'])
log.error(_("determineGameType: Raising FpdbParseError"))
@ -483,6 +486,10 @@ class Fulltilt(HandHistoryConverter):
hand.addFold( street, action.group('PNAME'))
elif action.group('ATYPE') == ' checks':
hand.addCheck( street, action.group('PNAME'))
elif action.group('ATYPE') == ' discards':
hand.addDiscard(street, action.group('PNAME'), action.group('BET'), action.group('CARDS'))
elif action.group('ATYPE') == ' stands pat':
hand.addStandsPat( street, action.group('PNAME'), action.group('CARDS'))
else:
print _("FullTilt: DEBUG: unimplemented readAction: '%s' '%s'") %(action.group('PNAME'),action.group('ATYPE'),)

View File

@ -223,13 +223,18 @@ class SummaryImporter:
print "Found %s summaries" %(len(summaryTexts))
errors = 0
imported = 0
####Lock Placeholder####
for j, summaryText in enumerate(summaryTexts, start=1):
sc, gsc = {'bk': []}, {'bk': []}
doinsert = len(summaryTexts)==j
try:
conv = obj(db=None, config=self.config, siteName=site, summaryText=summaryText, builtFrom = "IMAP")
conv = obj(db=self.database, config=self.config, siteName=site, summaryText=summaryText, builtFrom = "IMAP")
sc, gsc = conv.updateSessionsCache(sc, gsc, None, doinsert)
except FpdbParseError, e:
errors += 1
print _("Finished importing %s/%s tournament summaries") %(j, len(summaryTexts))
imported = j
####Lock Placeholder####
return (imported - errors, errors)
def clearFileList(self):

View File

@ -57,6 +57,7 @@ class Hand(object):
#log.debug( _("Hand.init(): handText is ") + str(handText) )
self.config = config
self.saveActions = self.config.get_import_parameters().get('saveActions')
self.callHud = self.config.get_import_parameters().get("callFpdbHud")
self.cacheSessions = self.config.get_import_parameters().get("cacheSessions")
#log = Configuration.get_logger("logging.conf", "db", log_dir=self.config.dir_log)
self.sitename = sitename
@ -101,7 +102,7 @@ class Hand(object):
self.seating = []
self.players = []
self.posted = []
self.tourneysPlayersIds = []
self.tourneysPlayersIds = {}
# Collections indexed by street names
self.bets = {}
@ -232,9 +233,8 @@ dealt whether they were seen in a 'dealt to' line
# Players, Gametypes, TourneyTypes are all shared functions that are needed for additional tables
# These functions are intended for prep insert eventually
#####
# Players - base playerid and siteid tuple
self.dbid_pids = db.getSqlPlayerIDs([p[1] for p in self.players], self.siteId)
self.dbid_gt = db.getGameTypeId(self.siteId, self.gametype, printdata = printtest)
#Gametypes
hilo = "h"
if self.gametype['category'] in ['studhilo', 'omahahilo']:
@ -249,61 +249,70 @@ dealt whether they were seen in a 'dealt to' line
# Note: the above data is calculated in db.getGameTypeId
# Only being calculated above so we can grab the testdata
self.dbid_gt = db.getGameTypeId(self.siteId, self.gametype, printdata = printtest)
if self.tourNo!=None:
self.tourneyTypeId = db.createTourneyType(self)
db.commit()
self.tourneyId = db.createOrUpdateTourney(self, "HHC")
db.commit()
self.tourneysPlayersIds = db.createOrUpdateTourneysPlayers(self, "HHC")
db.commit()
#end def prepInsert
def insert(self, db, hp_data = None, ha_data = None, insert_data=False, printtest = False):
""" Function to insert Hand into database
Should not commit, and do minimal selects. Callers may want to cache commits
db: a connected Database object"""
#db.commit() #commit these transactions'
def assembleHand(self):
self.stats.getStats(self)
#####
# End prep functions
#####
hh = self.stats.getHands()
hp_inserts, ha_inserts = [], []
if not db.isDuplicate(self.dbid_gt, hh['siteHandNo']):
# Hands - Summary information of hand indexed by handId - gameinfo
hh['gametypeId'] = self.dbid_gt
# seats TINYINT NOT NULL,
hh['seats'] = len(self.dbid_pids)
hp = self.stats.getHandsPlayers()
if self.cacheSessions:
hh['sessionId'] = db.storeSessionsCache(self.dbid_pids, self.startTime, self.gametype, hp)
self.dbid_hands = db.storeHand(hh, printdata = printtest)
hp_inserts = db.storeHandsPlayers(self.dbid_hands, self.dbid_pids, hp,
insert=insert_data, hp_bulk = hp_data, printdata = printtest)
if self.saveActions:
ha_inserts = db.storeHandsActions(self.dbid_hands, self.dbid_pids, self.stats.getHandsActions(),
insert=insert_data, ha_bulk = ha_data, printdata = printtest)
else:
log.info(_("Hand.insert(): hid #: %s is a duplicate") % hh['siteHandNo'])
self.hands = self.stats.getHands()
self.handsplayers = self.stats.getHandsPlayers()
def getHandId(self, db, id):
if db.isDuplicate(self.dbid_gt, self.hands['siteHandNo']):
#log.info(_("Hand.insert(): hid #: %s is a duplicate") % hh['siteHandNo'])
self.is_duplicate = True # i.e. don't update hudcache
raise FpdbHandDuplicate(hh['siteHandNo'])
return hp_inserts, ha_inserts
next = id
raise FpdbHandDuplicate(self.hands['siteHandNo'])
else:
self.dbid_hands = id
self.hands['id'] = self.dbid_hands
next = id +1
return next
def updateHudCache(self, db):
db.storeHudCache(self.dbid_gt, self.dbid_pids, self.startTime, self.stats.getHandsPlayers())
def insertHands(self, db, hbulk, doinsert = False, printtest = False):
""" Function to insert Hand into database
Should not commit, and do minimal selects. Callers may want to cache commits
db: a connected Database object"""
self.hands['gametypeId'] = self.dbid_gt
self.hands['seats'] = len(self.dbid_pids)
hbulk = db.storeHand(self.hands, hbulk, doinsert, printtest)
return hbulk
def insertHandsPlayers(self, db, hpbulk, doinsert = False, printtest = False):
""" Function to inserts HandsPlayers into database"""
hpbulk = db.storeHandsPlayers(self.dbid_hands, self.dbid_pids, self.handsplayers, hpbulk, doinsert, printtest)
return hpbulk
def insertHandsActions(self, db, habulk, doinsert = False, printtest = False):
""" Function to inserts HandsActions into database"""
handsactions = self.stats.getHandsActions()
habulk = db.storeHandsActions(self.dbid_hands, self.dbid_pids, handsactions, habulk, doinsert, printtest)
return habulk
def updateHudCache(self, db, hcbulk, doinsert = False):
""" Function to update the HudCache"""
if self.callHud:
hcbulk = db.storeHudCache(self.dbid_gt, self.dbid_pids, self.startTime, self.handsplayers, hcbulk, doinsert)
return hcbulk
def updateSessionsCache(self, db):
db.storeSessionsCache(self.dbid_pids, self.startTime, self.gametype, self.stats.getHandsPlayers())
def updateSessionsCache(self, db, sc, gsc, tz, doinsert = False):
""" Function to update the SessionsCache"""
if self.cacheSessions:
self.heros = db.getHeroIds(self.dbid_pids, self.sitename)
sc = db.prepSessionsCache(self.dbid_hands, self.dbid_pids, self.startTime, sc, self.heros, doinsert)
gsc = db.storeSessionsCache(self.dbid_hands, self.dbid_pids, self.startTime, self.gametype
,self.dbid_gt, self.handsplayers, sc, gsc, tz, self.heros, doinsert)
if doinsert and sc['bk'] and gsc['bk']:
self.hands['sc'] = sc
self.hands['gsc'] = gsc
else:
self.hands['sc'] = None
self.hands['gsc'] = None
return sc, gsc
def select(self, db, handId):
""" Function to create Hand object from database """
@ -666,10 +675,13 @@ Add a raise on [street] by [player] to [amountTo]
self.pot.addMoney(player, amount)
def addStandsPat(self, street, player):
def addStandsPat(self, street, player, cards):
self.checkPlayerExists(player)
act = (player, 'stands pat')
self.actions[street].append(act)
if cards:
cards = cards.split(' ')
self.addHoleCards(street, player, open=[], closed=cards)
def addFold(self, street, player):
@ -1229,7 +1241,14 @@ class DrawHand(Hand):
def join_holecards(self, player, asList=False):
"""With asList = True it returns the set cards for a player including down cards if they aren't know"""
# FIXME: This should actually return
holecards = [u'0x', u'0x', u'0x', u'0x', u'0x']
holecards = [u'0x']*20
for i, street in enumerate(self.holeStreets):
if player in self.holecards[street].keys():
allhole = self.holecards[street][player][1] + self.holecards[street][player][0]
for c in range(len(allhole)):
idx = c + (i*5)
holecards[idx] = allhole[c]
if asList == False:
return " ".join(holecards)

View File

@ -50,9 +50,6 @@ import Hand
from Exceptions import FpdbParseError
import Configuration
import pygtk
import gtk
class HandHistoryConverter():
READ_CHUNK_SIZE = 10000 # bytes to read at a time from file in tail mode
@ -128,9 +125,6 @@ If in follow mode, wait for more data to turn up.
Otherwise, finish at EOF.
"""
while gtk.events_pending():
gtk.main_iteration(False)
starttime = time.time()
if not self.sanityCheck():
log.warning(_("Failed sanity check"))
@ -182,7 +176,12 @@ Otherwise, finish at EOF.
finally:
if self.out_fh != sys.stdout:
self.out_fh.close()
def progressNotify(self):
"A callback to the interface while events are pending"
import gtk, pygtk
while gtk.events_pending():
gtk.main_iteration(False)
def tailHands(self):
"""Generator of handTexts from a tailed file:

View File

@ -42,10 +42,10 @@ class OnGame(HandHistoryConverter):
siteId = 5 # Needs to match id entry in Sites database
mixes = { } # Legal mixed games
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": u"\u20ac", "GBP": "\xa3"} # ADD Euro, Sterling, etc HERE
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": u"\u20ac", "GBP": "\xa3"}
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac" # legal currency symbols - Euro(cp1252, utf-8)
'LS' : u"\$|\xe2\x82\xac|\u20ac" # legal currency symbols - Euro(cp1252, utf-8)
}
currencies = { u'\u20ac':'EUR', u'\xe2\x82\xac':'EUR', '$':'USD', '':'T$' }
@ -71,9 +71,11 @@ class OnGame(HandHistoryConverter):
#TODO: detect play money
# "Play money" rather than "Real money" and set currency accordingly
re_HandInfo = re.compile(u"""
\*\*\*\*\*\sHistory\sfor\shand\s(?P<HID>[-A-Z\d]+).*
\*\*\*\*\*\sHistory\sfor\shand\s(?P<HID>[-A-Z\d]+)
(\s\(TOURNAMENT:\s"[a-zA-Z ]+",\s(?P<TID>[-A-Z\d]+),\sbuy-in:\s[%(LS)s](?P<BUYIN>\d+))?
.*
Start\shand:\s(?P<DATETIME>.*)
Table:\s(\[SPEED\]\s)?(?P<TABLE>[-\'\w\s\.]+)\s\[\d+\]\s\(
Table:\s(\[SPEED\]\s)?(?P<TABLE>[-\'\w\#\s\.]+)\s\[\d+\]\s\(
(
(?P<LIMIT>NO_LIMIT|Limit|LIMIT|Pot\sLimit|POT_LIMIT)\s
(?P<GAME>TEXAS_HOLDEM|OMAHA_HI|SEVEN_CARD_STUD|SEVEN_CARD_STUD_HI_LO|RAZZ|FIVE_CARD_DRAW)\s
@ -99,6 +101,7 @@ class OnGame(HandHistoryConverter):
#Seat 1: .Lucchess ($4.17 in chips)
#Seat 1: phantomaas ($27.11)
#Seat 5: mleo17 ($9.37)
#Seat 2: Montferat (1500)
re_PlayerInfo = re.compile(u'Seat (?P<SEAT>[0-9]+):\s(?P<PNAME>.*)\s\((%(LS)s)?(?P<CASH>[.0-9]+)\)' % substitutions)
def compilePlayerRegexs(self, hand):
@ -146,6 +149,7 @@ class OnGame(HandHistoryConverter):
["ring", "hold", "nl"],
["ring", "stud", "fl"],
["ring", "draw", "fl"],
["tour", "hold", "nl"],
]
def determineGameType(self, handText):
@ -164,6 +168,9 @@ class OnGame(HandHistoryConverter):
#print "DEBUG: mg: %s" % mg
info['type'] = 'ring'
if mg['TID'] != None:
info['type'] = 'tour'
if 'CURRENCY' in mg:
info['currency'] = self.currencies[mg['CURRENCY']]
@ -216,6 +223,10 @@ class OnGame(HandHistoryConverter):
# Need to remove non-alphanumerics for MySQL
hand.handid = hand.handid.replace('R','')
hand.handid = hand.handid.replace('-','')
if key == 'TID':
hand.tourNo = info[key]
if key == 'BUYIN':
hand.buyin = info[key]
if key == 'TABLE':
hand.tablename = info[key]

View File

@ -41,8 +41,8 @@ class PacificPoker(HandHistoryConverter):
mixes = { 'HORSE': 'horse', '8-Game': '8game', 'HOSE': 'hose'} # Legal mixed games
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": "\xe2\x82\xac", "GBP": "\xa3", "play": ""} # ADD Euro, Sterling, etc HERE
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : "\$|\xe2\x82\xac|" # legal currency symbols - Euro(cp1252, utf-8)
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac|" # legal currency symbols - Euro(cp1252, utf-8)
}
# translations from captured groups to fpdb info strings

View File

@ -68,7 +68,7 @@ class PokerStarsSummary(TourneySummary):
re_Currency = re.compile(u"""(?P<CURRENCY>[%(LS)s]|FPP)""" % substitutions)
re_Player = re.compile(u"""(?P<RANK>[0-9]+):\s(?P<NAME>.*)\s\(.*\),(\s)?(\$(?P<WINNINGS>[0-9]+\.[0-9]+))?(?P<STILLPLAYING>still\splaying)?((?P<TICKET>Tournament\sTicket)\s\(WSOP\sStep\s(?P<LEVEL>\d)\))?(\s+)?""")
re_Player = re.compile(u"""(?P<RANK>[0-9]+):\s(?P<NAME>.*)\s\(.*\),(\s)?([%(LS)s](?P<WINNINGS>[0-9]+\.[0-9]+))?(?P<STILLPLAYING>still\splaying)?((?P<TICKET>Tournament\sTicket)\s\(WSOP\sStep\s(?P<LEVEL>\d)\))?(\s+)?""" % substitutions)
re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)")

View File

@ -38,11 +38,11 @@ class PokerStars(HandHistoryConverter):
codepage = ("utf8", "cp1252")
siteId = 2 # Needs to match id entry in Sites database
mixes = { 'HORSE': 'horse', '8-Game': '8game', 'HOSE': 'hose'} # Legal mixed games
mixes = { 'HORSE': 'horse', '8-Game': '8game', 'HOSE': 'hose', 'Mixed Hold\'em': 'mholdem'} # Legal mixed games
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": "\xe2\x82\xac", "GBP": "\xa3", "play": ""} # ADD Euro, Sterling, etc HERE
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : "\$|\xe2\x82\xac|" # legal currency symbols - Euro(cp1252, utf-8)
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac|" # legal currency symbols - Euro(cp1252, utf-8)
}
# translations from captured groups to fpdb info strings
@ -90,7 +90,7 @@ class PokerStars(HandHistoryConverter):
# here's how I plan to use LS
(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\.]+)?\+?(?P<BIRAKE>[%(LS)s\d\.]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Freeroll)\s+)?
# close paren of tournament info
(?P<MIXED>HORSE|8\-Game|HOSE|Mixed PLH/PLO)?\s?\(?
(?P<MIXED>HORSE|8\-Game|HOSE|Mixed\sPLH/PLO|Mixed\sHold\'em)?\s?\(?
(?P<GAME>Hold\'em|Razz|RAZZ|7\sCard\sStud|7\sCard\sStud\sHi/Lo|Omaha|Omaha\sHi/Lo|Badugi|Triple\sDraw\s2\-7\sLowball|Single\sDraw\s2\-7\sLowball|5\sCard\sDraw)\s
(?P<LIMIT>No\sLimit|Limit|LIMIT|Pot\sLimit)\)?,?\s
(-\s)?
@ -145,7 +145,8 @@ class PokerStars(HandHistoryConverter):
(\s(%(CUR)s)?(?P<BET>[.\d]+))?(\sto\s%(CUR)s(?P<BETTO>[.\d]+))? # the number discarded goes in <BET>
\s*(and\sis\sall.in)?
(and\shas\sreached\sthe\s[%(CUR)s\d\.]+\scap)?
(\scards?(\s\[(?P<DISCARDED>.+?)\])?)?\s*$"""
(\son|\scards?)?
(\s\[(?P<CARDS>.+?)\])?\s*$"""
% short_subst, re.MULTILINE|re.VERBOSE)
re_ShowdownAction = re.compile(r"^%s: shows \[(?P<CARDS>.*)\]" % short_subst['PLYR'], re.MULTILINE)
re_sitsOut = re.compile("^%s sits out" % short_subst['PLYR'], re.MULTILINE)
@ -432,9 +433,9 @@ class PokerStars(HandHistoryConverter):
elif action.group('ATYPE') == ' checks':
hand.addCheck( street, action.group('PNAME'))
elif action.group('ATYPE') == ' discards':
hand.addDiscard(street, action.group('PNAME'), action.group('BET'), action.group('DISCARDED'))
hand.addDiscard(street, action.group('PNAME'), action.group('BET'), action.group('CARDS'))
elif action.group('ATYPE') == ' stands pat':
hand.addStandsPat( street, action.group('PNAME'))
hand.addStandsPat( street, action.group('PNAME'), action.group('CARDS'))
else:
print (_("DEBUG: ") + _("Unimplemented readAction: '%s' '%s'") % (action.group('PNAME'),action.group('ATYPE')))

View File

@ -107,6 +107,15 @@ class Sql:
elif db_server == 'sqlite':
self.query['createSettingsTable'] = """CREATE TABLE Settings
(version INTEGER NOT NULL) """
################################
# Create InsertLock
################################
if db_server == 'mysql':
self.query['createLockTable'] = """CREATE TABLE InsertLock (
id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
locked BOOLEAN NOT NULL DEFAULT FALSE)
ENGINE=INNODB"""
################################
# Create RawHands (this table is all but identical with RawTourneys)
@ -278,11 +287,11 @@ class Sql:
if db_server == 'mysql':
self.query['createPlayersTable'] = """CREATE TABLE Players (
id INT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
name VARCHAR(32) CHARACTER SET utf8 NOT NULL,
siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id),
comment text,
commentTs DATETIME)
id INT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
name VARCHAR(32) NOT NULL,
siteId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (siteId) REFERENCES Sites(id),
comment text,
commentTs DATETIME)
ENGINE=INNODB"""
elif db_server == 'postgresql':
self.query['createPlayersTable'] = """CREATE TABLE Players (
@ -346,7 +355,8 @@ class Sql:
siteHandNo BIGINT NOT NULL,
tourneyId INT UNSIGNED,
gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
sessionId INT UNSIGNED,
sessionId INT UNSIGNED,
gameSessionId INT UNSIGNED,
startTime DATETIME NOT NULL,
importTime DATETIME NOT NULL,
seats TINYINT NOT NULL,
@ -385,6 +395,7 @@ class Sql:
tourneyId INT,
gametypeId INT NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
sessionId INT,
gameSessionId INT,
startTime timestamp without time zone NOT NULL,
importTime timestamp without time zone NOT NULL,
seats SMALLINT NOT NULL,
@ -422,6 +433,7 @@ class Sql:
tourneyId INT,
gametypeId INT NOT NULL,
sessionId INT,
gameSessionId INT,
startTime REAL NOT NULL,
importTime REAL NOT NULL,
seats INT NOT NULL,
@ -621,6 +633,19 @@ class Sql:
card5 smallint,
card6 smallint,
card7 smallint,
card8 smallint, /* cards 8-20 for draw hands */
card9 smallint,
card10 smallint,
card11 smallint,
card12 smallint,
card13 smallint,
card14 smallint,
card15 smallint,
card16 smallint,
card17 smallint,
card18 smallint,
card19 smallint,
card20 smallint,
startCards smallint,
ante INT,
@ -748,6 +773,19 @@ class Sql:
card5 smallint,
card6 smallint,
card7 smallint,
card8 smallint, /* cards 8-20 for draw hands */
card9 smallint,
card10 smallint,
card11 smallint,
card12 smallint,
card13 smallint,
card14 smallint,
card15 smallint,
card16 smallint,
card17 smallint,
card18 smallint,
card19 smallint,
card20 smallint,
startCards smallint,
ante INT,
@ -874,6 +912,19 @@ class Sql:
card5 INT,
card6 INT,
card7 INT,
card8 INT, /* cards 8-20 for draw hands */
card9 INT,
card10 INT,
card11 INT,
card12 INT,
card13 INT,
card14 INT,
card15 INT,
card16 INT,
card17 INT,
card18 INT,
card19 INT,
card20 INT,
startCards INT,
ante INT,
@ -1430,32 +1481,61 @@ class Sql:
id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id),
sessionStart DATETIME NOT NULL,
sessionEnd DATETIME NOT NULL,
ringHDs INT NOT NULL,
tourHDs INT NOT NULL,
ringProfitUSD INT NOT NULL,
ringProfitEUR INT NOT NULL)
ENGINE=INNODB"""
gameStart DATETIME NOT NULL,
gameEnd DATETIME NOT NULL,
sessionId BIGINT,
date CHAR(7) NOT NULL, /* 1st char is style (A/T/H/S), other 6 are the key */
type char(7) NOT NULL,
gametypeId SMALLINT UNSIGNED, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
tourneyTypeId SMALLINT UNSIGNED, FOREIGN KEY (tourneyTypeId) REFERENCES TourneyTypes(id),
playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id),
hands INT NOT NULL,
tourneys INT NOT NULL,
totalProfit INT)
ENGINE=INNODB
"""
elif db_server == 'postgresql':
self.query['createSessionsCacheTable'] = """CREATE TABLE SessionsCache (
id BIGSERIAL, PRIMARY KEY (id),
sessionStart REAL NOT NULL,
sessionEnd REAL NOT NULL,
ringHDs INT NOT NULL,
tourHDs INT NOT NULL,
ringProfitUSD INT NOT NULL,
ringProfitEUR INT NOT NULL)
gameStart REAL NOT NULL,
gameEnd REAL NOT NULL,
sessionId INT,
date CHAR(7) NOT NULL, /* 1st char is style (A/T/H/S), other 6 are the key */
type char(7),
gametypeId INT, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
tourneyTypeId INT, FOREIGN KEY (tourneyTypeId) REFERENCES TourneyTypes(id),
playerId INT, FOREIGN KEY (playerId) REFERENCES Players(id),
hands INT,
tourneys INT,
totalProfit INT)
"""
elif db_server == 'sqlite':
self.query['createSessionsCacheTable'] = """CREATE TABLE SessionsCache (
id INTEGER PRIMARY KEY,
sessionStart REAL NOT NULL,
sessionEnd REAL NOT NULL,
ringHDs INT NOT NULL,
tourHDs INT NOT NULL,
ringProfitUSD INT NOT NULL,
ringProfitEUR INT NOT NULL)
sessionStart timestamp NOT NULL,
sessionEnd timestamp NOT NULL,
gameStart timestamp NOT NULL,
gameEnd timestamp NOT NULL,
sessionId INT,
date TEXT NOT NULL, /* 1st char is style (A/T/H/S), other 6 are the key */
type TEXT,
gametypeId INT,
tourneyTypeId INT,
playerId INT,
hands INT,
tourneys INT,
totalProfit INT)
"""
self.query['addSessionIdIndex'] = """CREATE INDEX index_SessionId ON SessionsCache (sessionId)"""
self.query['addHandsSessionIdIndex'] = """CREATE INDEX index_handsSessionId ON Hands (sessionId)"""
self.query['addHandsGameSessionIdIndex'] = """CREATE INDEX index_handsGameSessionId ON Hands (gameSessionId)"""
if db_server == 'mysql':
self.query['addTourneyIndex'] = """ALTER TABLE Tourneys ADD UNIQUE INDEX siteTourneyNo(siteTourneyNo, tourneyTypeId)"""
@ -1479,7 +1559,7 @@ class Sql:
self.query['addPlayersIndex'] = """CREATE UNIQUE INDEX name ON Players (name, siteId)"""
if db_server == 'mysql':
self.query['addTPlayersIndex'] = """ALTER TABLE TourneysPlayers ADD UNIQUE INDEX tourneyId(tourneyId, playerId)"""
self.query['addTPlayersIndex'] = """ALTER TABLE TourneysPlayers ADD UNIQUE INDEX _tourneyId(tourneyId, playerId)"""
elif db_server == 'postgresql':
self.query['addTPlayersIndex'] = """CREATE UNIQUE INDEX tourneyId ON TourneysPlayers (tourneyId, playerId)"""
elif db_server == 'sqlite':
@ -4142,7 +4222,7 @@ class Sql:
"""
self.query['insert_hudcache'] = """
INSERT INTO HudCache (
insert into HudCache (
gametypeId,
playerId,
activeSeats,
@ -4237,7 +4317,7 @@ class Sql:
street2Raises,
street3Raises,
street4Raises)
VALUES (%s, %s, %s, %s, %s,
values (%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
@ -4363,96 +4443,136 @@ class Sql:
####################################
# Queries to rebuild/modify sessionscache
####################################
self.query['clearSessionsCache'] = """DELETE FROM SessionsCache"""
self.query['rebuildSessionsCache'] = """
SELECT Hands.id as id,
Hands.startTime as startTime,
HandsPlayers.playerId as playerId,
Hands.gametypeId as gametypeId,
Gametypes.type as game,
HandsPlayers.totalProfit as totalProfit,
Tourneys.tourneyTypeId as tourneyTypeId
FROM Gametypes, HandsPlayers, Hands
LEFT JOIN Tourneys ON Hands.tourneyId = Tourneys.tourneyTypeId
WHERE HandsPlayers.handId = Hands.id
AND Hands.gametypeId = Gametypes.id
AND (case when HandsPlayers.playerId = <where_clause> then 1 else 0 end) = 1
ORDER BY Hands.startTime ASC"""
self.query['rebuildSessionsCacheSum'] = """
SELECT Tourneys.id as id,
Tourneys.startTime as startTime,
TourneysPlayers.playerId,
TourneyTypes.id as tourneyTypeId,
TourneysPlayers.winnings as winnings,
TourneysPlayers.winningsCurrency as winningsCurrency,
TourneyTypes.currency as buyinCurrency,
TourneyTypes.buyIn as buyIn,
TourneyTypes.fee as fee,
case when TourneyTypes.rebuy then TourneyTypes.rebuyCost else 0 end as rebuyCost,
case when TourneyTypes.rebuy then TourneyTypes.rebuyFee else 0 end as rebuyFee,
case when TourneyTypes.addOn then TourneyTypes.addOnCost else 0 end as addOnCost,
case when TourneyTypes.addOn then TourneyTypes.addOnFee else 0 end as addOnFee,
case when TourneyTypes.knockout then TourneyTypes.koBounty else 0 end as koBounty
FROM Tourneys, TourneyTypes, TourneysPlayers
WHERE Tourneys.tourneyTypeId = TourneyTypes.id
AND Tourneys.id = TourneysPlayers.tourneyId
AND (case when TourneysPlayers.playerId = <where_clause> then 1 else 0 end) = 1
ORDER BY Tourneys.startTime ASC"""
self.query['select_sessionscache'] = """
SELECT id,
sessionStart,
sessionEnd,
ringHDs,
tourHDs,
ringProfitUSD,
ringProfitEUR
FROM SessionsCache
WHERE sessionEnd>=%s
AND sessionStart<=%s"""
self.query['select_sessionscache_mid'] = """
SELECT sessionStart,
sessionEnd,
ringHDs,
tourHDs,
ringProfitUSD,
ringProfitEUR
FROM SessionsCache
WHERE sessionEnd>=%s
AND sessionStart<=%s"""
self.query['select_sessionscache_start'] = """
SELECT sessionStart,
sessionEnd,
ringHDs,
tourHDs,
ringProfitUSD,
ringProfitEUR
FROM SessionsCache
WHERE sessionStart>%s
AND sessionEnd>=%s
AND sessionStart<=%s"""
self.query['update_sessionscache_mid'] = """
UPDATE SessionsCache SET
ringHDs=ringHDs+%s,
tourHDs=tourHDs+%s,
ringProfitUSD=ringProfitUSD+%s,
ringProfitEUR=ringProfitEUR+%s
WHERE sessionStart<=%s
AND sessionEnd>=%s"""
self.query['update_sessionscache_start'] = """
UPDATE SessionsCache SET
sessionStart=%s,
ringHDs=ringHDs+%s,
tourHDs=tourHDs+%s,
ringProfitUSD=ringProfitUSD+%s,
ringProfitEUR=ringProfitEUR+%s
WHERE sessionStart>%s
AND sessionEnd>=%s
AND sessionStart<=%s"""
self.query['update_sessionscache_end'] = """
UPDATE SessionsCache SET
sessionEnd=%s,
ringHDs=ringHDs+%s,
tourHDs=tourHDs+%s,
ringProfitUSD=ringProfitUSD+%s,
ringProfitEUR=ringProfitEUR+%s
WHERE sessionEnd<%s
AND sessionEnd>=%s
AND sessionStart<=%s"""
self.query['insert_sessionscache'] = """
INSERT INTO SessionsCache (
sessionStart,
sessionEnd,
ringHDs,
tourHDs,
ringProfitUSD,
ringProfitEUR)
VALUES (%s, %s, %s, %s, %s, %s)"""
self.query['merge_sessionscache'] = """
SELECT min(sessionStart), max(sessionEnd), sum(ringHDs), sum(tourHDs), sum(ringProfitUSD), sum(ringProfitEUR)
FROM SessionsCache
WHERE (case when id=%s or id=%s then 1 else 0 end)=1"""
self.query['delete_sessions'] = """
DELETE FROM SessionsCache
WHERE id=%s"""
self.query['update_hands_sessionid'] = """
UPDATE Hands SET
sessionId=%s
WHERE (case when sessionId=%s or sessionId=%s then 1 else 0 end)=1"""
self.query['select_prepSC'] = """
SELECT sessionId as id,
sessionStart,
sessionEnd,
count(sessionId) as count
FROM SessionsCache
WHERE sessionEnd>=%s
AND sessionStart<=%s
GROUP BY sessionId, sessionStart, sessionEnd"""
self.query['update_prepSC'] = """
UPDATE SessionsCache SET
sessionStart=%s,
sessionEnd=%s
WHERE sessionId=%s"""
self.query['update_SC'] = """
UPDATE SessionsCache SET
sessionStart=%s,
sessionEnd=%s,
gameStart=%s,
gameEnd=%s,
hands=hands+%s,
tourneys=tourneys+%s,
totalProfit=totalProfit+%s
WHERE id=%s"""
self.query['select_SC'] = """
SELECT id,
sessionStart,
sessionEnd,
gameStart,
gameEnd,
sessionId,
date,
type,
gametypeId,
tourneyTypeId,
playerId,
hands,
tourneys,
totalProfit
FROM SessionsCache
WHERE gameEnd>=%s
AND gameStart<=%s
AND date=%s
AND type=%s
AND (case when gametypeId is NULL then 1 else
(case when gametypeId=%s then 1 else 0 end) end)=1
AND (case when tourneyTypeId is NULL then 1 else
(case when tourneyTypeId=%s then 1 else 0 end) end)=1
AND playerId=%s"""
self.query['insert_SC'] = """
insert into SessionsCache (
sessionStart,
sessionEnd,
gameStart,
gameEnd,
sessionId,
date,
type,
gametypeId,
tourneyTypeId,
playerId,
hands,
tourneys,
totalProfit)
values (%s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s)"""
self.query['update_Hands_gsid'] = """
UPDATE Hands SET
gameSessionId=%s
WHERE gameSessionId=%s"""
self.query['update_Hands_sid'] = """
UPDATE Hands SET
sessionId=%s
WHERE sessionId=%s"""
self.query['update_SC_sid'] = """
UPDATE SessionsCache SET
sessionStart=%s,
sessionEnd=%s,
sessionId=%s
WHERE sessionId=%s"""
self.query['delete_SC'] = """
DELETE FROM SessionsCache
WHERE id=%s"""
####################################
# Database management queries
@ -4467,6 +4587,25 @@ class Sql:
self.query['analyze'] = "analyze"
elif db_server == 'sqlite':
self.query['analyze'] = "analyze"
if db_server == 'mysql':
self.query['selectLock'] = """
SELECT locked
FROM InsertLock
WHERE locked=True
LOCK IN SHARE MODE"""
if db_server == 'mysql':
self.query['switchLock'] = """
UPDATE InsertLock SET
locked=%s
WHERE id=%s"""
if db_server == 'mysql':
self.query['missedLock'] = """
UPDATE InsertLock SET
missed=missed+%s
WHERE id=%s"""
if db_server == 'mysql':
self.query['lockForInsert'] = """
@ -4652,6 +4791,7 @@ class Sql:
tourneyId,
gametypeid,
sessionId,
gameSessionId,
startTime,
importtime,
seats,
@ -4682,7 +4822,7 @@ class Sql:
values
(%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s)"""
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)"""
self.query['store_hands_players'] = """insert into HandsPlayers (
@ -4698,6 +4838,19 @@ class Sql:
card5,
card6,
card7,
card8,
card9,
card10,
card11,
card12,
card13,
card14,
card15,
card16,
card17,
card18,
card19,
card20,
winnings,
rake,
totalProfit,
@ -4812,7 +4965,10 @@ class Sql:
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s, %s, %s
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s, %s, %s, %s,
%s, %s
)"""
self.query['store_hands_actions'] = """insert into HandsActions (

View File

@ -21,8 +21,6 @@
import sys
import os
import codecs
import pprint
import PokerStarsToFpdb
from Hand import *
import Configuration
import Database
@ -31,6 +29,10 @@ import fpdb_import
import Options
import datetime
import pytz
import pprint
pp = pprint.PrettyPrinter(indent=4)
DEBUG = False
class FpdbError:
@ -147,6 +149,10 @@ def compare_hands_file(filename, importer, errors):
for hand in handlist:
ghash = hand.stats.getHands()
# Delete unused data from hash
del ghash['gsc']
del ghash['sc']
del ghash['id']
for datum in ghash:
#print "DEBUG: hand: '%s'" % datum
try:
@ -155,7 +161,7 @@ def compare_hands_file(filename, importer, errors):
pass
else:
# Stats don't match.
if datum == "gametypeId" or datum == 'sessionId' or datum == 'tourneyId':
if datum == "gametypeId" or datum == 'sessionId' or datum == 'tourneyId' or datum == 'gameSessionId':
# Not an error. gametypeIds are dependent on the order added to the db.
#print "DEBUG: Skipping mismatched gamtypeId"
pass
@ -172,8 +178,8 @@ def compare(leaf, importer, errors, site):
# Test if this is a hand history file
if filename.endswith('.txt'):
# test if there is a .hp version of the file
print "Site: %s" % site
print "Filename: %s" % filename
if DEBUG: print "Site: %s" % site
if DEBUG: print "Filename: %s" % filename
importer.addBulkImportImportFileOrDir(filename, site=site)
(stored, dups, partial, errs, ttime) = importer.runImport()
@ -332,6 +338,7 @@ def main(argv=None):
walk_testfiles(options.filename, compare, importer, BetfairErrors, "Betfair")
if sites['OnGame'] == True and not single_file_test:
walk_testfiles("regression-test-files/cash/OnGame/", compare, importer, OnGameErrors, "OnGame")
walk_testfiles("regression-test-files/tour/ongame/", compare, importer, OnGameErrors, "OnGame")
elif sites['OnGame'] == True and single_file_test:
walk_testfiles(options.filename, compare, importer, OnGameErrors, "OnGame")
if sites['Absolute'] == True and not single_file_test:
@ -345,6 +352,7 @@ def main(argv=None):
walk_testfiles(options.filename, compare, importer, UltimateBetErrors, "Absolute")
if sites['Everleaf'] == True and not single_file_test:
walk_testfiles("regression-test-files/cash/Everleaf/", compare, importer, EverleafErrors, "Everleaf")
walk_testfiles("regression-test-files/tour/Everleaf/", compare, importer, EverleafErrors, "Everleaf")
elif sites['Everleaf'] == True and single_file_test:
walk_testfiles(options.filename, compare, importer, EverleafErrors, "Everleaf")
if sites['Carbon'] == True and not single_file_test:

View File

@ -287,6 +287,24 @@ winnings (int) the money the player ended the tourney with (can be 0, or -1 i
if player not in [p[1] for p in self.players]:
print "checkPlayerExists", player, "fail"
raise FpdbParseError
def updateSessionsCache(self, sc, gsc, tz, doinsert):
self.heros = self.db.getHeroIds(self.dbid_pids, self.siteName)
sc = self.db.prepSessionsCache(self.tourNo, self.dbid_pids, self.startTime, sc , self.heros, doinsert)
gsc = self.db.storeSessionsCache(self.tourNo, self.dbid_pids, self.startTime, {'type': 'summary'}
,None, self.assembleInfo(), sc, gsc, tz, self.heros, doinsert)
return sc, gsc
def assembleInfo(self):
info = {}
info['tourneyTypeId'] = self.tourneyTypeId
info['winnings'] = self.winnings
info['winningsCurrency'] = self.winningsCurrency
info['buyinCurrency'] = self.buyinCurrency
info['buyin'] = self.buyin
info['fee'] = self.fee
return info
def writeSummary(self, fh=sys.__stdout__):
print >>fh, "Override me"

View File

@ -35,10 +35,16 @@ class Win2day(HandHistoryConverter):
siteID = 4
# Static regexes
#<HISTORY ID="102271403" SESSION="session31237702.xml" TABLE="Innsbruck 3" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="EUR" LIMIT="NL" STAKES="0.25/0.50" DATE="1246909773" WIN="0.00" LOSS="0.50">
#'^<HISTORY ID="(?P<HID>[0-9]+)" SESSION="session[0-9]+\.xml" TABLE="(?P<TABLE>[- a-zA-Z0-9]+)" GAME="(?P<GAME>[_A-Z]+)" GAMETYPE="[_a-zA-Z]+" GAMEKIND="[_a-zA-Z]+" TABLECURRENCY="(?P<CURRENCY>[A-Z]+)" LIMIT="(?P<LIMIT>NL|PL)" STAKES="(?P<SB>[.0-9]+)/(?P<BB>[.0-9]+)" DATE="(?P<DATETIME>[0-9]+)" WIN="[.0-9]+" LOSS="[.0-9]+">$'
re_GameInfo = re.compile('<HISTORY ID="(?P<HID>[0-9]+)" SESSION="session[0-9]+\.xml" TABLE="(?P<TABLE>[- a-zA-Z0-9\xc0-\xfc/.]+)" GAME="(?P<GAME>[_A-Z]+)" GAMETYPE="[_a-zA-Z]+" GAMEKIND="[_a-zA-Z]+" TABLECURRENCY="(?P<CURRENCY>[A-Z]+)" LIMIT="(?P<LIMIT>NL|PL)" STAKES="(?P<SB>[.0-9]+)/(?P<BB>[.0-9]+)" DATE="(?P<DATETIME>[0-9]+)" WIN="[.0-9]+" LOSS="[.0-9]+">', re.MULTILINE)
re_GameInfo = re.compile("""<HISTORY\sID="(?P<HID>[0-9]+)"\sSESSION="session[0-9]+\.xml"\s
TABLE="(?P<TABLE>[-\sa-zA-Z0-9\xc0-\xfc/.]+)"\s
GAME="(?P<GAME>[_A-Z]+)"\sGAMETYPE="[_a-zA-Z]+"\sGAMEKIND="[_a-zA-Z]+"\s
TABLECURRENCY="(?P<CURRENCY>[A-Z]+)"\s
LIMIT="(?P<LIMIT>NL|PL)"\s
STAKES="(?P<SB>[.0-9]+)/(?P<BB>[.0-9]+)"\s
DATE="(?P<DATETIME>[0-9]+)"\s
(TABLETOURNEYID=""\s)?
WIN="[.0-9]+"\sLOSS="[.0-9]+"
""", re.MULTILINE| re.VERBOSE)
re_SplitHands = re.compile('</HISTORY>')
re_HandInfo = re.compile("^Table \'(?P<TABLE>[- a-zA-Z]+)\'(?P<TABLEATTRIBUTES>.+?$)?", re.MULTILINE)
re_Button = re.compile('<ACTION TYPE="HAND_DEAL" PLAYER="(?P<BUTTON>[^"]+)">\n<CARD LINK="[0-9b]+"></CARD>\n<CARD LINK="[0-9b]+"></CARD></ACTION>\n<ACTION TYPE="ACTION_', re.MULTILINE)
@ -97,6 +103,7 @@ class Win2day(HandHistoryConverter):
raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp)
mg = m.groupdict()
#print "DEBUG: mg: %s" % mg
# translations from captured groups to our info strings
#limits = { 'NL':'nl', 'PL':'pl', 'Limit':'fl' }

View File

@ -44,8 +44,8 @@ class WinamaxSummary(TourneySummary):
}
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20AC|" # legal currency symbols
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac|" # legal currency symbols
}
re_GameType = re.compile("""<h1>((?P<LIMIT>No Limit|Pot Limit) (?P<GAME>Hold\'em))</h1>""")

View File

@ -52,10 +52,10 @@ class Winamax(HandHistoryConverter):
siteId = 14 # Needs to match id entry in Sites database
mixes = { } # Legal mixed games
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": "\xe2\x82\xac", "GBP": "\xa3"} # ADD Euro, Sterling, etc HERE
sym = {'USD': "\$", 'CAD': "\$", 'T$': "", "EUR": u"\xe2\x82\xac|\u20ac", "GBP": "\xa3"} # ADD Euro, Sterling, etc HERE
substitutions = {
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : "\$|\xe2\x82\xac|" # legal currency symbols - Euro(cp1252, utf-8)
'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP", # legal ISO currency codes
'LS' : u"\$|\xe2\x82\xac|\u20ac|" # legal currency symbols - Euro(cp1252, utf-8)
}
limits = { 'no limit':'nl', 'pot limit' : 'pl','LIMIT':'fl'}

View File

@ -170,7 +170,7 @@ class Importer:
def addImportFile(self, filename, site = "default", filter = "passthrough"):
#TODO: test it is a valid file -> put that in config!!
#print "addimportfile: filename is a", filename.__class__
# filename now comes in as unicode
# filename not guaranteed to be unicode
if filename in self.filelist or not os.path.exists(filename):
return
self.filelist[filename] = [site] + [filter]
@ -196,11 +196,10 @@ class Importer:
if os.path.isdir(inputPath):
for subdir in os.walk(inputPath):
for file in subdir[2]:
self.addImportFile(unicode(os.path.join(subdir[0], file),'utf-8'),
site=site, filter=filter)
self.addImportFile(os.path.join(subdir[0], file), site=site, filter=filter)
else:
self.addImportFile(unicode(inputPath,'utf-8'), site=site, filter=filter)
self.addImportFile(inputPath, site=site, filter=filter)
#Add a directory of files to filelist
#Only one import directory per site supported.
#dirlist is a hash of lists:
@ -242,7 +241,7 @@ class Importer:
#print "dropInd =", self.settings['dropIndexes'], " dropHudCache =", self.settings['dropHudCache']
if self.settings['threads'] <= 0:
(totstored, totdups, totpartial, toterrors) = self.importFiles(self.database, None)
(totstored, totdups, totpartial, toterrors) = self.importFiles(None)
else:
# create queue (will probably change to deque at some point):
self.writeq = Queue.Queue( self.settings['writeQSize'] )
@ -254,7 +253,7 @@ class Importer:
t.setDaemon(True)
t.start()
# read hands and write to q:
(totstored, totdups, totpartial, toterrors) = self.importFiles(self.database, self.writeq)
(totstored, totdups, totpartial, toterrors) = self.importFiles(self.writeq)
if self.writeq.empty():
print _("writers finished already")
@ -286,7 +285,7 @@ class Importer:
return (totstored, totdups, totpartial, toterrors, endtime-starttime)
# end def runImport
def importFiles(self, db, q):
def importFiles(self, q):
""""Read filenames in self.filelist and pass to import_file_dict().
Uses a separate database connection if created as a thread (caller
passes None or no param as db)."""
@ -304,7 +303,7 @@ class Importer:
ProgressDialog.progress_update()
(stored, duplicates, partial, errors, ttime) = self.import_file_dict(db, file
(stored, duplicates, partial, errors, ttime) = self.import_file_dict(file
,self.filelist[file][0], self.filelist[file][1], q)
totstored += stored
totdups += duplicates
@ -395,7 +394,7 @@ class Importer:
self.caller.addText("\n"+os.path.basename(file))
except KeyError: # TODO: What error happens here?
pass
(stored, duplicates, partial, errors, ttime) = self.import_file_dict(self.database, file, self.filelist[file][0], self.filelist[file][1], None)
(stored, duplicates, partial, errors, ttime) = self.import_file_dict(file, self.filelist[file][0], self.filelist[file][1], None)
try:
if not os.path.isdir(file): # Note: This assumes that whatever calls us has an "addText" func
self.caller.addText(" %d stored, %d duplicates, %d partial, %d errors (time = %f)" % (stored, duplicates, partial, errors, ttime))
@ -426,72 +425,75 @@ class Importer:
#rulog.close()
# This is now an internal function that should not be called directly.
def import_file_dict(self, db, file, site, filter, q=None):
#print "import_file_dict"
def import_file_dict(self, file, site, filter, q=None):
if os.path.isdir(file):
self.addToDirList[file] = [site] + [filter]
return (0,0,0,0,0)
conv = None
(stored, duplicates, partial, errors, ttime) = (0, 0, 0, 0, time())
# sc: is there any need to decode this? maybe easier to skip it than guess at the encoding?
#file = file.decode("utf-8") #(Configuration.LOCALE_ENCODING)
# Load filter, process file, pass returned filename to import_fpdb_file
if self.settings['threads'] > 0 and self.writeq is not None:
log.info((_("Converting %s") % file) + " (" + str(q.qsize()) + ")")
else:
log.info(_("Converting %s") % file)
log.info((_("Converting %s") % file) + " (" + str(q.qsize()) + ")")
else: log.info(_("Converting %s") % file)
filter_name = filter.replace("ToFpdb", "")
mod = __import__(filter)
obj = getattr(mod, filter_name, None)
if callable(obj):
idx = 0
if file in self.pos_in_file:
idx = self.pos_in_file[file]
else:
self.pos_in_file[file] = 0
hhc = obj( self.config, in_path = file, index = idx, starsArchive = self.settings['starsArchive'], ftpArchive = self.settings['ftpArchive'], sitename = site )
if file in self.pos_in_file: idx = self.pos_in_file[file]
else: self.pos_in_file[file], idx = 0, 0
hhc = obj( self.config, in_path = file, index = idx
,starsArchive = self.settings['starsArchive']
,ftpArchive = self.settings['ftpArchive']
,sitename = site )
if hhc.getStatus():
if self.caller: hhc.progressNotify()
handlist = hhc.getProcessedHands()
self.pos_in_file[file] = hhc.getLastCharacterRead()
to_hud = []
hp_bulk = []
ha_bulk = []
i = 0
(hbulk, hpbulk, habulk, hcbulk, phands, ihands, to_hud) = ([], [], [], [], [], [], [])
sc, gsc = {'bk': []}, {'bk': []}
####Lock Placeholder####
for hand in handlist:
i += 1
if hand is not None:
hand.prepInsert(self.database, printtest = self.settings['testData'])
try:
hp_inserts, ha_inserts = hand.insert(self.database, hp_data = hp_bulk,
ha_data = ha_bulk, insert_data = len(handlist)==i,
printtest = self.settings['testData'])
hp_bulk += hp_inserts
ha_bulk += ha_inserts
except Exceptions.FpdbHandDuplicate:
duplicates += 1
else:
if self.callHud and hand.dbid_hands != 0:
to_hud.append(hand.dbid_hands)
else: # TODO: Treat empty as an error, or just ignore?
log.error(_("Hand processed but empty"))
# Call hudcache update if not in bulk import mode
# FIXME: Need to test for bulk import that isn't rebuilding the cache
if self.callHud:
for hand in handlist:
if hand is not None and not hand.is_duplicate:
hand.updateHudCache(self.database)
hand.prepInsert(self.database, printtest = self.settings['testData'])
self.database.commit()
phands.append(hand)
####Lock Placeholder####
for hand in phands:
hand.assembleHand()
####Lock Placeholder####
id = self.database.nextHandId()
for i in range(len(phands)):
doinsert = len(phands)==i+1
hand = phands[i]
try:
id = hand.getHandId(self.database, id)
sc, gsc = hand.updateSessionsCache(self.database, sc, gsc, None, doinsert)
hbulk = hand.insertHands(self.database, hbulk, doinsert, self.settings['testData'])
hcbulk = hand.updateHudCache(self.database, hcbulk, doinsert)
ihands.append(hand)
to_hud.append(id)
except Exceptions.FpdbHandDuplicate:
duplicates += 1
self.database.commit()
####Lock Placeholder####
for i in range(len(ihands)):
doinsert = len(ihands)==i+1
hand = ihands[i]
hpbulk = hand.insertHandsPlayers(self.database, hpbulk, doinsert, self.settings['testData'])
habulk = hand.insertHandsActions(self.database, habulk, doinsert, self.settings['testData'])
self.database.commit()
#pipe the Hands.id out to the HUD
if self.caller:
if self.callHud:
for hid in to_hud:
try:
print _("fpdb_import: sending hand to hud"), hand.dbid_hands, "pipe =", self.caller.pipe_to_hud

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 34,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 32,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 13,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 46,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 26,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 41,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 24,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 50,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player9': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 5,
'boardcard5': 29,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 10,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Toulouse-2',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Villain': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': True,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Player1': { 'card1': 29,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 16,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 33,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 7,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 43,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 22,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
{ u'Hero': { 'card1': 9,
'card2': 17,
'card3': 13,
'card4': 48,
'card5': 37,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -110,6 +123,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 32,
'card17': 31,
'card18': 29,
'card19': 15,
'card20': 14,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -320,6 +359,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 21,
'card17': 7,
'card18': 6,
'card19': 30,
'card20': 40,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -627,4 +705,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 12,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u"David's Draw",
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
{ u'Hero': { 'card1': 1,
'card2': 24,
'card3': 42,
'card4': 35,
'card5': 27,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 6,
'card17': 32,
'card18': 33,
'card19': 17,
'card20': 15,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 49,
'card17': 19,
'card18': 30,
'card19': 28,
'card20': 14,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -522,4 +587,4 @@
'wonWhenSeenStreet1': 1.0,
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -0,0 +1,65 @@
FullTiltPoker Game #27088270000: Table harrington25 (6 max) - $1,500/$3,000 - Limit 2-7 Triple Draw - 11:00:00 ET - 2011/01/08
Seat 1: Player1 ($103,461)
Seat 2: Player2 ($120,106)
Seat 4: Hero ($57,750)
Seat 6: Player6 ($46,497.50)
Player1 posts the small blind of $750
Player2 posts the big blind of $1,500
The button is in seat #6
*** HOLE CARDS ***
Dealt to Hero [5s 3h 4c Qs 8d]
Hero raises to $3,000
Player6 raises to $4,500
Player1 folds
Player2 has 15 seconds left to act
Player2 raises to $6,000
Hero calls $3,000
Player6 calls $1,500
*** FIRST DRAW ***
Player2 discards 1 card
Hero discards 1 card [Qs]
Player6 discards 2 cards
Player2 is dealt 1 card
Dealt to Hero [5s 3h 4c 8d] [2h]
Player6 is dealt 2 cards
Player2 checks
Hero bets $1,500
Player6 raises to $3,000
Player2 calls $3,000
Hero raises to $4,500
Player6 raises to $6,000
Player2 calls $3,000
Hero calls $1,500
*** SECOND DRAW ***
Player2 discards 1 card
Hero stands pat on [5s 3h 4c 8d 2h]
Player6 has 15 seconds left to act
Player6 has requested TIME
Player6 stands pat
Player2 is dealt 1 card
Player2 checks
Hero checks
Player6 checks
*** THIRD DRAW ***
Player2 discards 1 card
Hero stands pat on [5s 3h 4c 8d 2h]
Player6 stands pat
Player2 is dealt 1 card
Player2 bets $3,000
Hero calls $3,000
Player6 folds
*** SHOW DOWN ***
Player2 shows [8s 6d 4s 3d 2c] 8,6,4,3,2
Hero shows [8d 5s 4c 3h 2h] 8,5,4,3,2
Hero wins the pot ($42,748) with 8,5,4,3,2
*** SUMMARY ***
Duration 106s
Total pot $42,750 | Rake $2
Seat 1: Player1 (small blind) folded before the draw
Seat 2: Player2 (big blind) showed [8s 6d 4s 3d 2c] and lost with 8,6,4,3,2
Seat 4: Hero showed [8d 5s 4c 3h 2h] and won ($42,748) with 8,5,4,3,2
Seat 6: Player6 (button) folded after the 3rd Draw

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 6,
@ -29,4 +30,4 @@
'street4Raises': 0,
'tableName': u'Rocky Cliff',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': True,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': True,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Shady Oak',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
{ u'Hero': { 'card1': 48,
'card2': 17,
'card3': 44,
'card4': 14,
'card5': 7,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -110,6 +123,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 6,
'card17': 19,
'card18': 45,
'card19': 11,
'card20': 50,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -215,6 +241,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 13,
'card17': 52,
'card18': 23,
'card19': 49,
'card20': 2,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -320,6 +359,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 10,
'card17': 36,
'card18': 40,
'card19': 1,
'card20': 12,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -522,4 +587,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 117,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Calla Lily',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
{ u'Hero': { 'card1': 7,
'card2': 6,
'card3': 32,
'card4': 50,
'card5': 10,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -110,6 +123,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 38,
'card17': 37,
'card18': 30,
'card19': 29,
'card20': 28,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -215,6 +241,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 49,
'card17': 36,
'card18': 21,
'card19': 47,
'card20': 43,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -627,4 +705,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Axe Handle',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
{ u'Hero': { 'card1': 24,
'card2': 10,
'card3': 38,
'card4': 11,
'card5': 41,
'card6': 24,
'card7': 11,
'card8': 32,
'card9': 26,
'card10': 28,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -215,6 +241,19 @@
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 34,
'card17': 47,
'card18': 21,
'card19': 39,
'card20': 40,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -417,4 +469,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 2,
'importTime': None,
'maxSeats': 7,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Laurelvale',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
{ u'Hero': { 'card1': 13,
'card2': 50,
'card3': 41,
'card4': 36,
'card5': 0,
'card6': 0,
'card7': 0,
'card6': 13,
'card7': 41,
'card8': 10,
'card9': 33,
'card10': 0,
'card11': 13,
'card12': 41,
'card13': 33,
'card14': 46,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card20': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -313,13 +352,27 @@
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
u'Player4': {
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 24,
'card17': 42,
'card18': 2,
'card19': 27,
'card20': 0,
'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -418,13 +471,27 @@
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
u'Player5': {
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 43,
'card17': 3,
'card18': 26,
'card19': 49,
'card20': 0,
'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +591,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +709,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 29,
'card17': 15,
'card18': 40,
'card19': 18,
'card20': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -732,4 +825,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 52,
'boardcard4': 17,
'boardcard5': 29,
'gameSessionId': 1,
'gametypeId': 99,
'importTime': None,
'maxSeats': 9,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Slaw',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 47,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 9,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 41,
'boardcard4': 42,
'boardcard5': 13,
'gameSessionId': 1,
'gametypeId': 21,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Vero',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'AllenCunningham': { 'card1': 19,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 27,
'card20': 0,
'card3': 51,
'card4': 26,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Erick Lindgren': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Shoe Lab': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'TexasLimitDonk': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'zbubop': { 'card1': 28,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 8,
'card20': 0,
'card3': 52,
'card4': 50,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -522,4 +587,4 @@
'wonWhenSeenStreet1': 1.0,
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 7,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Douai\u2013Lens',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 1,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 34,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': True,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': True,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 6,
'importTime': None,
'maxSeats': 9,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Flash',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 50,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 16,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'MANUTD': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'T0r3x': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'proud2Bwhack': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'ronaldd1969': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'shleekom': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'stark00': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'vision': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'yrthligar': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 8,
'boardcard4': 51,
'boardcard5': 5,
'gameSessionId': 1,
'gametypeId': 8,
'importTime': None,
'maxSeats': 6,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Gaines',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'B_Isreal22': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'DrZartinger': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Hero': { 'card1': 15,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 10,
'card20': 0,
'card3': 42,
'card4': 25,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'ShaDiv': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Timoha777': { 'card1': 24,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 23,
'card20': 0,
'card3': 16,
'card4': 50,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'rockinalex': { 'card1': 49,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 31,
'card20': 0,
'card3': 19,
'card4': 39,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'FILL A RACK': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 26,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Hero': { 'card1': 43,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 1,
'card20': 0,
'card3': 9,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'arjun1111': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 52,
'card4': 2,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'chasrigg': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 10,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'goulartarm': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 50,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'kwuiyhw': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 34,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'thebear666': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 45,
'card4': 11,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': True,
'foldToOtherRaisedStreet0': False,

View File

@ -0,0 +1,55 @@
Full Tilt Poker Game #29408130000: Table XGod_Of_WarX - $2/$4 Ante $0.40 - Limit Stud H/L - 01:12:00 ET - 2011/03/28
Seat 1: Player1 ($17.70)
Seat 2: Hero ($82.30)
Seat 3: Player3 ($81.70)
Seat 5: Player5 ($95.45)
Seat 6: Player6 ($43.60), is sitting out
Seat 7: Player7 ($435.15)
Seat 8: Player8 ($20.60)
Player5 antes $0.40
Player7 antes $0.40
Player1 antes $0.40
Hero antes $0.40
Player8 antes $0.40
Player3 antes $0.40
*** 3RD STREET ***
Dealt to Player1 [3c]
Dealt to Hero [5d Ah] [Ad]
Dealt to Player3 [7h]
Dealt to Player5 [4c]
Dealt to Player7 [8h]
Dealt to Player8 [5s]
Player1 is low with [3c]
Player1 brings in for $0.50
Hero completes it to $2
Player3 folds
Player5 calls $2
Player7 folds
Player7 is sitting out
Player8 folds
Player1 folds
*** 4TH STREET ***
Dealt to Hero [5d Ah Ad] [6h]
Dealt to Player5 [4c] [7c]
Hero bets $2
Player5 calls $2
*** 5TH STREET ***
Dealt to Hero [5d Ah Ad 6h] [5c]
Dealt to Player5 [4c 7c] [Tc]
Hero bets $4
Player5 folds
Uncalled bet of $4 returned to Hero
Hero mucks
Hero wins the pot ($10.90)
*** SUMMARY ***
Total pot $10.90 | Rake $0
Seat 1: Player1 folded on 3rd St.
Seat 2: Hero collected ($10.90), mucked
Seat 3: Player3 folded on 3rd St.
Seat 5: Player5 folded on 5th St.
Seat 6: Player6 is sitting out
Seat 7: Player7 folded on 3rd St.
Seat 8: Player8 folded on 3rd St.

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 5,
'importTime': None,
'maxSeats': 8,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Mart',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 18,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 25,
'card20': 0,
'card3': 42,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 40,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 4,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 32,
'card4': 33,
'card5': 16,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 51,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 5,
'card4': 8,
'card5': 30,
'card6': 14,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 45,
'card4': 26,
'card5': 7,
'card6': 28,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 8,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Mart',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 36,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 14,
'card20': 0,
'card3': 44,
'card4': 8,
'card5': 34,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 23,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 26,
'card4': 10,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 41,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 6,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 52,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 37,
'card4': 46,
'card5': 18,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 25,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 51,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player5': { 'card1': 24,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 11,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 50,
'boardcard4': 49,
'boardcard5': 48,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 10,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Dijon',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 19,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 22,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player10': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 26,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 7,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -100,12 +113,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -201,12 +227,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -302,12 +341,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 1,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 15,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -403,12 +455,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 16,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 34,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -504,12 +569,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'allout96': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 26,
'boardcard4': 9,
'boardcard5': 52,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 10,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Jerusalem',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 21,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 14,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player01': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player02': { 'card1': 49,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 6,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player03': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player04': { 'card1': 10,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 51,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'player05': { 'card1': 45,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 32,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player06': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'player07': { 'card1': 16,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 19,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -837,4 +941,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 49,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 9,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Lisypoker': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Tortozendo': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'potikuus': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'romkarnb': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'suicini03': { 'card1': 11,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 23,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': True,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 41,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 42,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'fblm2002': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'AAALISAAAA': { 'card1': 25,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 17,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Arbaz': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Bl\xe5veis': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Hero': { 'card1': 39,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 52,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Kinewma': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'bys7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 13,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 18,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': True,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Villain': { 'card1': 50,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 12,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 15,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 51,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player0': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 36,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 23,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 52,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 50,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'2TONTOM': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'CoinJock': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Hero': { 'card1': 50,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 9,
'card20': 0,
'card3': 28,
'card4': 2,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Mr NoNo! Srb': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'RadRandyF': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'jthegreat': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'ros-r-reed': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'skinner1947': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'toxic7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'123smoothie': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 29,
'card4': 28,
'card5': 47,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Hero': { 'card1': 32,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 41,
'card20': 0,
'card3': 4,
'card4': 37,
'card5': 38,
'card6': 18,
'card7': 16,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 1.0},
u'Soroka69': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 19,
'card4': 43,
'card5': 30,
'card6': 40,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'TomSludge': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 46,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'denny501': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 27,
'card4': 45,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'gashpor': { 'card1': 3,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 15,
'card20': 0,
'card3': 17,
'card4': 24,
'card5': 23,
'card6': 21,
'card7': 5,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 1.0},
u'rdiezchang': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 26,
'card4': 49,
'card5': 48,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'u.pressure': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 22,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 48,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 41,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER8': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'PLAYER9': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'VILLAIN1': { 'card1': 30,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 39,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'VILLAIN2': { 'card1': 45,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 31,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -0,0 +1,334 @@
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<HISTORY ID="9318553" SESSION="session3072685.xml" TABLE="TH Micro 5" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="CAD" LIMIT="NL" STAKES="0.02/0.04" DATE="1297983266" TABLETOURNEYID="" WIN="0.00" LOSS="0.04" ENDTIME="1297983379">
<PLAYER NAME="Hero" SEAT="9" AMOUNT="4.00"></PLAYER>
<PLAYER NAME="LeRoss" SEAT="8" AMOUNT="1.95"></PLAYER>
<PLAYER NAME="GossBuster" SEAT="1" AMOUNT="6.58"></PLAYER>
<PLAYER NAME="bbfern" SEAT="3" AMOUNT="5.87"></PLAYER>
<PLAYER NAME="marco99" SEAT="4" AMOUNT="3.68"></PLAYER>
<PLAYER NAME="mike13" SEAT="5" AMOUNT="2.60"></PLAYER>
<PLAYER NAME="captainzac" SEAT="6" AMOUNT="4.02"></PLAYER>
<PLAYER NAME="ronny2" SEAT="7" AMOUNT="16.21"></PLAYER>
<PLAYER NAME="pekinois" SEAT="10" AMOUNT="3.38"></PLAYER>
<ACTION TYPE="HAND_BLINDS" PLAYER="Hero" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_BLINDS" PLAYER="LeRoss" KIND="HAND_SB" VALUE="0.02"></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="LeRoss">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="Hero">
<CARD LINK="24"></CARD>
<CARD LINK="1"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="pekinois">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="GossBuster">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bbfern">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="marco99">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="mike13">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="captainzac">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="ronny2">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="GossBuster" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bbfern"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="marco99"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="mike13" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="captainzac"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="LeRoss" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="Hero"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_FLOP" POT="0.20">
<CARD LINK="31"></CARD>
<CARD LINK="42"></CARD>
<CARD LINK="40"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="LeRoss"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="Hero"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="mike13"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="ronny2"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_TURN" POT="0.19">
<CARD LINK="31"></CARD>
<CARD LINK="42"></CARD>
<CARD LINK="40"></CARD>
<CARD LINK="17"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="LeRoss"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="Hero"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="GossBuster" VALUE="0.40"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="mike13"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="ronny2"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="LeRoss"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="Hero"></ACTION>
<SHOWDOWN NAME="HAND_SHOWDOWN" POT="0.19" RAKE="0.01">
<RESULT PLAYER="GossBuster" WIN="0.19" HAND="$(STR_BY_DEFAULT)"></RESULT>
<RESULT PLAYER="bbfern" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="marco99" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="mike13" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="captainzac" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="ronny2" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="LeRoss" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="Hero" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="pekinois" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT></SHOWDOWN></HISTORY>
<HISTORY ID="9318733" SESSION="session3072685.xml" TABLE="TH Micro 5" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="CAD" LIMIT="NL" STAKES="0.02/0.04" DATE="1297983381" TABLETOURNEYID="" WIN="0.00" LOSS="0.02" ENDTIME="1297983468">
<PLAYER NAME="Hero" SEAT="9" AMOUNT="3.96"></PLAYER>
<PLAYER NAME="GossBuster" SEAT="1" AMOUNT="6.73"></PLAYER>
<PLAYER NAME="bbfern" SEAT="3" AMOUNT="5.87"></PLAYER>
<PLAYER NAME="marco99" SEAT="4" AMOUNT="3.68"></PLAYER>
<PLAYER NAME="mike13" SEAT="5" AMOUNT="2.56"></PLAYER>
<PLAYER NAME="captainzac" SEAT="6" AMOUNT="4.02"></PLAYER>
<PLAYER NAME="ronny2" SEAT="7" AMOUNT="16.17"></PLAYER>
<PLAYER NAME="LeRoss" SEAT="8" AMOUNT="1.91"></PLAYER>
<PLAYER NAME="pekinois" SEAT="10" AMOUNT="3.38"></PLAYER>
<ACTION TYPE="HAND_BLINDS" PLAYER="Hero" KIND="HAND_SB" VALUE="0.02"></ACTION>
<ACTION TYPE="HAND_BLINDS" PLAYER="pekinois" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="Hero">
<CARD LINK="4"></CARD>
<CARD LINK="1"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="pekinois">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="GossBuster">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bbfern">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="marco99">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="mike13">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="captainzac">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="ronny2">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="LeRoss">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="GossBuster" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="bbfern" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_RAISE" PLAYER="marco99" VALUE="0.12"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="mike13"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="captainzac"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.12"></ACTION>
<ACTION TYPE="ACTION_RAISE" PLAYER="LeRoss" VALUE="0.24"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="Hero"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="GossBuster" VALUE="0.24"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bbfern"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="marco99" VALUE="0.24"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.24"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_FLOP" POT="1.06">
<CARD LINK="18"></CARD>
<CARD LINK="32"></CARD>
<CARD LINK="10"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="marco99" VALUE="0.44"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.44"></ACTION>
<ACTION TYPE="ACTION_ALLIN" PLAYER="LeRoss" VALUE="1.67"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="ACTION_RAISE" PLAYER="marco99" VALUE="2.90"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="2.90"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_TURN" POT="8.11">
<CARD LINK="18"></CARD>
<CARD LINK="32"></CARD>
<CARD LINK="10"></CARD>
<CARD LINK="50"></CARD></ACTION>
<ACTION TYPE="ACTION_ALLIN" PLAYER="marco99" VALUE="0.54"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.54"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_RIVER" POT="9.13">
<CARD LINK="18"></CARD>
<CARD LINK="32"></CARD>
<CARD LINK="10"></CARD>
<CARD LINK="50"></CARD>
<CARD LINK="16"></CARD></ACTION>
<SHOWDOWN NAME="HAND_SHOWDOWN" POT="9.13" RAKE="0.48">
<RESULT PLAYER="ronny2" WIN="0.00" HAND="$(STR_G_MUCK)"></RESULT>
<RESULT PLAYER="GossBuster" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="bbfern" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="marco99" WIN="9.13" HAND="$(STR_G_WIN_THREEOFAKIND) $(STR_G_CARDS_SEVENS)">
<CARD LINK="19"></CARD>
<CARD LINK="6"></CARD></RESULT>
<RESULT PLAYER="mike13" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="captainzac" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="LeRoss" WIN="0.00" HAND="$(STR_G_MUCK)"></RESULT>
<RESULT PLAYER="Hero" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="pekinois" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT></SHOWDOWN></HISTORY>
<HISTORY ID="9318872" SESSION="session3072685.xml" TABLE="TH Micro 5" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="CAD" LIMIT="NL" STAKES="0.02/0.04" DATE="1297983470" TABLETOURNEYID="" WIN="0.00" LOSS="0.00" ENDTIME="1297983591">
<PLAYER NAME="GossBuster" SEAT="1" AMOUNT="6.49"></PLAYER>
<PLAYER NAME="marco99" SEAT="4" AMOUNT="9.13"></PLAYER>
<PLAYER NAME="Hero" SEAT="9" AMOUNT="3.94"></PLAYER>
<PLAYER NAME="bbfern" SEAT="3" AMOUNT="5.83"></PLAYER>
<PLAYER NAME="mike13" SEAT="5" AMOUNT="2.56"></PLAYER>
<PLAYER NAME="captainzac" SEAT="6" AMOUNT="4.02"></PLAYER>
<PLAYER NAME="ronny2" SEAT="7" AMOUNT="12.49"></PLAYER>
<PLAYER NAME="pekinois" SEAT="10" AMOUNT="3.34"></PLAYER>
<PLAYER NAME="bleue1945" SEAT="2" AMOUNT="4.00"></PLAYER>
<ACTION TYPE="HAND_BLINDS" PLAYER="GossBuster" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_BLINDS" PLAYER="pekinois" KIND="HAND_SB" VALUE="0.02"></ACTION>
<ACTION TYPE="HAND_BLINDS" PLAYER="bleue1945" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="pekinois">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="GossBuster">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bleue1945">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bbfern">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="marco99">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="mike13">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="captainzac">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="ronny2">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="Hero">
<CARD LINK="44"></CARD>
<CARD LINK="6"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bbfern"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="marco99" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="mike13" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="captainzac"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="Hero"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="pekinois" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_FLOP" POT="0.24">
<CARD LINK="0"></CARD>
<CARD LINK="34"></CARD>
<CARD LINK="11"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="marco99"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="mike13"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="ronny2" VALUE="0.24"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="pekinois" VALUE="0.24"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="GossBuster"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="marco99"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="mike13"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_TURN" POT="0.69">
<CARD LINK="0"></CARD>
<CARD LINK="34"></CARD>
<CARD LINK="11"></CARD>
<CARD LINK="35"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="ronny2" VALUE="0.72"></ACTION>
<ACTION TYPE="ACTION_RAISE" PLAYER="pekinois" VALUE="1.44"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="1.44"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_RIVER" POT="3.42">
<CARD LINK="0"></CARD>
<CARD LINK="34"></CARD>
<CARD LINK="11"></CARD>
<CARD LINK="35"></CARD>
<CARD LINK="38"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="ronny2" VALUE="3.60"></ACTION>
<ACTION TYPE="ACTION_ALLIN" PLAYER="pekinois" VALUE="1.62"></ACTION>
<SHOWDOWN NAME="HAND_SHOWDOWN" POT="6.50" RAKE="0.34">
<RESULT PLAYER="bleue1945" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="bbfern" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="marco99" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="mike13" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="captainzac" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="ronny2" WIN="0.00" HAND="$(STR_G_WIN_PAIR) $(STR_G_CARDS_ACES)">
<CARD LINK="41"></CARD>
<CARD LINK="39"></CARD></RESULT>
<RESULT PLAYER="Hero" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="pekinois" WIN="6.50" HAND="$(STR_G_WIN_TWOPAIR) $(STR_G_CARDS_QUEENS) $(STR_G_ANDTEXT) $(STR_G_CARDS_TENS)">
<CARD LINK="9"></CARD>
<CARD LINK="24"></CARD></RESULT></SHOWDOWN></HISTORY>
<HISTORY ID="9319068" SESSION="session3072685.xml" TABLE="TH Micro 5" GAME="GAME_THM" GAMETYPE="GAMETYPE_REAL" GAMEKIND="GAMEKIND_CASH" TABLECURRENCY="CAD" LIMIT="NL" STAKES="0.02/0.04" DATE="1297983596" TABLETOURNEYID="" WIN="0.00" LOSS="0.04" ENDTIME="1297983655">
<PLAYER NAME="bleue1945" SEAT="2" AMOUNT="3.96"></PLAYER>
<PLAYER NAME="Hero" SEAT="9" AMOUNT="3.94"></PLAYER>
<PLAYER NAME="bbfern" SEAT="3" AMOUNT="5.83"></PLAYER>
<PLAYER NAME="marco99" SEAT="4" AMOUNT="9.09"></PLAYER>
<PLAYER NAME="mike13" SEAT="5" AMOUNT="2.52"></PLAYER>
<PLAYER NAME="captainzac" SEAT="6" AMOUNT="4.02"></PLAYER>
<PLAYER NAME="ronny2" SEAT="7" AMOUNT="9.15"></PLAYER>
<PLAYER NAME="anniev555" SEAT="8" AMOUNT="1.00"></PLAYER>
<PLAYER NAME="pekinois" SEAT="10" AMOUNT="6.50"></PLAYER>
<ACTION TYPE="HAND_BLINDS" PLAYER="bleue1945" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_BLINDS" PLAYER="anniev555" KIND="HAND_BB" VALUE="0.04"></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bleue1945">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="bbfern">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="marco99">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="mike13">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="captainzac">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="ronny2">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="anniev555">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="Hero">
<CARD LINK="29"></CARD>
<CARD LINK="3"></CARD></ACTION>
<ACTION TYPE="HAND_DEAL" PLAYER="pekinois">
<CARD LINK="b"></CARD>
<CARD LINK="b"></CARD></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bbfern"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="marco99" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="mike13" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="captainzac"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="ronny2" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="anniev555"></ACTION>
<ACTION TYPE="ACTION_CALL" PLAYER="Hero" VALUE="0.04"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="pekinois"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="HAND_BOARD" VALUE="BOARD_FLOP" POT="0.24">
<CARD LINK="47"></CARD>
<CARD LINK="8"></CARD>
<CARD LINK="23"></CARD></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="ACTION_CHECK" PLAYER="marco99"></ACTION>
<ACTION TYPE="ACTION_BET" PLAYER="mike13" VALUE="0.16"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="ronny2"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="anniev555"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="Hero"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="bleue1945"></ACTION>
<ACTION TYPE="ACTION_FOLD" PLAYER="marco99"></ACTION>
<SHOWDOWN NAME="HAND_SHOWDOWN" POT="0.23" RAKE="0.01">
<RESULT PLAYER="bleue1945" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="bbfern" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="marco99" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="mike13" WIN="0.23" HAND="$(STR_BY_DEFAULT)"></RESULT>
<RESULT PLAYER="captainzac" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="ronny2" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="anniev555" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="Hero" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT>
<RESULT PLAYER="pekinois" WIN="0.00" HAND="$(STR_G_FOLD)"></RESULT></SHOWDOWN></HISTORY></ROOT>

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 8,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 19,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Villain': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Villain': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 20,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 7,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 10,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 42,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 39,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 32,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player9': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -942,4 +1059,4 @@
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 51,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 9,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 8,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 44,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 19,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 20,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player9': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -3,6 +3,7 @@
'boardcard3': 11,
'boardcard4': 51,
'boardcard5': 4,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 9,
@ -16,7 +17,7 @@
'sessionId': None,
'showdownPot': 0,
'siteHandNo': u'910116281298310000',
'startTime': datetime.datetime(2011, 2, 21, 19, 12, 0, tzinfo=pytz.utc),
'startTime': datetime.datetime(2011, 2, 21, 19, 12, tzinfo=pytz.utc),
'street0Raises': 3,
'street1Pot': 1370,
'street1Raises': 0,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'Joue-les-Tours',
'texture': None,
'tourneyId': None}
'tourneyId': None}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 25,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 12,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player1': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player2': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player3': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player4': { 'card1': 49,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 23,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player6': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player8': { 'card1': 50,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 24,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player9': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 8,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 28,
'card20': 0,
'card3': 3,
'card4': 29,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player10': { 'card1': 32,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 19,
'card20': 0,
'card3': 5,
'card4': 46,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -209,12 +235,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player14': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -314,12 +353,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player17': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -419,12 +471,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player20': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -524,12 +589,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player22': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -629,12 +707,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player25': { 'card1': 47,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 12,
'card20': 0,
'card3': 15,
'card4': 51,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -734,12 +825,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Player5': { 'card1': 0,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 0,
'card20': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -839,12 +943,25 @@
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Player7': { 'card1': 26,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 36,
'card20': 0,
'card3': 10,
'card4': 31,
'card5': 0,
'card6': 0,
'card7': 0,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -942,4 +1059,4 @@
'wonWhenSeenStreet1': 1.0,
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0}}
'wonWhenSeenStreet4': 0.0}}

View File

@ -0,0 +1,3 @@
TID_876731-3.txt - NLHE-USD-STT-Unk-200910.Sample.txt
TID_1337923-1.txt - NLHE-USD-STT-Unk-201102.Sample.txt

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,349 @@
Everleaf Gaming Game #108001000
***** Hand history for game #108001000 *****
Blinds 75/150 NL Hold'em - 2009/10/03 - 02:49:09
Table 3
Seat 7 is the button
Total number of players: 10
Seat 1: Player1 ( 2353 )
Seat 2: Player2 ( 1370 )
Seat 3: Hero ( 2055 )
Seat 4: Player4 ( 2360 )
Seat 5: Player5 ( 3695 )
Seat 6: Player6 ( 1622 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1695 )
Seat 9: Player9 ( 2775 )
Seat 10: Player10 ( 1905 )
Player8: posts small blind [$ 75]
Player9: posts big blind [$ 150]
** Dealing down cards **
Dealt to Hero [ 4h, Th ]
Player10 folds
Player1 folds
Player2 folds
Hero folds
Player4 raises [$ 525]
Player5 folds
Player6 folds
Player7 folds
Player8 folds
Player9 folds
Player4 does not show cards
Player4 wins 375 chips from main pot
Everleaf Gaming Game #108001110
***** Hand history for game #108001110 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:50:26
Table 3
Seat 8 is the button
Total number of players: 10
Seat 1: Player1 ( 2353 )
Seat 2: Player2 ( 1370 )
Seat 3: Hero ( 2055 )
Seat 4: Player4 ( 2585 )
Seat 5: Player5 ( 3695 )
Seat 6: Player6 ( 1622 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1620 )
Seat 9: Player9 ( 2625 )
Seat 10: Player10 ( 1905 )
Player9: posts small blind [$ 100]
Player10: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ 5s, 8c ]
Player1 folds
Player2 raises [$ 700]
Hero folds
Player4 folds
Player5 calls [$ 700]
Player6 raises [$ 1622]
Player7 folds
Player8 folds
Player9 folds
Player10 folds
Player2 calls [$ 670]
Player5 calls [$ 922]
** Dealing Flop ** [ 4d, 9d, Kc ]
** Dealing Turn ** [ 3c ]
** Dealing River ** [ 3h ]
Player6 wins 4410 chips from main pot with two pairs, kings and threes [ Kd, Kc, Jd, 3c, 3h ]
Player6 wins 504 chips from side pot with two pairs, kings and threes [ Kd, Kc, Jd, 3c, 3h ]
Everleaf Gaming Game #108001206
***** Hand history for game #108001206 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:51:35
Table 3
Seat 9 is the button
Total number of players: 9
Seat 1: Player1 ( 2353 )
Seat 3: Hero ( 2055 )
Seat 4: Player4 ( 2585 )
Seat 5: Player5 ( 2073 )
Seat 6: Player6 ( 4914 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1620 )
Seat 9: Player9 ( 2525 )
Seat 10: Player10 ( 1705 )
Player10: posts small blind [$ 100]
Player1: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ Qc, Tc ]
Hero folds
Player4 folds
Player5 folds
Player6 folds
Player7 folds
Player8 folds
Player9 folds
Player10 raises [$ 300]
Player1 calls [$ 200]
** Dealing Flop ** [ Ks, 9d, 7d ]
Player10: bets [$ 1305]
Player1 calls [$ 1305]
** Dealing Turn ** [ 5s ]
** Dealing River ** [ 3c ]
Player10 wins 3410 chips from main pot with a straight, nine high [ 9d, 8s, 7d, 6c, 5s ]
Everleaf Gaming Game #108001281
***** Hand history for game #108001281 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:52:33
Table 3
Seat 10 is the button
Total number of players: 9
Seat 1: Player1 ( 648 )
Seat 3: Hero ( 2055 )
Seat 4: Player4 ( 2585 )
Seat 5: Player5 ( 2073 )
Seat 6: Player6 ( 4914 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1620 )
Seat 9: Player9 ( 2525 )
Seat 10: Player10 ( 3410 )
Player1: posts small blind [$ 100]
Hero: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ 7c, 5s ]
Player4 folds
Player5 calls [$ 200]
Player6 folds
Player7 folds
Player8 folds
Player9 folds
Player10 folds
Player1 raises [$ 548]
Hero folds
Player5 calls [$ 448]
** Dealing Flop ** [ Ad, 6s, As ]
** Dealing Turn ** [ 2c ]
** Dealing River ** [ 7h ]
Player5 wins 1496 chips from main pot with two pairs, aces and sevens [ Ad, As, Qd, 7d, 7h ]
Everleaf Gaming Game #108001377
***** Hand history for game #108001377 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:53:37
Table 3
Seat 10 is the button
Total number of players: 8
Seat 3: Hero ( 1855 )
Seat 4: Player4 ( 2585 )
Seat 5: Player5 ( 2921 )
Seat 6: Player6 ( 4914 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1620 )
Seat 9: Player9 ( 2525 )
Seat 10: Player10 ( 3410 )
Hero: posts small blind [$ 100]
Player4: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ Jd, 8c ]
Player5 raises [$ 2921]
Player6 folds
Player7 folds
Player8 folds
Player9 folds
Player10 folds
Hero folds
Player4 folds
Player5 does not show cards
Player5 wins 500 chips from main pot
Everleaf Gaming Game #108001462
***** Hand history for game #108001462 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:54:33
Table 3
Seat 3 is the button
Total number of players: 8
Seat 3: Hero ( 1755 )
Seat 4: Player4 ( 2385 )
Seat 5: Player5 ( 3221 )
Seat 6: Player6 ( 4914 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1620 )
Seat 9: Player9 ( 2525 )
Seat 10: Player10 ( 3410 )
Player4: posts small blind [$ 100]
Player5: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ 4d, 5h ]
Player6 folds
Player7 folds
Player8 calls [$ 200]
Player9 calls [$ 200]
Player10 raises [$ 3410]
Hero folds
Player4 folds
Player5 folds
Player8 folds
Player9 folds
Player10 does not show cards
Player10 wins 900 chips from main pot
Everleaf Gaming Game #108001559
***** Hand history for game #108001559 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:55:44
Table 3
Seat 4 is the button
Total number of players: 8
Seat 3: Hero ( 1755 )
Seat 4: Player4 ( 2285 )
Seat 5: Player5 ( 3021 )
Seat 6: Player6 ( 4914 )
Seat 7: Player7 ( 4670 )
Seat 8: Player8 ( 1420 )
Seat 9: Player9 ( 2325 )
Seat 10: Player10 ( 4110 )
Player5: posts small blind [$ 100]
Player6: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ 4h, 5d ]
Player7 folds
Player8 raises [$ 400]
Player9 calls [$ 400]
Player10 folds
Hero folds
Player4 folds
Player5 calls [$ 300]
Player6 folds
** Dealing Flop ** [ Td, Ad, Ks ]
Player5 checks
Player8: bets [$ 200]
Player9 raises [$ 1925]
Player5 folds
Player8 calls [$ 820]
** Dealing Turn ** [ Kd ]
** Dealing River ** [ 5h ]
Player9 wins 3440 chips from main pot with two pairs, aces and kings [ Ah, Ad, Ks, Kd, Qc ] with kicker [ Qh ]
Everleaf Gaming Game #108001673
***** Hand history for game #108001673 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:57:09
Table 3
Seat 5 is the button
Total number of players: 7
Seat 3: Hero ( 1755 )
Seat 4: Player4 ( 2285 )
Seat 5: Player5 ( 2621 )
Seat 6: Player6 ( 4714 )
Seat 7: Player7 ( 4670 )
Seat 9: Player9 ( 4345 )
Seat 10: Player10 ( 4110 )
Player6: posts small blind [$ 100]
Player7: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ Ad, 6h ]
Player9 folds
Player10 folds
Hero raises [$ 700]
Player4 folds
Player5 folds
Player6 folds
Player7 folds
Hero does not show cards
Hero wins 500 chips from main pot
Everleaf Gaming Game #108001736
***** Hand history for game #108001736 *****
Blinds 100/200 NL Hold'em - 2009/10/03 - 02:57:56
Table 3
Seat 6 is the button
Total number of players: 7
Seat 3: Hero ( 2055 )
Seat 4: Player4 ( 2285 )
Seat 5: Player5 ( 2621 )
Seat 6: Player6 ( 4614 )
Seat 7: Player7 ( 4470 )
Seat 9: Player9 ( 4345 )
Seat 10: Player10 ( 4110 )
Player7: posts small blind [$ 100]
Player9: posts big blind [$ 200]
** Dealing down cards **
Dealt to Hero [ 9s, Kh ]
Player10 folds
Hero folds
Player4 folds
Player5 calls [$ 200]
Player6 raises [$ 400]
Player7 folds
Player9 folds
Player5 calls [$ 200]
** Dealing Flop ** [ 7h, 8d, Ts ]
Player5 checks
Player6: bets [$ 200]
Player5 folds
Player6 does not show cards
Player6 wins 1100 chips from main pot
Everleaf Gaming Game #108000928
***** Hand history for game #108000928 *****
Blinds 75/150 NL Hold'em - 2009/10/03 - 02:48:18
Table 3
Seat 6 is the button
Total number of players: 10
Seat 1: Player1 ( 2353 )
Seat 2: Player2 ( 1370 )
Seat 3: Hero ( 1830 )
Seat 4: Player4 ( 2360 )
Seat 5: Player5 ( 3695 )
Seat 6: Player6 ( 1622 )
Seat 7: Player7 ( 4745 )
Seat 8: Player8 ( 1845 )
Seat 9: Player9 ( 2775 )
Seat 10: Player10 ( 1905 )
Player7: posts small blind [$ 75]
Player8: posts big blind [$ 150]
** Dealing down cards **
Dealt to Hero [ 7s, 7c ]
Player9 folds
Player10 folds
Player1 folds
Player2 folds
Hero raises [$ 525]
Player4 folds
Player5 folds
Player6 folds
Player7 folds
Player8 folds
Hero does not show cards
Hero wins 375 chips from main pot

View File

@ -3,6 +3,7 @@
'boardcard3': 0,
'boardcard4': 0,
'boardcard5': 0,
'gameSessionId': 1,
'gametypeId': 1,
'importTime': None,
'maxSeats': 2,
@ -28,4 +29,4 @@
'street4Raises': 0,
'tableName': u'220338000 1',
'texture': None,
'tourneyId': 1}
'tourneyId': 1}

View File

@ -1,10 +1,23 @@
{ u'Hero': { 'card1': 17,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 44,
'card20': 0,
'card3': 40,
'card4': 22,
'card5': 10,
'card6': 1,
'card7': 37,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
@ -104,12 +117,25 @@
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 1.0},
u'Villain': { 'card1': 52,
'card10': 0,
'card11': 0,
'card12': 0,
'card13': 0,
'card14': 0,
'card15': 0,
'card16': 0,
'card17': 0,
'card18': 0,
'card19': 0,
'card2': 32,
'card20': 0,
'card3': 38,
'card4': 49,
'card5': 42,
'card6': 19,
'card7': 35,
'card8': 0,
'card9': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,

View File

@ -0,0 +1,42 @@
PokerStars Game #47282250043: Tournament #294435598, $2.00+$0.20 USD Mixed Hold'em (Hold'em Limit) - Level I (40/80) - 2010/07/26 4:19:43 ET
Table '294435598 1' 6-max Seat #4 is the button
Seat 2: Player2 (1480 in chips)
Seat 3: Player3 (2940 in chips)
Seat 4: Player4 (2420 in chips)
Seat 5: Player5 (1780 in chips)
Seat 6: Hero (2000 in chips)
Player5: posts small blind 20
Hero: posts big blind 40
*** HOLE CARDS ***
Dealt to Hero [7c 3c]
Player2: raises 40 to 80
Player3: folds
Player4: folds
Player5: calls 60
Hero: folds
*** FLOP *** [Jh Ah 4h]
Player5: checks
Player2: bets 40
Player5: raises 40 to 80
Player2: calls 40
*** TURN *** [Jh Ah 4h] [5s]
Player5: checks
Player2: checks
*** RIVER *** [Jh Ah 4h 5s] [4d]
Player5: bets 80
Player2: calls 80
*** SHOW DOWN ***
Player5: shows [4c As] (a full house, Fours full of Aces)
Player2: mucks hand
Player5 collected 520 from pot
*** SUMMARY ***
Total pot 520 | Rake 0
Board [Jh Ah 4h 5s 4d]
Seat 2: Player2 mucked [9h Js]
Seat 3: Player3 folded before Flop (didn't bet)
Seat 4: Player4 (button) folded before Flop (didn't bet)
Seat 5: Player5 (small blind) showed [4c As] and won (520) with a full house, Fours full of Aces
Seat 6: Hero (big blind) folded before Flop

View File

@ -0,0 +1,50 @@
PokerStars Game #47282318621: Tournament #294435598, $2.00+$0.20 USD Mixed Hold'em (Hold'em No Limit) - Level II (10/20) - 2010/07/26 4:23:42 ET
Table '294435598 1' 6-max Seat #5 is the button
Seat 1: Player1 (2300 in chips)
Seat 2: Player2 (1240 in chips)
Seat 3: Player3 (2880 in chips)
Seat 4: Player4 (2300 in chips)
Seat 5: Player5 (2500 in chips)
Seat 6: Hero (1400 in chips)
Hero: posts small blind 10
Player1: posts big blind 20
*** HOLE CARDS ***
Dealt to Hero [9d 3d]
Player2: raises 60 to 80
Player3: calls 80
Player4: calls 80
Player5 is disconnected
Player5 has timed out while disconnected
Player5: folds
Player5 is sitting out
Hero: folds
Player1: folds
*** FLOP *** [7c Qs Kd]
Player2: bets 40
Player3: folds
Player4: raises 60 to 100
Player2: calls 60
*** TURN *** [7c Qs Kd] [8h]
Player2: checks
Player4: bets 100
Player2: calls 100
*** RIVER *** [7c Qs Kd 8h] [6s]
Player2: checks
Player4: bets 200
Player2: calls 200
*** SHOW DOWN ***
Player4: shows [Qd Kh] (two pair, Kings and Queens)
Player2: mucks hand
Player4 collected 1070 from pot
*** SUMMARY ***
Total pot 1070 | Rake 0
Board [7c Qs Kd 8h 6s]
Seat 1: Player1 (big blind) folded before Flop
Seat 2: Player2 mucked [Ad 8d]
Seat 3: Player3 folded on the Flop
Seat 4: Player4 showed [Qd Kh] and won (1070) with two pair, Kings and Queens
Seat 5: Player5 (button) folded before Flop (didn't bet)
Seat 6: Hero (small blind) folded before Flop

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff