p68 - updated PrintPlayerHudData. this is alpha2

This commit is contained in:
steffen123 2008-08-23 01:16:35 +01:00
parent 1b4696b268
commit 60bdfb64f3
7 changed files with 80 additions and 51 deletions

View File

@ -1,15 +1,16 @@
todolist (db=database, imp=importer, tv=tableviewer)
Everything is subject to change and especially the order will often change. Patches for any of these or other features are very welcome, see readme-overview.txt for contacts.
Everything is subject to change and the order does not indicate priority. Patches for any of these or other features are very welcome, see readme-overview.txt for contacts.
Please also see db-todo.txt
alpha2 (release 22Aug)
======
seperate and improve instructions for update
PrintPlayerHudData
update website for dropping profile subfolder
alpha3 (release by 31Aug)
======
anonymiser script to generate testdata without making a dozen find&replace all... remember to replace hand no with running no
update PrintPlayerHudData to take position and all the new fields into account
specify NOT NULL on almost all table columns
ebuild: symlink doesnt work, USE gtk, more automation, update install-in-gentoo.txt, set permissions in it, copy docs to correct place, use games eclass or whatever to get games group notice, print notice about install-in-gentoo.txt and mysql --config
update status or make a support matrix table for website
@ -35,7 +36,6 @@ fill the fold to CB/2B/3B cache fields
verify the totalProfit cache field
fill the check-/call-raise cache fields
move version into seperate file for fpdb gui and db
anonymiser script to generate testdata without making a dozen find&replace all... remember to replace hand no with running no
table with data for graphs for SD/F, W$wSF, W$@SD
SD/F, W$wsF, W$@SD too low as reported by daedal in 2+2 forum on 12/13aug
show database version error in GUI and use fpdb_db class const for it, add it to title

View File

@ -1,7 +1,25 @@
alpha2
======
Main new features:
Now reads and displays steal attempts and reaction to them
Hi everyone,
we are proud to announce the second alpha release of fpdb, the free/libre open source poker tracker. The biggest highlight is the HUD for Linux made by Ray (and perhaps Mac, not sure). But for everyone fpdb now also supports PS tournaments (SnG and MTT) and FTP ring games. There is also a new auto-importer though it currently only runs on one file per instance (though you can open multiple instances of fpdb).
Fpdb also parses alot of new situations into the cache table for the HUD, most of which are already available through the Linux HUD. There have also been a large number of bugfixes for all kinds of things. For full details of the changes see the git commit comments.
The website will be updated shortly but in the meantime please note that the configuration file now resides in ~/.fpdb/default.conf on Linux/Mac and in C:\Documents and Settings\Application Data\fpdb\default.conf on Windows (you have to translate the Documents and Settings, but not the Application data bit). Apart from that just follow the instructions on the site. I will be updating/improving the fpdb ebuild for Gentoo next week, please send me a PM or email if you would like a package for another Linux/BSD.
To use the HUD in Linux simply run the auto importer whilst having the table open. You will also have to rename HUD_config.xml.example to HUD_config.xml and edit the database parameters in there in addition to what is written in the install guide.
If you've been using fpdb alpha1 just delete the fpdb folder, follow the installation guide except for installing the dependencies, then run fpdb and run recreate tables. Note that you will have to reimport ALL your history files.
For external devs (in particular Youre Toast): The table design has gone through some changes, though most of it was just renaming to make a consistent naming scheme and to make it more flexible towards stud/razz type games. I do not expect to having to make any future changes to the existing fields but I cannot yet guarantee that. There will be some additional fields in particular in the HudCache table. Please let me know if you need any further fields.
Any questions and comments please post here, send me a PM or email, post a feature request or bug report on sourceforge or use any of the other means of contact listed on our webpage.
Enjoy,
The fpdb team
PS: I personally will be away Sun-Tue so I probably won't be responding to anything but feel free to message me anyways, but if you post here or at SF someone else might be able to help.
alpha1
======

View File

@ -376,7 +376,7 @@ This program is licensed under the AGPL3, see docs"""+os.sep+"agpl-3.0.txt")
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.connect("delete_event", self.delete_event)
self.window.connect("destroy", self.destroy)
self.window.set_title("Free Poker DB - version: alpha1+, p67")
self.window.set_title("Free Poker DB - version: alpha2, p68")
self.window.set_border_width(1)
self.window.set_size_request(1020,400)
self.window.set_resizable(True)

View File

@ -297,15 +297,18 @@ class fpdb_db:
street0Aggr INT,
street0_3B4BChance INT,
street0_3B4BDone INT,
street1Seen INT,
street2Seen INT,
street3Seen INT,
street4Seen INT,
sawShowdown INT,
street1Aggr INT,
street2Aggr INT,
street3Aggr INT,
street4Aggr INT,
otherRaisedStreet1 INT,
otherRaisedStreet2 INT,
otherRaisedStreet3 INT,

View File

@ -43,16 +43,16 @@ print "Basic Data"
print "=========="
print "bigblind:",options.bigblind, "category:",options.cat, "limitType:", options.limit, "name:", options.name, "gameType:", options.gameType, "site:", options.site
cursor.execute("SELECT id FROM sites WHERE name=%s", (options.site,))
cursor.execute("SELECT id FROM Sites WHERE name=%s", (options.site,))
siteId=cursor.fetchone()[0]
cursor.execute("SELECT id FROM gametypes WHERE big_blind=%s AND category=%s AND site_id=%s AND limit_type=%s AND type=%s", (options.bigblind, options.cat, siteId, options.limit, options.gameType))
cursor.execute("SELECT id FROM Gametypes WHERE bigBlind=%s AND category=%s AND siteId=%s AND limitType=%s AND type=%s", (options.bigblind, options.cat, siteId, options.limit, options.gameType))
gametypeId=cursor.fetchone()[0]
cursor.execute("SELECT id FROM players WHERE name=%s", (options.name,))
cursor.execute("SELECT id FROM Players WHERE name=%s", (options.name,))
playerId=cursor.fetchone()[0]
cursor.execute("SELECT id FROM HudDataHoldemOmaha WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s",(gametypeId, playerId, options.seats))
cursor.execute("SELECT id FROM HudCache WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s",(gametypeId, playerId, options.seats))
hudDataId=cursor.fetchone()[0]
print "siteId:", siteId, "gametypeId:", gametypeId, "playerId:", playerId, "hudDataId:", hudDataId
@ -61,43 +61,47 @@ print ""
print "HUD Raw Hand Counts"
print "==================="
cursor.execute ("SELECT HDs, VPIP, PFR, PF3B4BChance, PF3B4B FROM HudDataHoldemOmaha WHERE id=%s", (hudDataId,))
cursor.execute ("SELECT HDs, street0VPI, street0Aggr, street0_3B4BChance, street0_3B4BDone FROM HudCache WHERE id=%s", (hudDataId,))
fields=cursor.fetchone()
print "HDs:",fields[0]
print "VPIP:",fields[1]
print "PFR:",fields[2]
print "PF3B4BChance:",fields[3]
print "PF3B4B:",fields[4]
print "street0VPI:",fields[1]
print "street0Aggr:",fields[2]
print "street0_3B4BChance:",fields[3]
print "street0_3B4BDone:",fields[4]
print ""
cursor.execute ("SELECT sawFlop, sawTurn, sawRiver, sawShowdown FROM HudDataHoldemOmaha WHERE id=%s", (hudDataId,))
cursor.execute ("SELECT street1Seen, street2Seen, street3Seen, street4Seen, sawShowdown FROM HudCache WHERE id=%s", (hudDataId,))
fields=cursor.fetchone()
print "sawFlop:",fields[0]
print "sawTurn:",fields[1]
print "sawRiver:",fields[2]
print "sawShowdown:",fields[3]
print "street1Seen:",fields[0]
print "street2Seen:",fields[1]
print "street3Seen:",fields[2]
print "street4Seen:",fields[3]
print "sawShowdown:",fields[4]
print ""
cursor.execute ("SELECT raisedFlop, raisedTurn, raisedRiver FROM HudDataHoldemOmaha WHERE id=%s", (hudDataId,))
cursor.execute ("SELECT street1Aggr, street2Aggr, street3Aggr, street4Aggr FROM HudCache WHERE id=%s", (hudDataId,))
fields=cursor.fetchone()
print "raisedFlop:",fields[0]
print "raisedTurn:",fields[1]
print "raisedRiver:",fields[2]
print "street1Aggr:",fields[0]
print "street2Aggr:",fields[1]
print "street3Aggr:",fields[2]
print "street4Aggr:",fields[3]
print ""
cursor.execute ("SELECT otherRaisedFlop, otherRaisedFlopFold, otherRaisedTurn, otherRaisedTurnFold, otherRaisedRiver, otherRaisedRiverFold FROM HudDataHoldemOmaha WHERE id=%s", (hudDataId,))
cursor.execute ("SELECT otherRaisedStreet1, otherRaisedStreet2, otherRaisedStreet3, otherRaisedStreet4, foldToOtherRaisedStreet1, foldToOtherRaisedStreet2, foldToOtherRaisedStreet3, foldToOtherRaisedStreet4 FROM HudCache WHERE id=%s", (hudDataId,))
fields=cursor.fetchone()
print "otherRaisedFlop:",fields[0]
print "otherRaisedFlopFold:",fields[1]
print "otherRaisedTurn:",fields[2]
print "otherRaisedTurnFold:",fields[3]
print "otherRaisedRiver:",fields[4]
print "otherRaisedRiverFold:",fields[5]
print "otherRaisedStreet1:",fields[0]
print "otherRaisedStreet2:",fields[1]
print "otherRaisedStreet3:",fields[2]
print "otherRaisedStreet4:",fields[3]
print "foldToOtherRaisedStreet1:",fields[4]
print "foldToOtherRaisedStreet2:",fields[5]
print "foldToOtherRaisedStreet3:",fields[6]
print "foldToOtherRaisedStreet4:",fields[7]
print ""
cursor.execute ("SELECT wonWhenSeenFlop, wonAtSD FROM HudDataHoldemOmaha WHERE id=%s", (hudDataId,))
cursor.execute ("SELECT wonWhenSeenStreet1, wonAtSD FROM HudCache WHERE id=%s", (hudDataId,))
fields=cursor.fetchone()
print "wonWhenSeenFlop:",fields[0]
print "wonWhenSeenStreet1:",fields[0]
print "wonAtSD:",fields[1]

View File

@ -8,28 +8,32 @@ siteId: 2 gametypeId: 1 playerId: 1 hudDataId: 1
HUD Raw Hand Counts
===================
HDs: 3
VPIP: 1
PFR: 0
PF3B4BChance: 1
PF3B4B: 0
street0VPI: 1
street0Aggr: 0
street0_3B4BChance: 1
street0_3B4BDone: 0
sawFlop: 1
sawTurn: 1
sawRiver: 1
street1Seen: 1
street2Seen: 1
street3Seen: 1
street4Seen: 0
sawShowdown: 0
raisedFlop: 0
raisedTurn: 0
raisedRiver: 0
street1Aggr: 0
street2Aggr: 0
street3Aggr: 0
street4Aggr: 0
otherRaisedFlop: 1
otherRaisedFlopFold: 0
otherRaisedTurn: 1
otherRaisedTurnFold: 0
otherRaisedRiver: 1
otherRaisedRiverFold: 1
otherRaisedStreet1: 1
otherRaisedStreet2: 1
otherRaisedStreet3: 1
otherRaisedStreet4: 0
foldToOtherRaisedStreet1: 0
foldToOtherRaisedStreet2: 0
foldToOtherRaisedStreet3: 1
foldToOtherRaisedStreet4: 0
wonWhenSeenFlop: 0.0
wonWhenSeenStreet1: 0.0
wonAtSD: 0.0
stealAttemptChance: 0

View File

@ -30,7 +30,7 @@ echo "it should've reported first that it stored 3, then that it had 3 duplicate
./PrintHand.py -p$1 --hand=14519420999 > ps.14519420999.found.txt && colordiff ps.14519420999.found.txt ps.14519420999.expected.txt
./PrintHand.py -p$1 --hand=14519433154 > ps.14519433154.found.txt && colordiff ps.14519433154.found.txt ps.14519433154.expected.txt
#./PrintPlayerHudData.py -p$1 > ps-flags-3hands.found.txt && colordiff ps-flags-3hands.found.txt ps-flags-3hands.expected.txt
./PrintPlayerHudData.py -p$1 > ps-flags-3hands.found.txt && colordiff ps-flags-3hands.found.txt ps-flags-3hands.expected.txt
#./print_hand.py -p$1 --site="Full Tilt Poker" --hand=6367428246 > ftp.6367428246.found.txt && colordiff ftp.6367428246.found.txt ftp.6367428246.expected.txt