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

This commit is contained in:
Eric Blade 2011-03-17 23:38:38 -04:00
commit 9a073765f7
21 changed files with 884 additions and 37 deletions

View File

@ -55,8 +55,9 @@ class Absolute(HandHistoryConverter):
(?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s? (?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
(?P<CURRENCY>\$|\s|) (?P<CURRENCY>\$|\s|)
(?P<SB>[.,0-9]+)/?(?:\$|\s|)(?P<BB>[.,0-9]+)? (?P<SB>[.,0-9]+)/?(?:\$|\s|)(?P<BB>[.,0-9]+)?
\s+-\s+ \s+
(?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)\s+ ((?P<TTYPE>(Turbo))\s+)?-\s+
((?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)(\.\d+)?)\s+
(?: \( (?P<TZ>[A-Z]+) \)\s+ )? (?: \( (?P<TZ>[A-Z]+) \)\s+ )?
.*? .*?
(Table:\ (?P<TABLE>.*?)\ \(Real\ Money\))? (Table:\ (?P<TABLE>.*?)\ \(Real\ Money\))?

View File

@ -98,7 +98,7 @@ def twoStartCardString(card):
if x == y: ret = s[x] + s[y] if x == y: ret = s[x] + s[y]
elif x > y: ret = s[x] + s[y] + 's' elif x > y: ret = s[x] + s[y] + 's'
else: ret = s[y] + s[x] + 'o' else: ret = s[y] + s[x] + 'o'
print "twoStartCardString(", card ,") = " + ret #print "twoStartCardString(", card ,") = " + ret
return ret return ret
def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4): def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4):

BIN
pyfpdb/Cards02.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

View File

@ -2359,8 +2359,9 @@ class Database:
def createOrUpdateTourney(self, hand, source):#note: this method is used on Hand and TourneySummary objects def createOrUpdateTourney(self, hand, source):#note: this method is used on Hand and TourneySummary objects
cursor = self.get_cursor() cursor = self.get_cursor()
cursor.execute (self.sql.query['getTourneyByTourneyNo'].replace('%s', self.sql.query['placeholder']), q = self.sql.query['getTourneyByTourneyNo'].replace('%s', self.sql.query['placeholder'])
(hand.siteId, hand.tourNo)) cursor.execute(q, (hand.siteId, hand.tourNo))
columnNames=[desc[0] for desc in cursor.description] columnNames=[desc[0] for desc in cursor.description]
result=cursor.fetchone() result=cursor.fetchone()
@ -2385,9 +2386,12 @@ class Database:
# if (resultDict[ev] < hand.startTime): # if (resultDict[ev] < hand.startTime):
# hand.startTime=resultDict[ev] # hand.startTime=resultDict[ev]
if updateDb: if updateDb:
cursor.execute (self.sql.query['updateTourney'].replace('%s', self.sql.query['placeholder']), q = self.sql.query['updateTourney'].replace('%s', self.sql.query['placeholder'])
(hand.entries, hand.prizepool, hand.startTime, hand.endTime, hand.tourneyName, row = (hand.entries, hand.prizepool, hand.startTime, hand.endTime, hand.tourneyName,
hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount, hand.comment, hand.commentTs, tourneyId)) hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount, hand.comment,
hand.commentTs, tourneyId
)
cursor.execute(q, row)
else: else:
if source=="HHC": if source=="HHC":
cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']), cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']),
@ -2436,9 +2440,19 @@ class Database:
elif getattr(hand, handAttribute)[player]!=None and resultDict[ev]==None:#object has this value but DB doesnt, so update DB elif getattr(hand, handAttribute)[player]!=None and resultDict[ev]==None:#object has this value but DB doesnt, so update DB
updateDb=True updateDb=True
if updateDb: if updateDb:
cursor.execute (self.sql.query['updateTourneysPlayer'].replace('%s', self.sql.query['placeholder']), q = self.sql.query['updateTourneysPlayer'].replace('%s', self.sql.query['placeholder'])
(hand.ranks[player], hand.winnings[player], hand.winningsCurrency[player], inputs = (hand.ranks[player],
hand.rebuyCounts[player], hand.addOnCounts[player], hand.koCounts[player], tourneysPlayersIds[player[1]])) hand.winnings[player],
hand.winningsCurrency[player],
hand.rebuyCounts[player],
hand.addOnCounts[player],
hand.koCounts[player],
tourneysPlayersIds[player[1]]
)
#print q
#pp = pprint.PrettyPrinter(indent=4)
#pp.pprint(inputs)
cursor.execute(q, inputs)
else: else:
if source=="HHC": if source=="HHC":
cursor.execute (self.sql.query['insertTourneysPlayer'].replace('%s', self.sql.query['placeholder']), cursor.execute (self.sql.query['insertTourneysPlayer'].replace('%s', self.sql.query['placeholder']),

View File

@ -74,7 +74,7 @@ class Fulltilt(HandHistoryConverter):
(Ante\s\$?(?P<ANTE>[%(NUM)s]+)\s)?-\s (Ante\s\$?(?P<ANTE>[%(NUM)s]+)\s)?-\s
[%(LS)s]?(?P<CAP>[%(NUM)s]+\sCap\s)? [%(LS)s]?(?P<CAP>[%(NUM)s]+\sCap\s)?
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?\s (?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?\s
(?P<GAME>(Hold\'em|Omaha\sHi|Omaha\sH/L|Omaha|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi|2-7\sTriple\sDraw|5\sCard\sDraw|Badugi)) (?P<GAME>(Hold\'em|Omaha(\sH/L|\sHi/Lo|\sHi|)|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi|2-7\sTriple\sDraw|5\sCard\sDraw|Badugi))
''' % substitutions, re.VERBOSE) ''' % substitutions, re.VERBOSE)
re_SplitHands = re.compile(r"\n\n\n+") re_SplitHands = re.compile(r"\n\n\n+")
re_TailSplitHands = re.compile(r"(\n\n+)") re_TailSplitHands = re.compile(r"(\n\n+)")
@ -114,7 +114,7 @@ class Fulltilt(HandHistoryConverter):
(\((?P<TURBO1>Turbo)\)\s)? (\((?P<TURBO1>Turbo)\)\s)?
\((?P<TOURNO>\d+)\)\s \((?P<TOURNO>\d+)\)\s
((?P<MATCHNO>Match\s\d)\s)? ((?P<MATCHNO>Match\s\d)\s)?
(?P<GAME>(Hold\'em|Omaha\sHi|Omaha\sH/L|Omaha|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi))\s (?P<GAME>(Hold\'em|Omaha(\sHi/Lo|\sH/L|\sHi|)|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi))\s
(\((?P<TURBO2>Turbo)\)\s)? (\((?P<TURBO2>Turbo)\)\s)?
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))? (?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?
''' % substitutions, re.VERBOSE) ''' % substitutions, re.VERBOSE)
@ -198,11 +198,6 @@ class Fulltilt(HandHistoryConverter):
] ]
def determineGameType(self, handText): def determineGameType(self, handText):
# Full Tilt Poker Game #10777181585: Table Deerfly (deep 6) - $0.01/$0.02 - Pot Limit Omaha Hi - 2:24:44 ET - 2009/02/22
# Full Tilt Poker Game #10773265574: Table Butte (6 max) - $0.01/$0.02 - Pot Limit Hold'em - 21:33:46 ET - 2009/02/21
# Full Tilt Poker Game #9403951181: Table CR - tay - $0.05/$0.10 - No Limit Hold'em - 9:40:20 ET - 2008/12/09
# Full Tilt Poker Game #10809877615: Table Danville - $0.50/$1 Ante $0.10 - Limit Razz - 21:47:27 ET - 2009/02/23
# Full Tilt Poker.fr Game #23057874034: Table DouaiLens (6 max) - €0.01/€0.02 - No Limit Hold'em - 21:59:17 CET - 2010/08/13
info = {'type':'ring'} info = {'type':'ring'}
m = self.re_GameInfo.search(handText) m = self.re_GameInfo.search(handText)
@ -220,6 +215,7 @@ class Fulltilt(HandHistoryConverter):
'Omaha Hi' : ('hold','omahahi'), 'Omaha Hi' : ('hold','omahahi'),
'Omaha' : ('hold','omahahi'), 'Omaha' : ('hold','omahahi'),
'Omaha H/L' : ('hold','omahahilo'), 'Omaha H/L' : ('hold','omahahilo'),
'Omaha Hi/Lo' : ('hold','omahahilo'),
'Razz' : ('stud','razz'), 'Razz' : ('stud','razz'),
'Stud Hi' : ('stud','studhi'), 'Stud Hi' : ('stud','studhi'),
'Stud H/L' : ('stud','studhilo'), 'Stud H/L' : ('stud','studhilo'),

View File

@ -335,7 +335,7 @@ class PartyPoker(HandHistoryConverter):
hand.fee = 0 hand.fee = 0
hand.buyinCurrency = "FREE" hand.buyinCurrency = "FREE"
hand.isKO = False hand.isKO = False
if hand.tourNo != None: elif hand.tourNo != None:
hand.buyin = 0 hand.buyin = 0
hand.fee = 0 hand.fee = 0
hand.buyinCurrency = "FREE" hand.buyinCurrency = "FREE"

View File

@ -115,7 +115,7 @@ class PokerStars(HandHistoryConverter):
re.MULTILINE|re.VERBOSE) re.MULTILINE|re.VERBOSE)
re_HandInfo = re.compile(""" re_HandInfo = re.compile("""
^Table\s\'(?P<TABLE>[-\ \#a-zA-Z\d]+)\'\s ^Table\s\'(?P<TABLE>[-\ \#a-zA-Z\d\']+)\'\s
((?P<MAX>\d+)-max\s)? ((?P<MAX>\d+)-max\s)?
(?P<PLAY>\(Play\sMoney\)\s)? (?P<PLAY>\(Play\sMoney\)\s)?
(Seat\s\#(?P<BUTTON>\d+)\sis\sthe\sbutton)?""", (Seat\s\#(?P<BUTTON>\d+)\sis\sthe\sbutton)?""",

View File

@ -16,6 +16,8 @@
#In the "official" distribution you can find the license in agpl-3.0.txt #In the "official" distribution you can find the license in agpl-3.0.txt
"""A script for fetching Winamax tourney results""" """A script for fetching Winamax tourney results"""
import L10n
_ = L10n.get_translation()
import Configuration import Configuration
import Database import Database

View File

@ -138,14 +138,14 @@ def main(argv=None):
#CarbonErrors = FpdbError('Carbon') #CarbonErrors = FpdbError('Carbon')
#PKRErrors = FpdbError('PKR') #PKRErrors = FpdbError('PKR')
#iPokerErrors = FpdbError('iPoker') #iPokerErrors = FpdbError('iPoker')
#WinamaxErrors = FpdbError('Winamax') WinamaxErrors = FpdbError('Winamax')
ErrorsList = [ ErrorsList = [
PokerStarsErrors, PokerStarsErrors, FTPErrors, WinamaxErrors,
FTPErrors, #PartyPokerErrors, #PartyPokerErrors,
#BetfairErrors, OnGameErrors, AbsoluteErrors, #BetfairErrors, OnGameErrors, AbsoluteErrors,
#EverleafErrors, CarbonErrors, PKRErrors, #EverleafErrors, CarbonErrors, PKRErrors,
#iPokerErrors, WinamaxErrors, UltimateBetErrors, #iPokerErrors, UltimateBetErrors,
] ]
sites = { sites = {
@ -160,7 +160,7 @@ def main(argv=None):
#'Carbon' : True, #'Carbon' : True,
#'PKR' : False, #'PKR' : False,
#'iPoker' : True, #'iPoker' : True,
#'Winamax' : True, 'Winamax' : True,
} }
if sites['PokerStars'] == True: if sites['PokerStars'] == True:
@ -187,8 +187,8 @@ def main(argv=None):
# walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR") # walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR")
#if sites['iPoker'] == True: #if sites['iPoker'] == True:
# walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker") # walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker")
#if sites['Winamax'] == True: if sites['Winamax'] == True:
# walk_testfiles("regression-test-files/cash/Winamax/", compare, importer, WinamaxErrors, "Winamax") walk_testfiles("regression-test-files/summaries/Winamax/", compare, importer, WinamaxErrors, "Winamax")
totalerrors = 0 totalerrors = 0

View File

@ -245,13 +245,13 @@ class TourneySummary(object):
Adds a player to the tourney, and initialises data structures indexed by player. Adds a player to the tourney, and initialises data structures indexed by player.
rank (int) indicating the finishing rank (can be -1 if unknown) rank (int) indicating the finishing rank (can be -1 if unknown)
name (string) player name name (string) player name
winnings (decimal) the money the player ended the tourney with (can be 0, or -1 if unknown) winnings (int) the money the player ended the tourney with (can be 0, or -1 if unknown)
""" """
log.debug(_("addPlayer: rank:%s - name : '%s' - Winnings (%s)") % (rank, name, winnings)) log.debug(_("addPlayer: rank:%s - name : '%s' - Winnings (%s)") % (rank, name, winnings))
self.players.append(name) self.players.append(name)
if rank: if rank:
self.ranks.update( { name : Decimal(rank) } ) self.ranks.update( { name : rank } )
self.winnings.update( { name : Decimal(winnings) } ) self.winnings.update( { name : winnings } )
self.winningsCurrency.update( { name : winningsCurrency } ) self.winningsCurrency.update( { name : winningsCurrency } )
else: else:
self.ranks.update( { name : None } ) self.ranks.update( { name : None } )

View File

@ -60,6 +60,7 @@ class WinamaxSummary(TourneySummary):
re_Prizepool = re.compile(u"""<div class="title2">.+: (?P<PRIZEPOOL>[0-9,]+)""") re_Prizepool = re.compile(u"""<div class="title2">.+: (?P<PRIZEPOOL>[0-9,]+)""")
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]+)") 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]+)")
re_Ticket = re.compile(u""" / Ticket (?P<VALUE>[0-9.]+)&euro;""")
codepage = ["utf-8"] codepage = ["utf-8"]
@ -103,13 +104,23 @@ class WinamaxSummary(TourneySummary):
self.gametype['category'] = self.games[mg['GAME']][1] self.gametype['category'] = self.games[mg['GAME']][1]
for m in self.re_Player.finditer(str(tl[0])): for m in self.re_Player.finditer(str(tl[0])):
winnings = 0
mg = m.groupdict() mg = m.groupdict()
#print mg
winnings = mg['WINNINGS'].strip(u'').replace(u',','.')
winnings = int(100*Decimal(winnings))
rank = mg['RANK'] rank = mg['RANK']
name = mg['PNAME'] name = mg['PNAME']
#print "DEBUG: %s: %s" %(name, winnings) #print "DEUBG: mg: '%s'" % mg
is_satellite = self.re_Ticket.search(mg['WINNINGS'])
if is_satellite:
# Ticket
winnings = convert_to_decimal(is_satellite.groupdict()['VALUE'])
# For stallites, any ticket means 1st
if winnings > 0:
rank = 1
else:
winnings = convert_to_decimal(mg['WINNINGS'])
winnings = int(100*Decimal(winnings))
#print "DEBUG: %s) %s: %s" %(rank, name, winnings)
self.addPlayer(rank, name, winnings, self.currency, None, None, None) self.addPlayer(rank, name, winnings, self.currency, None, None, None)
@ -117,3 +128,11 @@ class WinamaxSummary(TourneySummary):
mg = m.groupdict() mg = m.groupdict()
#print mg #print mg
self.tourNo = mg['TOURNO'] self.tourNo = mg['TOURNO']
def convert_to_decimal(string):
dec = string.strip(u'€&euro;\u20ac')
dec = dec.replace(u',','.')
dec = dec.replace(u' ','')
dec = Decimal(dec)
return dec

View File

@ -86,7 +86,7 @@ class Winamax(HandHistoryConverter):
(?P<RING>CashGame)? (?P<RING>CashGame)?
(?P<TOUR>Tournament\s (?P<TOUR>Tournament\s
(?P<TOURNAME>.+)?\s (?P<TOURNAME>.+)?\s
buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Gratuit|Ticket\suniquement)?\s buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Freeroll|Gratuit|Ticket\suniquement)?\s
(level:\s(?P<LEVEL>\d+))? (level:\s(?P<LEVEL>\d+))?
.*)? .*)?
\s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s # REB says: HID3 is the correct hand number \s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s # REB says: HID3 is the correct hand number
@ -247,7 +247,7 @@ class Winamax(HandHistoryConverter):
if k in info.keys() and info[k]: if k in info.keys() and info[k]:
info[k] = info[k].replace(',','.') info[k] = info[k].replace(',','.')
if info[key] == 'Freeroll': if info[key] == 'Gratuit' or info[key] == 'Freeroll':
hand.buyin = 0 hand.buyin = 0
hand.fee = 0 hand.fee = 0
hand.buyinCurrency = "FREE" hand.buyinCurrency = "FREE"
@ -259,7 +259,7 @@ class Winamax(HandHistoryConverter):
elif info[key].find("FPP")!=-1: elif info[key].find("FPP")!=-1:
hand.buyinCurrency="PSFP" hand.buyinCurrency="PSFP"
else: else:
#FIXME: handle other currencies, FPP, play money #FIXME: handle other currencies (are there other currencies?)
raise FpdbParseError(_("failed to detect currency")) raise FpdbParseError(_("failed to detect currency"))
info['BIAMT'] = info['BIAMT'].strip(u'$€FPP') info['BIAMT'] = info['BIAMT'].strip(u'$€FPP')

View File

@ -0,0 +1,54 @@
Stage #C379012708: Holdem No Limit $0.10 Turbo - 2011-02-21 05:08:53.010 (ET) [ 2011-02-21 05:08:53 ]
Table: Holmbury Rd.59 (Real Money) Seat #6 is the dealer
Seat 6 - PLAYER6 ($11.19 in chips)
Seat 7 - PLAYER7 ($1.09 in chips)
Seat 9 - PLAYER9 ($11.95 in chips)
Seat 1 - PLAYER1 ($1.60 in chips)
Seat 3 - HERO ($11.56 in chips)
Seat 4 - PLAYER4 ($2.67 in chips)
Seat 5 - PLAYER5 ($8.34 in chips)
PLAYER7 - Posts small blind $0.05
PLAYER9 - Posts big blind $0.10
*** POCKET CARDS ***
Dealt to HERO [10c 4d]
PLAYER1 - Folds
HERO - Folds (Preselection)
PLAYER4 - Calls $0.10 (Preselection)
PLAYER5 - Raises $0.20 to $0.20
PLAYER6 - Calls $0.20
PLAYER7 - Folds
PLAYER9 - Calls $0.10
PLAYER4 - Raises $0.20 to $0.30 (Preselection)
PLAYER5 - Calls $0.10
PLAYER6 - Calls $0.10
PLAYER9 - Calls $0.10
*** FLOP *** [Kh 3s 5c]
PLAYER9 - Checks
PLAYER4 - Checks
PLAYER5 - Checks
PLAYER6 - Checks
*** TURN *** [Kh 3s 5c] [6c]
PLAYER9 - Checks
PLAYER4 - Checks
PLAYER5 - Bets $0.90
PLAYER6 - Folds
PLAYER9 - Folds
PLAYER4 - Calls $0.90
*** RIVER *** [Kh 3s 5c 6c] [5d]
PLAYER4 - All-In $1.47
PLAYER5 - Calls $1.47
*** SHOW DOWN ***
PLAYER4 - Shows [Qd 6d] (Two Pair, sixes and fives)
PLAYER5 - Shows [Js Jh] (Two Pair, jacks and fives)
PLAYER5 Collects $5.70 from main pot
*** SUMMARY ***
Total Pot($5.99) | Rake ($0.29)
Board [Kh 3s 5c 6c 5d]
Seat 1: PLAYER1 Folded on the POCKET CARDS
Seat 3: HERO Folded on the POCKET CARDS
Seat 4: PLAYER4 HI:lost with Two Pair, sixes and fives [Qd 6d - P:6d,B:6c,B:5d,B:5c,B:Kh]
Seat 5: PLAYER5 collected Total ($5.70) HI:($5.70) with Two Pair, jacks and fives [Js Jh - P:Js,P:Jh,B:5d,B:5c,B:Kh]
Seat 6: PLAYER6 (dealer) Folded on the TURN
Seat 7: PLAYER7 (small blind) Folded on the POCKET CARDS
Seat 9: PLAYER9 (big blind) Folded on the TURN

View File

@ -0,0 +1,62 @@
Full Tilt Poker Game #1088791321: Table Vero (6 max) - $200/$400 - Limit Omaha Hi/Lo - 0:03:34 ET - 2006/10/11
Seat 1: zbubop ($10,676)
Seat 2: AllenCunningham ($6,025)
Seat 3: TexasLimitDonk ($6,816)
Seat 4: Mike Matusow ($10,689), is sitting out
Seat 5: Erick Lindgren ($4,339.50)
Seat 6: Shoe Lab ($15,968.50)
Erick Lindgren posts the small blind of $100
Shoe Lab posts the big blind of $200
The button is in seat #3
*** HOLE CARDS ***
tyler13jack (Observer): mark karr HAHAHAHAAHA
zbubop calls $200
Skylerjade (Observer): HAHAHAHA YOUR SIK CROW
AllenCunningham raises to $400
TexasLimitDonk folds
Right is Tight (Observer): phil is just nasty
Skylerjade (Observer): he does though
Erick Lindgren folds
GE1K0 (Observer): u ok there cunningham?
Crow1974 (Observer): i said looks
Shoe Lab calls $200
zbubop calls $200
*** FLOP *** [7h 8s 3s]
Crow1974 (Observer): in that pic
Shoe Lab checks
eagle604 (Observer): did they win?
zbubop checks
Crow1974 (Observer): not in real life
AllenCunningham bets $200
Skylerjade (Observer): My girlfirend thinks hes hott in real life
Shoe Lab folds
zbubop calls $200
*** TURN *** [7h 8s 3s] [4s]
crobbins92020 (Observer): he isn't that weird...got a ride home first class..w/ drinks
zbubop checks
crobbins92020 (Observer): lol
AllenCunningham bets $400
Pavel Datsyuk (Observer): hes got a dif expression at a diff table
zbubop raises to $800
AllenCunningham calls $400
*** RIVER *** [7h 8s 3s 4s] [Ah]
zbubop bets $400
AllenCunningham calls $400
*** SHOW DOWN ***
zbubop shows [3c 9h As Qs] (a flush, Ace high)
*** SHOW DOWN ***
(8,7,4,3,A)
AllenCunningham shows [7d 2c Ks Ad] (two pair, Aces and Sevens)
(7,4,3,2,A)
zbubop wins the high pot ($2,048.50) with a flush, Ace high
AllenCunningham wins the low pot ($2,048.50) with 7,4,3,2,A
*** SUMMARY ***
Total pot $4,100 | Rake $3
Board: [7h 8s 3s 4s Ah]
Seat 1: zbubop showed [3c 9h As Qs] and won ($2,048.50) with HI: a flush, Ace high; LO: 8,7,4,3,A
Seat 2: AllenCunningham showed [7d 2c Ks Ad] and won ($2,048.50) with HI: two pair, Aces and Sevens; LO: 7,4,3,2,A
Seat 3: TexasLimitDonk (button) didn't bet (folded)
Seat 4: Mike Matusow is sitting out
Seat 5: Erick Lindgren (small blind) folded before the Flop
Seat 6: Shoe Lab (big blind) folded on the Flop

View File

@ -0,0 +1 @@
(1, 'USD', 'ring', 'hold', 'omahahilo', 'fl', 's', 10000, 20000, 20000, 40000)

View File

@ -0,0 +1,31 @@
{ 'boardcard1': 6,
'boardcard2': 46,
'boardcard3': 41,
'boardcard4': 42,
'boardcard5': 13,
'gametypeId': 21,
'importTime': None,
'maxSeats': 6,
'playersAtShowdown': 2,
'playersAtStreet1': 3,
'playersAtStreet2': 2,
'playersAtStreet3': 2,
'playersAtStreet4': 0,
'playersVpi': 3,
'seats': 5,
'sessionId': None,
'showdownPot': 0,
'siteHandNo': u'1088791321',
'startTime': datetime.datetime(2006, 10, 11, 4, 3, 34, tzinfo=pytz.utc),
'street0Raises': 1,
'street1Pot': 170000,
'street1Raises': 1,
'street2Pot': 330000,
'street2Raises': 2,
'street3Pot': 410000,
'street3Raises': 1,
'street4Pot': 0,
'street4Raises': 0,
'tableName': u'Vero',
'texture': None,
'tourneyId': None}

View File

@ -0,0 +1,525 @@
{ u'AllenCunningham': { 'card1': 19,
'card2': 27,
'card3': 51,
'card4': 26,
'card5': 0,
'card6': 0,
'card7': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
'foldToOtherRaisedStreet1': False,
'foldToOtherRaisedStreet2': False,
'foldToOtherRaisedStreet3': False,
'foldToOtherRaisedStreet4': False,
'foldToStreet1CBChance': False,
'foldToStreet1CBDone': False,
'foldToStreet2CBChance': False,
'foldToStreet2CBDone': False,
'foldToStreet3CBChance': False,
'foldToStreet3CBDone': False,
'foldToStreet4CBChance': False,
'foldToStreet4CBDone': False,
'foldedBbToSteal': False,
'foldedSbToSteal': False,
'other3BStreet0': False,
'other4BStreet0': False,
'otherRaisedStreet0': False,
'otherRaisedStreet1': False,
'otherRaisedStreet2': True,
'otherRaisedStreet3': True,
'otherRaisedStreet4': False,
'position': 1,
'raiseFirstInChance': False,
'raiseToStealChance': False,
'raiseToStealDone': False,
'raisedFirstIn': False,
'rake': 150,
'sawShowdown': True,
'seatNo': 2,
'sitout': False,
'startCards': 0,
'startCash': 602500,
'street0Aggr': True,
'street0Bets': 0,
'street0Calls': 0,
'street0Raises': 0,
'street0VPI': True,
'street0_3BChance': False,
'street0_3BDone': False,
'street0_4BChance': False,
'street0_4BDone': False,
'street0_C4BChance': False,
'street0_C4BDone': False,
'street0_FoldTo3BChance': False,
'street0_FoldTo3BDone': False,
'street0_FoldTo4BChance': False,
'street0_FoldTo4BDone': False,
'street0_SqueezeChance': False,
'street0_SqueezeDone': False,
'street1Aggr': True,
'street1Bets': 1,
'street1CBChance': True,
'street1CBDone': True,
'street1Calls': 0,
'street1CheckCallRaiseChance': False,
'street1CheckCallRaiseDone': False,
'street1Raises': 0,
'street1Seen': True,
'street2Aggr': True,
'street2Bets': 1,
'street2CBChance': True,
'street2CBDone': True,
'street2Calls': 1,
'street2CheckCallRaiseChance': False,
'street2CheckCallRaiseDone': False,
'street2Raises': 0,
'street2Seen': True,
'street3Aggr': False,
'street3Bets': 0,
'street3CBChance': False,
'street3CBDone': False,
'street3Calls': 1,
'street3CheckCallRaiseChance': False,
'street3CheckCallRaiseDone': False,
'street3Raises': 0,
'street3Seen': True,
'street4Aggr': False,
'street4Bets': 0,
'street4CBChance': False,
'street4CBDone': False,
'street4Calls': 0,
'street4CheckCallRaiseChance': False,
'street4CheckCallRaiseDone': False,
'street4Raises': 0,
'street4Seen': False,
'success_Steal': False,
'totalProfit': 24850,
'tourneyTypeId': None,
'tourneysPlayersIds': None,
'winnings': 204850,
'wonAtSD': 1.0,
'wonWhenSeenStreet1': 1.0,
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0},
u'Erick Lindgren': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
'foldToOtherRaisedStreet1': False,
'foldToOtherRaisedStreet2': False,
'foldToOtherRaisedStreet3': False,
'foldToOtherRaisedStreet4': False,
'foldToStreet1CBChance': False,
'foldToStreet1CBDone': False,
'foldToStreet2CBChance': False,
'foldToStreet2CBDone': False,
'foldToStreet3CBChance': False,
'foldToStreet3CBDone': False,
'foldToStreet4CBChance': False,
'foldToStreet4CBDone': False,
'foldedBbToSteal': False,
'foldedSbToSteal': False,
'other3BStreet0': False,
'other4BStreet0': False,
'otherRaisedStreet0': False,
'otherRaisedStreet1': False,
'otherRaisedStreet2': False,
'otherRaisedStreet3': False,
'otherRaisedStreet4': False,
'position': 'S',
'raiseFirstInChance': False,
'raiseToStealChance': False,
'raiseToStealDone': False,
'raisedFirstIn': False,
'rake': 0,
'sawShowdown': False,
'seatNo': 5,
'sitout': False,
'startCards': 0,
'startCash': 433950,
'street0Aggr': False,
'street0Bets': 0,
'street0Calls': 0,
'street0Raises': 0,
'street0VPI': False,
'street0_3BChance': True,
'street0_3BDone': False,
'street0_4BChance': False,
'street0_4BDone': False,
'street0_C4BChance': False,
'street0_C4BDone': False,
'street0_FoldTo3BChance': False,
'street0_FoldTo3BDone': False,
'street0_FoldTo4BChance': False,
'street0_FoldTo4BDone': False,
'street0_SqueezeChance': False,
'street0_SqueezeDone': False,
'street1Aggr': False,
'street1Bets': 0,
'street1CBChance': False,
'street1CBDone': False,
'street1Calls': 0,
'street1CheckCallRaiseChance': False,
'street1CheckCallRaiseDone': False,
'street1Raises': 0,
'street1Seen': False,
'street2Aggr': False,
'street2Bets': 0,
'street2CBChance': False,
'street2CBDone': False,
'street2Calls': 0,
'street2CheckCallRaiseChance': False,
'street2CheckCallRaiseDone': False,
'street2Raises': 0,
'street2Seen': False,
'street3Aggr': False,
'street3Bets': 0,
'street3CBChance': False,
'street3CBDone': False,
'street3Calls': 0,
'street3CheckCallRaiseChance': False,
'street3CheckCallRaiseDone': False,
'street3Raises': 0,
'street3Seen': False,
'street4Aggr': False,
'street4Bets': 0,
'street4CBChance': False,
'street4CBDone': False,
'street4Calls': 0,
'street4CheckCallRaiseChance': False,
'street4CheckCallRaiseDone': False,
'street4Raises': 0,
'street4Seen': False,
'success_Steal': False,
'totalProfit': -10000,
'tourneyTypeId': None,
'tourneysPlayersIds': None,
'winnings': 0,
'wonAtSD': 0.0,
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'Shoe Lab': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
'foldToOtherRaisedStreet1': True,
'foldToOtherRaisedStreet2': False,
'foldToOtherRaisedStreet3': False,
'foldToOtherRaisedStreet4': False,
'foldToStreet1CBChance': False,
'foldToStreet1CBDone': False,
'foldToStreet2CBChance': False,
'foldToStreet2CBDone': False,
'foldToStreet3CBChance': False,
'foldToStreet3CBDone': False,
'foldToStreet4CBChance': False,
'foldToStreet4CBDone': False,
'foldedBbToSteal': False,
'foldedSbToSteal': False,
'other3BStreet0': False,
'other4BStreet0': False,
'otherRaisedStreet0': False,
'otherRaisedStreet1': True,
'otherRaisedStreet2': False,
'otherRaisedStreet3': False,
'otherRaisedStreet4': False,
'position': 'B',
'raiseFirstInChance': False,
'raiseToStealChance': False,
'raiseToStealDone': False,
'raisedFirstIn': False,
'rake': 0,
'sawShowdown': False,
'seatNo': 6,
'sitout': False,
'startCards': 0,
'startCash': 1596850,
'street0Aggr': False,
'street0Bets': 0,
'street0Calls': 1,
'street0Raises': 0,
'street0VPI': True,
'street0_3BChance': True,
'street0_3BDone': False,
'street0_4BChance': False,
'street0_4BDone': False,
'street0_C4BChance': False,
'street0_C4BDone': False,
'street0_FoldTo3BChance': False,
'street0_FoldTo3BDone': False,
'street0_FoldTo4BChance': False,
'street0_FoldTo4BDone': False,
'street0_SqueezeChance': False,
'street0_SqueezeDone': False,
'street1Aggr': False,
'street1Bets': 0,
'street1CBChance': False,
'street1CBDone': False,
'street1Calls': 0,
'street1CheckCallRaiseChance': False,
'street1CheckCallRaiseDone': False,
'street1Raises': 0,
'street1Seen': True,
'street2Aggr': False,
'street2Bets': 0,
'street2CBChance': False,
'street2CBDone': False,
'street2Calls': 0,
'street2CheckCallRaiseChance': True,
'street2CheckCallRaiseDone': False,
'street2Raises': 0,
'street2Seen': False,
'street3Aggr': False,
'street3Bets': 0,
'street3CBChance': False,
'street3CBDone': False,
'street3Calls': 0,
'street3CheckCallRaiseChance': False,
'street3CheckCallRaiseDone': False,
'street3Raises': 0,
'street3Seen': False,
'street4Aggr': False,
'street4Bets': 0,
'street4CBChance': False,
'street4CBDone': False,
'street4Calls': 0,
'street4CheckCallRaiseChance': False,
'street4CheckCallRaiseDone': False,
'street4Raises': 0,
'street4Seen': False,
'success_Steal': False,
'totalProfit': -40000,
'tourneyTypeId': None,
'tourneysPlayersIds': None,
'winnings': 0,
'wonAtSD': 0.0,
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'TexasLimitDonk': { 'card1': 0,
'card2': 0,
'card3': 0,
'card4': 0,
'card5': 0,
'card6': 0,
'card7': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
'foldToOtherRaisedStreet1': False,
'foldToOtherRaisedStreet2': False,
'foldToOtherRaisedStreet3': False,
'foldToOtherRaisedStreet4': False,
'foldToStreet1CBChance': False,
'foldToStreet1CBDone': False,
'foldToStreet2CBChance': False,
'foldToStreet2CBDone': False,
'foldToStreet3CBChance': False,
'foldToStreet3CBDone': False,
'foldToStreet4CBChance': False,
'foldToStreet4CBDone': False,
'foldedBbToSteal': False,
'foldedSbToSteal': False,
'other3BStreet0': False,
'other4BStreet0': False,
'otherRaisedStreet0': False,
'otherRaisedStreet1': False,
'otherRaisedStreet2': False,
'otherRaisedStreet3': False,
'otherRaisedStreet4': False,
'position': 0,
'raiseFirstInChance': False,
'raiseToStealChance': False,
'raiseToStealDone': False,
'raisedFirstIn': False,
'rake': 0,
'sawShowdown': False,
'seatNo': 3,
'sitout': False,
'startCards': 0,
'startCash': 681600,
'street0Aggr': False,
'street0Bets': 0,
'street0Calls': 0,
'street0Raises': 0,
'street0VPI': False,
'street0_3BChance': True,
'street0_3BDone': False,
'street0_4BChance': False,
'street0_4BDone': False,
'street0_C4BChance': False,
'street0_C4BDone': False,
'street0_FoldTo3BChance': False,
'street0_FoldTo3BDone': False,
'street0_FoldTo4BChance': False,
'street0_FoldTo4BDone': False,
'street0_SqueezeChance': False,
'street0_SqueezeDone': False,
'street1Aggr': False,
'street1Bets': 0,
'street1CBChance': False,
'street1CBDone': False,
'street1Calls': 0,
'street1CheckCallRaiseChance': False,
'street1CheckCallRaiseDone': False,
'street1Raises': 0,
'street1Seen': False,
'street2Aggr': False,
'street2Bets': 0,
'street2CBChance': False,
'street2CBDone': False,
'street2Calls': 0,
'street2CheckCallRaiseChance': False,
'street2CheckCallRaiseDone': False,
'street2Raises': 0,
'street2Seen': False,
'street3Aggr': False,
'street3Bets': 0,
'street3CBChance': False,
'street3CBDone': False,
'street3Calls': 0,
'street3CheckCallRaiseChance': False,
'street3CheckCallRaiseDone': False,
'street3Raises': 0,
'street3Seen': False,
'street4Aggr': False,
'street4Bets': 0,
'street4CBChance': False,
'street4CBDone': False,
'street4Calls': 0,
'street4CheckCallRaiseChance': False,
'street4CheckCallRaiseDone': False,
'street4Raises': 0,
'street4Seen': False,
'success_Steal': False,
'totalProfit': 0,
'tourneyTypeId': None,
'tourneysPlayersIds': None,
'winnings': 0,
'wonAtSD': 0.0,
'wonWhenSeenStreet1': 0.0,
'wonWhenSeenStreet2': 0.0,
'wonWhenSeenStreet3': 0.0,
'wonWhenSeenStreet4': 0.0},
u'zbubop': { 'card1': 28,
'card2': 8,
'card3': 52,
'card4': 50,
'card5': 0,
'card6': 0,
'card7': 0,
'foldBbToStealChance': False,
'foldSbToStealChance': False,
'foldToOtherRaisedStreet0': False,
'foldToOtherRaisedStreet1': False,
'foldToOtherRaisedStreet2': False,
'foldToOtherRaisedStreet3': False,
'foldToOtherRaisedStreet4': False,
'foldToStreet1CBChance': False,
'foldToStreet1CBDone': False,
'foldToStreet2CBChance': False,
'foldToStreet2CBDone': False,
'foldToStreet3CBChance': False,
'foldToStreet3CBDone': False,
'foldToStreet4CBChance': False,
'foldToStreet4CBDone': False,
'foldedBbToSteal': False,
'foldedSbToSteal': False,
'other3BStreet0': False,
'other4BStreet0': False,
'otherRaisedStreet0': False,
'otherRaisedStreet1': True,
'otherRaisedStreet2': True,
'otherRaisedStreet3': False,
'otherRaisedStreet4': False,
'position': 2,
'raiseFirstInChance': True,
'raiseToStealChance': False,
'raiseToStealDone': False,
'raisedFirstIn': False,
'rake': 150,
'sawShowdown': True,
'seatNo': 1,
'sitout': False,
'startCards': 0,
'startCash': 1067600,
'street0Aggr': False,
'street0Bets': 0,
'street0Calls': 2,
'street0Raises': 0,
'street0VPI': True,
'street0_3BChance': True,
'street0_3BDone': False,
'street0_4BChance': False,
'street0_4BDone': False,
'street0_C4BChance': False,
'street0_C4BDone': False,
'street0_FoldTo3BChance': False,
'street0_FoldTo3BDone': False,
'street0_FoldTo4BChance': False,
'street0_FoldTo4BDone': False,
'street0_SqueezeChance': True,
'street0_SqueezeDone': False,
'street1Aggr': False,
'street1Bets': 0,
'street1CBChance': False,
'street1CBDone': False,
'street1Calls': 1,
'street1CheckCallRaiseChance': False,
'street1CheckCallRaiseDone': False,
'street1Raises': 0,
'street1Seen': True,
'street2Aggr': True,
'street2Bets': 0,
'street2CBChance': False,
'street2CBDone': False,
'street2Calls': 0,
'street2CheckCallRaiseChance': True,
'street2CheckCallRaiseDone': True,
'street2Raises': 0,
'street2Seen': True,
'street3Aggr': True,
'street3Bets': 1,
'street3CBChance': True,
'street3CBDone': True,
'street3Calls': 0,
'street3CheckCallRaiseChance': True,
'street3CheckCallRaiseDone': True,
'street3Raises': 0,
'street3Seen': True,
'street4Aggr': False,
'street4Bets': 0,
'street4CBChance': False,
'street4CBDone': False,
'street4Calls': 0,
'street4CheckCallRaiseChance': False,
'street4CheckCallRaiseDone': False,
'street4Raises': 0,
'street4Seen': False,
'success_Steal': False,
'totalProfit': 24850,
'tourneyTypeId': None,
'tourneysPlayersIds': None,
'winnings': 204850,
'wonAtSD': 1.0,
'wonWhenSeenStreet1': 1.0,
'wonWhenSeenStreet2': 1.0,
'wonWhenSeenStreet3': 1.0,
'wonWhenSeenStreet4': 0.0}}

View File

@ -0,0 +1,17 @@
Full Tilt Poker Game #1083884910: Table Coral Isle (6 max) - $25/$50 - No Limit Hold'em - 17:47:12 ET - 2006/10/09
cinidy lynn posts the small blind of $25
durrrr posts the big blind of $50
The button is in seat #3
*** HOLE CARDS ***
cinidy lynn raises to $1,000, and is all in
durrrr folds
Uncalled bet of $950 returned to cinidy lynn
cinidy lynn mucks
cinidy lynn wins the pot ($100)
*** SUMMARY ***
Total pot $100 | Rake $0
Seat 3: cinidy lynn (small blind) collected ($100), mucked
Seat 4: durrrr (big blind) folded before the Flop

View File

@ -0,0 +1,65 @@
Full Tilt Poker Game #1463159669: Table Pantheon (6 max) - $200/$400 - Pot Limit Omaha - 20:47:44 ET - 2006/12/23
Seat 1: tjalfe ($24,578)
Seat 2: CrazyZachary ($8,001.50)
Seat 3: sbrugby ($38,000)
Seat 4: Phil Ivey ($69,970)
Seat 5: Son-in-Law ($37,381.50)
Seat 6: Gus Hansen ($60,478.50)
Son-in-Law posts the small blind of $200
Gus Hansen posts the big blind of $400
The button is in seat #4
*** HOLE CARDS ***
Hence (Observer): lolz
tjalfe raises to $1,400
Round3rr (Observer): it's tru man
CrazyZachary has 15 seconds left to act
Round3rr (Observer): if he just sent me 1 big blind look @ his stack
Stacks987 (Observer): stop begging
CrazyZachary adds $31,998.50
CrazyZachary folds
sbrugby folds
Phil Ivey calls $1,400
Stacks987 (Observer): get a job
JeremyAlan21 (Observer): y would he give u money
JeremyAlan21 (Observer): ##%
Son-in-Law calls $1,200
Stacks987 (Observer): yeah that makes no sense
Round3rr (Observer): y not
Round3rr (Observer): he has 60k in front of him
Stacks987 (Observer): why would he?
Round3rr (Observer): 80k @ the other table
Gus Hansen folds
Hence (Observer): i was talking about the hand
*** FLOP *** [Ks Ah Qh]
Son-in-Law checks
Urfo618 (Observer): cuz ur a donkey stacks
tjalfe checks
Stacks987 (Observer): stfu urf
jordanlj (Observer): rounder ur a loser
Stacks987 (Observer): lol
Phil Ivey has 15 seconds left to act
Stacks987 (Observer): im having fun leave me alone
Phil Ivey checks
*** TURN *** [Ks Ah Qh] [Jd]
jordanlj (Observer): u might get a big blind for anal or maybe not
Son-in-Law bets $3,600
Round3rr (Observer): anal ?
R U NUTZ 2 (Observer): lol
tjalfe folds
Phil Ivey folds
Uncalled bet of $3,600 returned to Son-in-Law
Son-in-Law mucks
Son-in-Law wins the pot ($4,597)
jordanlj (Observer): yeh poop sex
*** SUMMARY ***
Total pot $4,600 | Rake $3
Board: [Ks Ah Qh Jd]
Seat 1: tjalfe folded on the Turn
Seat 2: CrazyZachary didn't bet (folded)
Seat 3: sbrugby didn't bet (folded)
Seat 4: Phil Ivey (button) folded on the Turn
Seat 5: Son-in-Law (small blind) collected ($4,597), mucked
Seat 6: Gus Hansen (big blind) folded before the Flop

View File

@ -0,0 +1,60 @@
FullTiltPoker Game #26063988000: Table Teddy (6 max, shallow) - $25/$50 - Pot Limit Omaha Hi - 18:15:00 ET - 2010/12/01
Seat 1: Player1 ($1,000)
Seat 3: Player3 ($3,423)
Seat 4: Player4 ($1,611)
Seat 6: Hero ($1,835.50)
Hero posts the small blind of $25
Player1 posts the big blind of $50
The button is in seat #4
*** HOLE CARDS ***
Dealt to Hero [9s Jc 8c 7s]
Player3 raises to $112.50
Player4 folds
Hero has 15 seconds left to act
Hero has requested TIME
Hero raises to $387.50
Player1 folds
Player3 calls $275
*** FLOP *** [6c Qh 3c]
Hero has 15 seconds left to act
Hero has requested TIME
Hero bets $825
Player3 has 15 seconds left to act
Player3 raises to $3,035.50, and is all in
Hero calls $623, and is all in
Players agree to Run It Twice
Player3 shows [2s 9c Ac 5s]
Hero shows [9s Jc 8c 7s]
Uncalled bet of $1,587.50 returned to Player3
*** TURN 1 *** [6c Qh 3c] [3d]
*** RIVER 1 *** [6c Qh 3c 3d] [Th]
*** TURN 2 *** [6c Qh 3c] [9h]
*** RIVER 2 *** [6c Qh 3c 9h] [6h]
*** SHOW DOWN 1 ***
Player3 shows a pair of Threes
Hero shows a pair of Threes
*** SHOW DOWN 2 ***
Player3 shows two pair, Nines and Sixes
Hero shows two pair, Nines and Sixes
Player3 wins pot 1 ($1,859) with a pair of Threes
Player3 wins pot 2 ($1,859) with two pair, Nines and Sixes
*** SUMMARY ***
Duration 65s
Total pot $3,721 | Rake $3
*** SUMMARY 1 ***
Pot 1 $1,859
Board: [6c Qh 3c 3d Th]
Seat 1: Player1 (big blind) folded before the Flop
Seat 3: Player3 showed [2s 9c Ac 5s] and won ($1,859) with a pair of Threes
Seat 4: Player4 (button) didn't bet (folded)
Seat 6: Hero (small blind) showed [9s Jc 8c 7s] and lost with a pair of Threes
*** SUMMARY 2 ***
Pot 2 $1,859
Board: [6c Qh 3c 9h 6h]
Seat 1: Player1 (big blind) folded before the Flop
Seat 3: Player3 showed [2s 9c Ac 5s] and won ($1,859) with two pair, Nines and Sixes
Seat 4: Player4 (button) didn't bet (folded)
Seat 6: Hero (small blind) showed [9s Jc 8c 7s] and lost with two pair, Nines and Sixes