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

This commit is contained in:
sqlcoder 2009-12-07 22:55:32 +00:00
commit 50e63a8131
16 changed files with 1121 additions and 357 deletions

11
Makefile Normal file
View File

@ -0,0 +1,11 @@
# Variable definitions
VERSION = 0.12
DATE = $(shell date +%Y%m%d)
all:
@echo "Usage:"
@echo " make snapshot - Tags the repository with $(VERSION)-$(DATE) and creates a tarball from that"
snapshot:
git tag $(VERSION)-$(DATE)
git archive --prefix=fpdb-$(VERSION)-$(DATE)/ $(VERSION)-$(DATE) | gzip -9 > ../fpdb-$(VERSION)-$(DATE).tar.gz

0
pyfpdb/Database.py Executable file → Normal file
View File

View File

@ -231,6 +231,7 @@ class DerivedStats():
pas = set.union(self.pfba(actions) - self.pfba(actions, l=('folds',)), alliners)
self.hands['playersAtShowdown'] = len(pas)
if self.hands['playersAtShowdown'] > 1:
for player in pas:
self.handsplayers[player]['sawShowdown'] = True

View File

@ -574,7 +574,7 @@ Left-Drag to Move"
</hhcs>
<supported_databases>
<database db_ip="localhost" db_name=":memory:" db_pass="fpdb" db_server="sqlite" db_user="fpdb"/>
<database db_ip="localhost" db_name="fpdb" db_pass="fpdb" db_server="sqlite" db_user="fpdb"/>
</supported_databases>
</FreePokerToolsConfig>

View File

@ -162,10 +162,10 @@ class HUD_main(object):
# function idle_func() to be run by the gui thread, at its leisure.
def idle_func():
gtk.gdk.threads_enter()
try:
self.hud_dict[table_name].update(new_hand_id, config)
# The HUD could get destroyed in the above call ^^, which leaves us with a KeyError here vv
# if we ever get an error we need to expect ^^ then we need to handle it vv - Eric
try:
[aw.update_gui(new_hand_id) for aw in self.hud_dict[table_name].aux_windows]
except KeyError:
pass

View File

@ -54,6 +54,7 @@ class Hand(object):
self.starttime = 0
self.handText = handText
self.handid = 0
self.dbid_hands = 0
self.tablename = ""
self.hero = ""
self.maxseats = None
@ -218,8 +219,8 @@ db: a connected fpdb_db object"""
# seats TINYINT NOT NULL,
hh['seats'] = len(sqlids)
handid = db.storeHand(hh)
db.storeHandsPlayers(handid, sqlids, self.stats.getHandsPlayers())
self.dbid_hands = db.storeHand(hh)
db.storeHandsPlayers(self.dbid_hands, sqlids, self.stats.getHandsPlayers())
# HandsActions - all actions for all players for all streets - self.actions
# HudCache data can be generated from HandsActions (HandsPlayers?)
# Tourneys ?

View File

@ -358,7 +358,7 @@ class Hud:
def change_max_seats(self, widget):
if self.max != widget.ms:
print 'change_max_seats', widget.ms
#print 'change_max_seats', widget.ms
self.max = widget.ms
try:
self.kill()
@ -678,7 +678,7 @@ class Stat_Window:
return True
def kill_popup(self, popup):
print "remove popup", popup
#print "remove popup", popup
self.popups.remove(popup)
popup.window.destroy()

View File

@ -37,14 +37,20 @@ if os.name == 'nt' and sys.version[0:3] not in ('2.5', '2.6') and '-r' not in sy
os.execvpe('python.exe', ('python.exe', 'fpdb.py', '-r'), os.environ) # first arg is ignored (name of program being run)
else:
print "\npython 2.5 not found, please install python 2.5 or 2.6 for fpdb\n"
exit
raw_input("Press ENTER to continue.")
exit()
else:
pass
#print "debug - not changing path"
if os.name == 'nt':
try:
import win32api
import win32con
except ImportError:
print "We appear to be running in Windows, but the Windows Python Extensions are not loading. Please install the PYWIN32 package from http://sourceforge.net/projects/pywin32/"
raw_input("Press ENTER to continue.")
exit()
print "Python " + sys.version[0:3] + '...\n'
@ -63,9 +69,14 @@ if not options.errorsToConsole:
#import logging
import logging, logging.config
try:
import pygtk
pygtk.require('2.0')
import gtk
except:
print "Unable to load PYGTK modules required for GUI. Please install PyCairo, PyGObject, and PyGTK from www.pygtk.org."
raw_input("Press ENTER to continue.")
exit()
import interlocks
@ -200,14 +211,14 @@ class fpdb:
def dia_about(self, widget, data=None):
#self.warning_box("About FPDB:\n\nFPDB was originally created by a guy named Steffen, sometime in 2008, \nand is mostly worked on these days by people named Eratosthenes, s0rrow, _mt, EricBlade, sqlcoder, and other strange people.\n\n", "ABOUT FPDB")
dia = gtk.AboutDialog()
dia.set_name("FPDB")
dia.set_name("Free Poker Database (FPDB)")
dia.set_version(VERSION)
dia.set_copyright("2008-2009, Steffen, Eratosthenes, s0rrow, EricBlade, _mt, sqlcoder, and others")
dia.set_copyright("2008-2010, Steffen, Eratosthenes, s0rrow, EricBlade, _mt, sqlcoder, Bostik, and others")
dia.set_comments("GTK AboutDialog comments here")
dia.set_license("GPL v3")
dia.set_website("http://fpdb.sourceforge.net/")
dia.set_authors("Steffen, Eratosthenes, s0rrow, EricBlade, _mt, and others")
dia.set_program_name("FPDB")
dia.set_authors("Steffen, Eratosthenes, s0rrow, EricBlade, _mt, sqlcoder, Bostik, and others")
dia.set_program_name("Free Poker Database (FPDB)")
dia.run()
dia.destroy()
log.debug("Threads: ")
@ -628,7 +639,7 @@ class fpdb:
self.warning_box("MySQL Server reports: Access denied. Are your permissions set correctly?")
exit()
except Exceptions.FpdbMySQLNoDatabase:
msg = "MySQL client reports: 2002 error. Unable to connect - Please check that the MySQL service has been started"
msg = "MySQL client reports: 2002 or 2003 error. Unable to connect - Please check that the MySQL service has been started"
self.warning_box(msg)
exit
@ -824,7 +835,6 @@ This program is licensed under the AGPL3, see docs"""+os.sep+"agpl-3.0.txt")
sys.stderr.write("fpdb starting ...")
def window_state_event_cb(self, window, event):
print "window_state_event", event
if event.changed_mask & gtk.gdk.WINDOW_STATE_ICONIFIED:
# -20 = GWL_EXSTYLE can't find it in the pywin32 libs
#bits = win32api.GetWindowLong(self.window.window.handle, -20)

View File

@ -106,7 +106,7 @@ class fpdb_db:
except MySQLdb.Error, ex:
if ex.args[0] == 1045:
raise FpdbMySQLAccessDenied(ex.args[0], ex.args[1])
elif ex.args[0] == 2002:
elif ex.args[0] == 2002 or ex.args[0] == 2003: # 2002 is no unix socket, 2003 is no tcp socket
raise FpdbMySQLNoDatabase(ex.args[0], ex.args[1])
else:
print "*** WARNING UNKNOWN MYSQL ERROR", ex

View File

@ -21,7 +21,7 @@
import os # todo: remove this once import_dir is in fpdb_import
import sys
from time import time, strftime, sleep
from time import time, strftime, sleep, clock
import traceback
import math
import datetime
@ -101,6 +101,8 @@ class Importer:
self.NEWIMPORT = Configuration.NEWIMPORT
clock() # init clock in windows
#Set functions
def setCallHud(self, value):
self.callHud = value
@ -359,10 +361,15 @@ class Importer:
# print "file",counter," updated", os.path.basename(file), stat_info.st_size, self.updatedsize[file], stat_info.st_mtime, self.updatedtime[file]
try:
if not os.path.isdir(file):
self.caller.addText("\n"+file)
self.caller.addText("\n"+os.path.basename(file))
except KeyError: # TODO: What error happens here?
pass
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(self.database, file, self.filelist[file][0], self.filelist[file][1], None)
try:
if not os.path.isdir(file):
self.caller.addText(" %d stored, %d duplicates, %d partial, %d errors (time = %f)" % (stored, duplicates, partial, errors, ttime))
except KeyError: # TODO: Again, what error happens here? fix when we find out ..
pass
self.updatedsize[file] = stat_info.st_size
self.updatedtime[file] = time()
else:
@ -393,7 +400,7 @@ class Importer:
if os.path.isdir(file):
self.addToDirList[file] = [site] + [filter]
return
return (0,0,0,0,0)
conv = None
(stored, duplicates, partial, errors, ttime) = (0, 0, 0, 0, 0)
@ -430,6 +437,11 @@ class Importer:
#try, except duplicates here?
#hand.prepInsert()
hand.insert(self.database)
if self.callHud and hand.dbid_hands != 0:
#print "DEBUG: call to HUD: handsId: %s" % hand.dbid_hands
#pipe the Hands.id out to the HUD
# print "fpdb_import: sending hand to hud", handsId, "pipe =", self.caller.pipe_to_hud
self.caller.pipe_to_hud.stdin.write("%s" % (hand.dbid_hands) + os.linesep)
errors = getattr(hhc, 'numErrors')
stored = getattr(hhc, 'numHands')
@ -476,10 +488,13 @@ class Importer:
self.pos_in_file[file] = inputFile.tell()
inputFile.close()
x = clock()
(stored, duplicates, partial, errors, ttime, handsId) = self.import_fpdb_lines(db, self.lines, starttime, file, site, q)
db.commit()
ttime = time() - starttime
y = clock()
ttime = y - x
#ttime = time() - starttime
if q is None:
log.info("Total stored: %(stored)d\tduplicates:%(duplicates)d\terrors:%(errors)d\ttime:%(ttime)s" % locals())
@ -558,7 +573,11 @@ class Importer:
#print "call to HUD here. handsId:",handsId
#pipe the Hands.id out to the HUD
# print "fpdb_import: sending hand to hud", handsId, "pipe =", self.caller.pipe_to_hud
try:
self.caller.pipe_to_hud.stdin.write("%s" % (handsId) + os.linesep)
except IOError: # hud closed
self.callHud = False
pass # continue import without hud
except Exceptions.DuplicateError:
duplicates += 1
db.rollback()

View File

@ -1241,38 +1241,34 @@ sure to also change the following storage method and table_viewer.prepare_data i
#calculate saw* values
isAllIn = False
if any(i for i in allIns[0][player]):
isAllIn = True
if (len(action_types[1][player])>0 or isAllIn):
isAllIn = any(i for i in allIns[0][player])
if isAllIn or len(action_types[1][player]) > 0:
myStreet1Seen = True
if any(i for i in allIns[1][player]):
isAllIn = True
if (len(action_types[2][player])>0 or isAllIn):
if not isAllIn:
isAllIn = any(i for i in allIns[1][player])
elif len(action_types[2][player]) > 0:
if all(actiontype != "fold" for actiontype in action_types[1][player]):
myStreet2Seen = True
if any(i for i in allIns[2][player]):
isAllIn = True
if (len(action_types[3][player])>0 or isAllIn):
if not isAllIn:
isAllAin = any(i for i in allIns[2][player])
elif len(action_types[3][player]) > 0:
if all(actiontype != "fold" for actiontype in action_types[2][player]):
myStreet3Seen = True
#print "base:", base
if base == "hold":
mySawShowdown = True
if any(actiontype == "fold" for actiontype in action_types[3][player]):
mySawShowdown = False
mySawShowdown = not any(actiontype == "fold" for actiontype in action_types[3][player])
else:
#print "in else"
if any(i for i in allIns[3][player]):
isAllIn = True
if (len(action_types[4][player])>0 or isAllIn):
if not isAllIn:
isAllIn = any(i for i in allIns[3][player])
elif len(action_types[4][player]) > 0:
#print "in if"
myStreet4Seen = True
mySawShowdown = True
if any(actiontype == "fold" for actiontype in action_types[4][player]):
mySawShowdown = False
mySawShowdown = not any(actiontype == "fold" for actiontype in action_types[4][player])
if myStreet1Seen:
result['playersAtStreet1'] += 1
@ -1288,9 +1284,7 @@ sure to also change the following storage method and table_viewer.prepare_data i
#flop stuff
street = 1
if myStreet1Seen:
if any(actiontype == "bet" for actiontype in action_types[street][player]):
myStreet1Aggr = True
myStreet1Aggr = any(actiontype == "bet" for actiontype in action_types[street][player])
myStreet1Calls = action_types[street][player].count('call')
myStreet1Bets = action_types[street][player].count('bet')
# street1Raises = action_types[street][player].count('raise') bet count includes raises for now
@ -1310,9 +1304,7 @@ sure to also change the following storage method and table_viewer.prepare_data i
#turn stuff - copy of flop with different vars
street = 2
if myStreet2Seen:
if any(actiontype == "bet" for actiontype in action_types[street][player]):
myStreet2Aggr = True
myStreet2Aggr = any(actiontype == "bet" for actiontype in action_types[street][player])
myStreet2Calls = action_types[street][player].count('call')
myStreet2Bets = action_types[street][player].count('bet')
# street2Raises = action_types[street][player].count('raise') bet count includes raises for now
@ -1332,9 +1324,7 @@ sure to also change the following storage method and table_viewer.prepare_data i
#river stuff - copy of flop with different vars
street = 3
if myStreet3Seen:
if any(actiontype == "bet" for actiontype in action_types[street][player]):
myStreet3Aggr = True
myStreet3Aggr = any(actiontype == "bet" for actiontype in action_types[street][player])
myStreet3Calls = action_types[street][player].count('call')
myStreet3Bets = action_types[street][player].count('bet')
# street3Raises = action_types[street][player].count('raise') bet count includes raises for now
@ -1354,9 +1344,7 @@ sure to also change the following storage method and table_viewer.prepare_data i
#stud river stuff - copy of flop with different vars
street = 4
if myStreet4Seen:
if any(actiontype == "bet" for actiontype in action_types[street][player]):
myStreet4Aggr=True
myStreet4Aggr = any(actiontype == "bet" for actiontype in action_types[street][player])
myStreet4Calls = action_types[street][player].count('call')
myStreet4Bets = action_types[street][player].count('bet')
# street4Raises = action_types[street][player].count('raise') bet count includes raises for now

View File

@ -0,0 +1,43 @@
PokerStars Game #36185273365: Hold'em No Limit ($0.05/$0.10 USD) - 2009/12/03 9:16:10 ET
Table 'Eurynome IV' 6-max Seat #3 is the button
Seat 1: s0rrow ($16.10 in chips)
Seat 2: chrisbiz ($9.45 in chips)
Seat 3: papajohn77 ($6.55 in chips)
Seat 4: WSOFish ($21.05 in chips)
Seat 5: drefron ($10 in chips)
Seat 6: garegerret ($10.60 in chips)
WSOFish: posts small blind $0.05
drefron: posts big blind $0.10
*** HOLE CARDS ***
Dealt to s0rrow [5s As]
garegerret: folds
s0rrow: raises $0.20 to $0.30
chrisbiz: calls $0.30
papajohn77: folds
WSOFish: folds
drefron: folds
*** FLOP *** [8c 4c 4d]
s0rrow: checks
chrisbiz: bets $0.40
s0rrow: raises $1 to $1.40
chrisbiz: calls $1
*** TURN *** [8c 4c 4d] [Kc]
s0rrow: bets $3.20
chrisbiz: calls $3.20
*** RIVER *** [8c 4c 4d Kc] [2s]
s0rrow: bets $11.20 and is all-in
chrisbiz: folds
Uncalled bet ($11.20) returned to s0rrow
s0rrow collected $9.50 from pot
*** SUMMARY ***
Total pot $9.95 | Rake $0.45
Board [8c 4c 4d Kc 2s]
Seat 1: s0rrow collected ($9.50)
Seat 2: chrisbiz folded on the River
Seat 3: papajohn77 (button) folded before Flop (didn't bet)
Seat 4: WSOFish (small blind) folded before Flop
Seat 5: drefron (big blind) folded before Flop
Seat 6: garegerret folded before Flop (didn't bet)

View File

@ -0,0 +1,602 @@
PokerStars Game #35874998500: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:36:51 ET
Table 'Gaby II' 6-max Seat #3 is the button
Seat 1: EricSteph261 ($11.27 in chips)
Seat 2: UnderMeSensi ($3.33 in chips)
Seat 3: supermeXXX ($1.19 in chips)
Seat 4: xgz520 ($1.81 in chips)
Seat 5: s0rrow ($3 in chips)
Seat 6: tiger48475 ($5 in chips)
xgz520: posts small blind $0.01
s0rrow: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [2h 2c 3s 9h]
tiger48475: folds
EricSteph261: folds
UnderMeSensi: raises $0.05 to $0.07
supermeXXX: folds
xgz520: folds
s0rrow: calls $0.05
*** FLOP *** [Jd 5c Kc]
s0rrow: checks
UnderMeSensi: checks
*** TURN *** [Jd 5c Kc] [4c]
s0rrow: checks
UnderMeSensi: bets $0.08
s0rrow: calls $0.08
*** RIVER *** [Jd 5c Kc 4c] [Th]
s0rrow: checks
UnderMeSensi: bets $0.31
EricSteph261 is sitting out
s0rrow: folds
Uncalled bet ($0.31) returned to UnderMeSensi
UnderMeSensi collected $0.31 from pot
UnderMeSensi: doesn't show hand
*** SUMMARY ***
Total pot $0.31 | Rake $0
Board [Jd 5c Kc 4c Th]
Seat 1: EricSteph261 folded before Flop (didn't bet)
Seat 2: UnderMeSensi collected ($0.31)
Seat 3: supermeXXX (button) folded before Flop (didn't bet)
Seat 4: xgz520 (small blind) folded before Flop
Seat 5: s0rrow (big blind) folded on the River
Seat 6: tiger48475 folded before Flop (didn't bet)
PokerStars Game #35875026976: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:37:39 ET
Table 'Gaby II' 6-max Seat #4 is the button
Seat 2: UnderMeSensi ($3.49 in chips)
Seat 3: supermeXXX ($1.19 in chips)
Seat 4: xgz520 ($1.80 in chips)
Seat 5: s0rrow ($2.85 in chips)
Seat 6: tiger48475 ($5 in chips)
s0rrow: posts small blind $0.01
tiger48475: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [4d 3s 8d Jd]
UnderMeSensi: raises $0.05 to $0.07
supermeXXX: folds
xgz520: folds
s0rrow: folds
tiger48475: folds
Uncalled bet ($0.05) returned to UnderMeSensi
xgz520 leaves the table
UnderMeSensi collected $0.05 from pot
UnderMeSensi: doesn't show hand
*** SUMMARY ***
Total pot $0.05 | Rake $0
Seat 2: UnderMeSensi collected ($0.05)
Seat 3: supermeXXX folded before Flop (didn't bet)
Seat 4: xgz520 (button) folded before Flop (didn't bet)
Seat 5: s0rrow (small blind) folded before Flop
Seat 6: tiger48475 (big blind) folded before Flop
PokerStars Game #35875034981: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:37:53 ET
Table 'Gaby II' 6-max Seat #5 is the button
Seat 2: UnderMeSensi ($3.52 in chips)
Seat 3: supermeXXX ($1.19 in chips)
Seat 5: s0rrow ($2.84 in chips)
Seat 6: tiger48475 ($5 in chips)
tiger48475: posts small blind $0.01
UnderMeSensi: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Qh 6c Th 9c]
supermeXXX: raises $0.04 to $0.06
s0rrow: calls $0.06
tiger48475: folds
UnderMeSensi: calls $0.04
*** FLOP *** [5h 4d 2d]
UnderMeSensi: checks
supermeXXX: bets $0.10
s0rrow: folds
UnderMeSensi: calls $0.10
*** TURN *** [5h 4d 2d] [Jd]
UnderMeSensi: checks
supermeXXX: checks
*** RIVER *** [5h 4d 2d Jd] [6h]
UnderMeSensi: checks
supermeXXX: checks
*** SHOW DOWN ***
UnderMeSensi: shows [7c 6s 7h As] (HI: a pair of Sevens; LO: 6,5,4,2,A)
supermeXXX: shows [Ah 2h Kh 2s] (HI: three of a kind, Deuces; LO: 6,5,4,2,A)
supermeXXX collected $0.20 from pot
UnderMeSensi collected $0.10 from pot
supermeXXX collected $0.09 from pot
*** SUMMARY ***
Total pot $0.39 | Rake $0
Board [5h 4d 2d Jd 6h]
Seat 2: UnderMeSensi (big blind) showed [7c 6s 7h As] and won ($0.10) with HI: a pair of Sevens; LO: 6,5,4,2,A
Seat 3: supermeXXX showed [Ah 2h Kh 2s] and won ($0.29) with HI: three of a kind, Deuces; LO: 6,5,4,2,A
Seat 5: s0rrow (button) folded on the Flop
Seat 6: tiger48475 (small blind) folded before Flop
PokerStars Game #35875059163: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:38:34 ET
Table 'Gaby II' 6-max Seat #6 is the button
Seat 2: UnderMeSensi ($3.46 in chips)
Seat 3: supermeXXX ($1.32 in chips)
Seat 5: s0rrow ($2.78 in chips)
Seat 6: tiger48475 ($5 in chips)
UnderMeSensi: posts small blind $0.01
supermeXXX: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Ts Qs 9d 7c]
s0rrow: raises $0.04 to $0.06
tiger48475: folds
UnderMeSensi: calls $0.05
diyi69 joins the table at seat #4
supermeXXX: folds
*** FLOP *** [3h Ah 5d]
UnderMeSensi: checks
s0rrow: checks
*** TURN *** [3h Ah 5d] [Kc]
UnderMeSensi: checks
s0rrow: bets $0.14
UnderMeSensi: folds
Uncalled bet ($0.14) returned to s0rrow
s0rrow collected $0.14 from pot
*** SUMMARY ***
Total pot $0.14 | Rake $0
Board [3h Ah 5d Kc]
Seat 2: UnderMeSensi (small blind) folded on the Turn
Seat 3: supermeXXX (big blind) folded before Flop
Seat 5: s0rrow collected ($0.14)
Seat 6: tiger48475 (button) folded before Flop (didn't bet)
PokerStars Game #35875079294: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:39:09 ET
Table 'Gaby II' 6-max Seat #2 is the button
Seat 2: UnderMeSensi ($3.40 in chips)
Seat 3: supermeXXX ($1.30 in chips)
Seat 4: diyi69 ($1 in chips)
Seat 5: s0rrow ($2.86 in chips)
Seat 6: tiger48475 ($5 in chips)
supermeXXX: posts small blind $0.01
diyi69: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [8s 6d 7s 2s]
s0rrow: folds
tiger48475: folds
UnderMeSensi: folds
supermeXXX: calls $0.01
diyi69 has timed out
diyi69: checks
*** FLOP *** [As Js 5h]
supermeXXX: bets $0.04
diyi69 has timed out
diyi69: folds
Uncalled bet ($0.04) returned to supermeXXX
diyi69 is sitting out
supermeXXX collected $0.04 from pot
*** SUMMARY ***
Total pot $0.04 | Rake $0
Board [As Js 5h]
Seat 2: UnderMeSensi (button) folded before Flop (didn't bet)
Seat 3: supermeXXX (small blind) collected ($0.04)
Seat 4: diyi69 (big blind) folded on the Flop
Seat 5: s0rrow folded before Flop (didn't bet)
Seat 6: tiger48475 folded before Flop (didn't bet)
PokerStars Game #35875131707: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:40:40 ET
Table 'Gaby II' 6-max Seat #3 is the button
Seat 2: UnderMeSensi ($3.40 in chips)
Seat 3: supermeXXX ($1.32 in chips)
Seat 5: s0rrow ($2.86 in chips)
Seat 6: tiger48475 ($5 in chips)
s0rrow: posts small blind $0.01
tiger48475: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [7c As 4d 4h]
UnderMeSensi: calls $0.02
supermeXXX: folds
s0rrow: calls $0.01
tiger48475: checks
*** FLOP *** [Ks 9d Ts]
s0rrow: checks
tiger48475: bets $0.06
UnderMeSensi: calls $0.06
s0rrow: folds
*** TURN *** [Ks 9d Ts] [7h]
tiger48475: checks
EricSteph261 has returned
UnderMeSensi: checks
*** RIVER *** [Ks 9d Ts 7h] [4s]
tiger48475: checks
UnderMeSensi: bets $0.10
tiger48475: folds
Uncalled bet ($0.10) returned to UnderMeSensi
UnderMeSensi collected $0.18 from pot
UnderMeSensi: doesn't show hand
*** SUMMARY ***
Total pot $0.18 | Rake $0
Board [Ks 9d Ts 7h 4s]
Seat 2: UnderMeSensi collected ($0.18)
Seat 3: supermeXXX (button) folded before Flop (didn't bet)
Seat 5: s0rrow (small blind) folded on the Flop
Seat 6: tiger48475 (big blind) folded on the River
PokerStars Game #35875159084: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:41:27 ET
Table 'Gaby II' 6-max Seat #5 is the button
Seat 1: EricSteph261 ($11.27 in chips)
Seat 2: UnderMeSensi ($3.50 in chips)
Seat 3: supermeXXX ($1.32 in chips)
Seat 5: s0rrow ($2.84 in chips)
Seat 6: tiger48475 ($5 in chips)
tiger48475: posts small blind $0.01
EricSteph261: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Jc 3h 2s Qc]
UnderMeSensi: calls $0.02
supermeXXX: calls $0.02
s0rrow: raises $0.08 to $0.10
tiger48475: folds
EricSteph261: folds
UnderMeSensi: calls $0.08
supermeXXX: folds
*** FLOP *** [Ac 5s Js]
UnderMeSensi: checks
s0rrow: bets $0.20
UnderMeSensi: calls $0.20
*** TURN *** [Ac 5s Js] [8c]
UnderMeSensi: checks
s0rrow: bets $0.50
UnderMeSensi: calls $0.50
*** RIVER *** [Ac 5s Js 8c] [Jd]
UnderMeSensi: bets $1.60
s0rrow: calls $1.60
*** SHOW DOWN ***
UnderMeSensi: shows [7s 9s Jh 3c] (HI: three of a kind, Jacks; LO: 8,7,5,3,A)
s0rrow: shows [Jc 3h 2s Qc] (HI: three of a kind, Jacks - Ace+Queen kicker; LO: 8,5,3,2,A)
s0rrow collected $2.33 from pot
s0rrow collected $2.32 from pot
*** SUMMARY ***
Total pot $4.85 | Rake $0.20
Board [Ac 5s Js 8c Jd]
Seat 1: EricSteph261 (big blind) folded before Flop
Seat 2: UnderMeSensi showed [7s 9s Jh 3c] and lost with HI: three of a kind, Jacks; LO: 8,7,5,3,A
Seat 3: supermeXXX folded before Flop
Seat 5: s0rrow (button) showed [Jc 3h 2s Qc] and won ($4.65) with HI: three of a kind, Jacks; LO: 8,5,3,2,A
Seat 6: tiger48475 (small blind) folded before Flop
PokerStars Game #35875194885: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:42:28 ET
Table 'Gaby II' 6-max Seat #6 is the button
Seat 1: EricSteph261 ($11.25 in chips)
Seat 2: UnderMeSensi ($1.10 in chips)
Seat 3: supermeXXX ($1.30 in chips)
Seat 5: s0rrow ($5.09 in chips)
Seat 6: tiger48475 ($5 in chips)
EricSteph261: posts small blind $0.01
UnderMeSensi: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [7s 3c 3h 8d]
supermeXXX: folds
s0rrow: raises $0.02 to $0.04
tiger48475: calls $0.04
EricSteph261: calls $0.03
UnderMeSensi: calls $0.02
*** FLOP *** [8c 3s 4s]
EricSteph261: checks
UnderMeSensi: checks
s0rrow: bets $0.14
tiger48475: folds
EricSteph261: folds
UnderMeSensi: folds
Uncalled bet ($0.14) returned to s0rrow
s0rrow collected $0.16 from pot
*** SUMMARY ***
Total pot $0.16 | Rake $0
Board [8c 3s 4s]
Seat 1: EricSteph261 (small blind) folded on the Flop
Seat 2: UnderMeSensi (big blind) folded on the Flop
Seat 3: supermeXXX folded before Flop (didn't bet)
Seat 5: s0rrow collected ($0.16)
Seat 6: tiger48475 (button) folded on the Flop
PokerStars Game #35875219121: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:43:08 ET
Table 'Gaby II' 6-max Seat #1 is the button
Seat 1: EricSteph261 ($11.21 in chips)
Seat 2: UnderMeSensi ($1.06 in chips)
Seat 3: supermeXXX ($1.30 in chips)
Seat 5: s0rrow ($5.21 in chips)
Seat 6: tiger48475 ($5 in chips)
UnderMeSensi: posts small blind $0.01
supermeXXX: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Ks Qd Kd Kc]
s0rrow: raises $0.04 to $0.06
tiger48475: folds
EricSteph261: calls $0.06
UnderMeSensi: calls $0.05
supermeXXX: calls $0.04
*** FLOP *** [2d Jh 5h]
UnderMeSensi: checks
supermeXXX: checks
s0rrow: checks
EricSteph261: checks
*** TURN *** [2d Jh 5h] [Js]
UnderMeSensi: checks
supermeXXX: checks
s0rrow: checks
EricSteph261: checks
*** RIVER *** [2d Jh 5h Js] [7s]
UnderMeSensi: checks
supermeXXX: checks
s0rrow: checks
EricSteph261: checks
*** SHOW DOWN ***
UnderMeSensi: shows [5d 6c As 9d] (HI: two pair, Jacks and Fives; LO: 7,6,5,2,A)
supermeXXX: shows [6s Th 7c Ac] (HI: two pair, Jacks and Sevens; LO: 7,6,5,2,A)
s0rrow: shows [Ks Qd Kd Kc] (HI: two pair, Kings and Jacks)
EricSteph261: shows [4s 9c 3d 2c] (HI: two pair, Jacks and Deuces; LO: 7,5,4,3,2)
s0rrow collected $0.12 from pot
EricSteph261 collected $0.12 from pot
*** SUMMARY ***
Total pot $0.24 | Rake $0
Board [2d Jh 5h Js 7s]
Seat 1: EricSteph261 (button) showed [4s 9c 3d 2c] and won ($0.12) with HI: two pair, Jacks and Deuces; LO: 7,5,4,3,2
Seat 2: UnderMeSensi (small blind) showed [5d 6c As 9d] and lost with HI: two pair, Jacks and Fives; LO: 7,6,5,2,A
Seat 3: supermeXXX (big blind) showed [6s Th 7c Ac] and lost with HI: two pair, Jacks and Sevens; LO: 7,6,5,2,A
Seat 5: s0rrow showed [Ks Qd Kd Kc] and won ($0.12) with HI: two pair, Kings and Jacks
Seat 6: tiger48475 folded before Flop (didn't bet)
PokerStars Game #35875246335: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:43:54 ET
Table 'Gaby II' 6-max Seat #2 is the button
Seat 1: EricSteph261 ($11.27 in chips)
Seat 2: UnderMeSensi ($1 in chips)
Seat 3: supermeXXX ($1.24 in chips)
Seat 5: s0rrow ($5.27 in chips)
Seat 6: tiger48475 ($5 in chips)
supermeXXX: posts small blind $0.01
s0rrow: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Jd Kc 6h Jc]
tiger48475: folds
EricSteph261: calls $0.02
UnderMeSensi is disconnected
UnderMeSensi has timed out while disconnected
UnderMeSensi: folds
UnderMeSensi is sitting out
supermeXXX: calls $0.01
s0rrow: checks
*** FLOP *** [8d 7s Qh]
supermeXXX: bets $0.02
s0rrow: folds
EricSteph261: calls $0.02
*** TURN *** [8d 7s Qh] [As]
supermeXXX: bets $0.04
EricSteph261: calls $0.04
*** RIVER *** [8d 7s Qh As] [5d]
supermeXXX: checks
EricSteph261: checks
*** SHOW DOWN ***
supermeXXX: shows [Kh Qd 9s Th] (HI: a pair of Queens)
EricSteph261: shows [Jh 2d 5s 6c] (HI: a pair of Fives; LO: 7,6,5,2,A)
supermeXXX collected $0.09 from pot
EricSteph261 collected $0.09 from pot
*** SUMMARY ***
Total pot $0.18 | Rake $0
Board [8d 7s Qh As 5d]
Seat 1: EricSteph261 showed [Jh 2d 5s 6c] and won ($0.09) with HI: a pair of Fives; LO: 7,6,5,2,A
Seat 2: UnderMeSensi (button) folded before Flop (didn't bet)
Seat 3: supermeXXX (small blind) showed [Kh Qd 9s Th] and won ($0.09) with HI: a pair of Queens
Seat 5: s0rrow (big blind) folded on the Flop
Seat 6: tiger48475 folded before Flop (didn't bet)
PokerStars Game #35875293439: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:45:14 ET
Table 'Gaby II' 6-max Seat #3 is the button
Seat 1: EricSteph261 ($11.28 in chips)
Seat 3: supermeXXX ($1.25 in chips)
Seat 5: s0rrow ($5.25 in chips)
Seat 6: tiger48475 ($5 in chips)
s0rrow: posts small blind $0.01
tiger48475: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [9c 8h 8s 3c]
EricSteph261: calls $0.02
supermeXXX: calls $0.02
s0rrow: calls $0.01
tiger48475: checks
*** FLOP *** [Ah 2d Qc]
s0rrow: checks
tiger48475: checks
EricSteph261: checks
supermeXXX: checks
*** TURN *** [Ah 2d Qc] [3d]
s0rrow: checks
tiger48475: checks
EricSteph261: checks
supermeXXX: checks
*** RIVER *** [Ah 2d Qc 3d] [6s]
s0rrow: checks
tiger48475: checks
EricSteph261: checks
supermeXXX: checks
*** SHOW DOWN ***
s0rrow: shows [9c 8h 8s 3c] (HI: a pair of Eights; LO: 8,6,3,2,A)
tiger48475: shows [3s 5s Ts Th] (HI: a pair of Tens; LO: 6,5,3,2,A)
EricSteph261: shows [As Ks Jh 7h] (HI: a pair of Aces; LO: 7,6,3,2,A)
supermeXXX: mucks hand
EricSteph261 collected $0.04 from pot
tiger48475 collected $0.04 from pot
*** SUMMARY ***
Total pot $0.08 | Rake $0
Board [Ah 2d Qc 3d 6s]
Seat 1: EricSteph261 showed [As Ks Jh 7h] and won ($0.04) with HI: a pair of Aces; LO: 7,6,3,2,A
Seat 3: supermeXXX (button) mucked [9h 9s 4c Kc]
Seat 5: s0rrow (small blind) showed [9c 8h 8s 3c] and lost with HI: a pair of Eights; LO: 8,6,3,2,A
Seat 6: tiger48475 (big blind) showed [3s 5s Ts Th] and won ($0.04) with HI: a pair of Tens; LO: 6,5,3,2,A
PokerStars Game #35875328026: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:46:13 ET
Table 'Gaby II' 6-max Seat #5 is the button
Seat 1: EricSteph261 ($11.30 in chips)
Seat 3: supermeXXX ($1.23 in chips)
Seat 5: s0rrow ($5.23 in chips)
Seat 6: tiger48475 ($5.02 in chips)
tiger48475: posts small blind $0.01
EricSteph261: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [Qd 6h 8s 6c]
supermeXXX: calls $0.02
s0rrow: folds
tiger48475: calls $0.01
EricSteph261: checks
*** FLOP *** [Kc Ac 5s]
tiger48475: checks
EricSteph261: checks
supermeXXX: checks
*** TURN *** [Kc Ac 5s] [3h]
tiger48475: checks
EricSteph261: checks
supermeXXX: checks
*** RIVER *** [Kc Ac 5s 3h] [Qh]
tiger48475: bets $0.06
EricSteph261: folds
EricSteph261 is sitting out
supermeXXX: folds
Uncalled bet ($0.06) returned to tiger48475
tiger48475 collected $0.06 from pot
*** SUMMARY ***
Total pot $0.06 | Rake $0
Board [Kc Ac 5s 3h Qh]
Seat 1: EricSteph261 (big blind) folded on the River
Seat 3: supermeXXX folded on the River
Seat 5: s0rrow (button) folded before Flop (didn't bet)
Seat 6: tiger48475 (small blind) collected ($0.06)
PokerStars Game #35875356253: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:47:00 ET
Table 'Gaby II' 6-max Seat #6 is the button
Seat 3: supermeXXX ($1.21 in chips)
Seat 5: s0rrow ($5.23 in chips)
Seat 6: tiger48475 ($5.06 in chips)
supermeXXX: posts small blind $0.01
s0rrow: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [8h Jd 5d 8d]
tiger48475: folds
supermeXXX: calls $0.01
s0rrow: checks
*** FLOP *** [Ks 9s 6c]
supermeXXX: bets $0.02
s0rrow: calls $0.02
*** TURN *** [Ks 9s 6c] [Qc]
supermeXXX: bets $0.02
s0rrow: calls $0.02
*** RIVER *** [Ks 9s 6c Qc] [Ad]
supermeXXX: checks
s0rrow: checks
*** SHOW DOWN ***
supermeXXX: shows [Tc 7d 8c 3s] (HI: high card Ace)
s0rrow: shows [8h Jd 5d 8d] (HI: a pair of Eights)
s0rrow collected $0.12 from pot
No low hand qualified
*** SUMMARY ***
Total pot $0.12 | Rake $0
Board [Ks 9s 6c Qc Ad]
Seat 3: supermeXXX (small blind) showed [Tc 7d 8c 3s] and lost with HI: high card Ace
Seat 5: s0rrow (big blind) showed [8h Jd 5d 8d] and won ($0.12) with HI: a pair of Eights
Seat 6: tiger48475 (button) folded before Flop (didn't bet)
PokerStars Game #35875379792: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:47:39 ET
Table 'Gaby II' 6-max Seat #3 is the button
Seat 3: supermeXXX ($1.15 in chips)
Seat 5: s0rrow ($5.29 in chips)
Seat 6: tiger48475 ($5.06 in chips)
s0rrow: posts small blind $0.01
tiger48475: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [9c 5h 3s Th]
supermeXXX: calls $0.02
s0rrow: calls $0.01
tiger48475: checks
*** FLOP *** [Jc 3h Jd]
s0rrow: checks
tiger48475: checks
supermeXXX: checks
*** TURN *** [Jc 3h Jd] [6d]
s0rrow: checks
tiger48475: bets $0.06
supermeXXX: folds
EricSteph261 has returned
s0rrow: calls $0.06
*** RIVER *** [Jc 3h Jd 6d] [5c]
s0rrow: checks
tiger48475: bets $0.14
s0rrow: folds
Uncalled bet ($0.14) returned to tiger48475
tiger48475 collected $0.18 from pot
*** SUMMARY ***
Total pot $0.18 | Rake $0
Board [Jc 3h Jd 6d 5c]
Seat 3: supermeXXX (button) folded on the Turn
Seat 5: s0rrow (small blind) folded on the River
Seat 6: tiger48475 (big blind) collected ($0.18)
PokerStars Game #35875409365: Omaha Hi/Lo Pot Limit ($0.01/$0.02 USD) - 2009/11/26 10:48:29 ET
Table 'Gaby II' 6-max Seat #5 is the button
Seat 1: EricSteph261 ($11.28 in chips)
Seat 3: supermeXXX ($1.13 in chips)
Seat 5: s0rrow ($5.21 in chips)
Seat 6: tiger48475 ($5.16 in chips)
tiger48475: posts small blind $0.01
EricSteph261: posts big blind $0.02
*** HOLE CARDS ***
Dealt to s0rrow [6h 3c Th 2s]
supermeXXX: calls $0.02
s0rrow: calls $0.02
tiger48475: calls $0.01
EricSteph261 has timed out
EricSteph261: checks
*** FLOP *** [9d 5s Jh]
tiger48475: bets $0.06
EricSteph261 has timed out
EricSteph261: folds
EricSteph261 is sitting out
supermeXXX: calls $0.06
s0rrow: calls $0.06
*** TURN *** [9d 5s Jh] [Ks]
tiger48475: checks
supermeXXX: bets $0.10
s0rrow: folds
tiger48475: calls $0.10
*** RIVER *** [9d 5s Jh Ks] [9s]
tiger48475: checks
supermeXXX: checks
*** SHOW DOWN ***
tiger48475: shows [6s 9h 9c Ad] (HI: four of a kind, Nines)
supermeXXX: mucks hand
tiger48475 collected $0.46 from pot
No low hand qualified
*** SUMMARY ***
Total pot $0.46 | Rake $0
Board [9d 5s Jh Ks 9s]
Seat 1: EricSteph261 (big blind) folded on the Flop
Seat 3: supermeXXX mucked [Qd Tc 5h Ts]
Seat 5: s0rrow (button) folded on the Turn
Seat 6: tiger48475 (small blind) showed [6s 9h 9c Ad] and won ($0.46) with HI: four of a kind, Nines

View File

@ -0,0 +1,96 @@
PokerStars Game #35874676388: 7 Card Stud Hi/Lo Limit ($0.04/$0.08 USD) - 2009/11/26 10:27:46 ET
Table 'Dawn II' 8-max
Seat 1: u.pressure ($11.17 in chips)
Seat 2: 123smoothie ($0.99 in chips)
Seat 3: gashpor ($1.40 in chips)
Seat 4: denny501 ($0.71 in chips)
Seat 5: s0rrow ($1.52 in chips)
Seat 6: TomSludge ($1.58 in chips)
Seat 7: Soroka69 ($0.83 in chips)
Seat 8: rdiezchang ($2.05 in chips)
u.pressure: posts the ante $0.01
123smoothie: posts the ante $0.01
gashpor: posts the ante $0.01
denny501: posts the ante $0.01
s0rrow: posts the ante $0.01
TomSludge: posts the ante $0.01
Soroka69: posts the ante $0.01
rdiezchang: posts the ante $0.01
*** 3rd STREET ***
Dealt to u.pressure [Td]
Dealt to 123smoothie [4c]
Dealt to gashpor [5d]
Dealt to denny501 [2c]
Dealt to s0rrow [7c 3s 5h]
Dealt to TomSludge [8s]
Dealt to Soroka69 [7d]
Dealt to rdiezchang [Ad]
denny501: brings in for $0.02
s0rrow: calls $0.02
TomSludge: folds
Soroka69: calls $0.02
rdiezchang: calls $0.02
u.pressure: folds
123smoothie: calls $0.02
gashpor: calls $0.02
*** 4th STREET ***
Dealt to 123smoothie [4c] [3c]
Dealt to gashpor [5d] [Qd]
Dealt to denny501 [2c] [7s]
Dealt to s0rrow [7c 3s 5h] [Qc]
Dealt to Soroka69 [7d] [5s]
Dealt to rdiezchang [Ad] [Js]
rdiezchang: checks
123smoothie: checks
gashpor: checks
denny501: folds
denny501 leaves the table
s0rrow: checks
Soroka69: checks
*** 5th STREET ***
Dealt to 123smoothie [4c 3c] [9s]
Dealt to gashpor [5d Qd] [Jd]
Dealt to s0rrow [7c 3s 5h Qc] [Kc]
Dealt to Soroka69 [7d 5s] [5c]
Dealt to rdiezchang [Ad Js] [Ts]
LainaRahat joins the table at seat #4
Soroka69: checks
rdiezchang: checks
123smoothie: checks
gashpor: bets $0.08
s0rrow: calls $0.08
Soroka69: calls $0.08
rdiezchang: folds
123smoothie: folds
*** 6th STREET ***
Dealt to gashpor [5d Qd Jd] [9d]
Dealt to s0rrow [7c 3s 5h Qc Kc] [6d]
Dealt to Soroka69 [7d 5s 5c] [2s]
Soroka69: checks
gashpor: bets $0.08
s0rrow: calls $0.08
Soroka69: calls $0.08
*** RIVER ***
Dealt to s0rrow [7c 3s 5h Qc Kc 6d] [4d]
Soroka69: checks
gashpor: bets $0.08
s0rrow: calls $0.08
Soroka69: folds
*** SHOW DOWN ***
gashpor: shows [4h 3d 5d Qd Jd 9d 6h] (HI: a flush, Queen high)
s0rrow: shows [7c 3s 5h Qc Kc 6d 4d] (HI: a straight, Three to Seven; LO: 7,6,5,4,3)
gashpor collected $0.40 from pot
s0rrow collected $0.40 from pot
*** SUMMARY ***
Total pot $0.84 | Rake $0.04
Seat 1: u.pressure folded on the 3rd Street (didn't bet)
Seat 2: 123smoothie folded on the 5th Street
Seat 3: gashpor showed [4h 3d 5d Qd Jd 9d 6h] and won ($0.40) with HI: a flush, Queen high
Seat 4: denny501 folded on the 4th Street
Seat 5: s0rrow showed [7c 3s 5h Qc Kc 6d 4d] and won ($0.40) with HI: a straight, Three to Seven; LO: 7,6,5,4,3
Seat 6: TomSludge folded on the 3rd Street (didn't bet)
Seat 7: Soroka69 folded on the River
Seat 8: rdiezchang folded on the 5th Street

View File

@ -87,19 +87,12 @@ def testFlopImport():
print "DEBUG: stored: %s dups: %s partial: %s errs: %s ttime: %s" %(stored, dups, partial, errs, ttime)
importer.clearFileList()
col = { 'sawShowdown': 2
}
q = """SELECT
s.name,
g.category,
g.base,
g.type,
g.limitType,
g.hilo,
round(g.smallBlind / 100.0,2) as sb,
round(g.bigBlind / 100.0,2) as bb,
round(g.smallBet / 100.0,2) as SB,
round(g.bigBet / 100.0,2) as BB,
s.currency,
hp.playerId,
p.name,
hp.sawShowdown
FROM
Hands as h,
@ -116,10 +109,10 @@ and s.id = p.siteid"""
c = db.get_cursor()
c.execute(q)
result = c.fetchall()
print "DEBUG: result: %s" %result
assert 1 == 0
for row, data in enumerate(result):
print "DEBUG: result[%s]: %s" %(row, result[row])
# Assert if any sawShowdown = True
assert result[row][col['sawShowdown']] == 0
def testStudImport():
db.recreate_tables()