git33 - added fields for CB/2B/3B to table design, table creation and tv. importer fills it with placeholder data
renamed ebuild from v0.01 alpha to v1.0 alpha as I won't be using normal version numbers before 1.0
This commit is contained in:
parent
aecfa6d61b
commit
61d0857a4c
|
@ -3,8 +3,7 @@ Everything is subject to change.
|
|||
|
||||
alpha2
|
||||
======
|
||||
add steal reaction to tv
|
||||
CB, 2nd/3rd Barrel, fold to these
|
||||
CB, 2nd/3rd Barrel, fold to these -> actually calculate them
|
||||
printhand each and the 2/3 relevant printplayerflags respectively on ps-lhe-ring-successful-steal-by-cutoff.txt and ps-lhe-ring-call-3B-preflop-cb-no2b.txt
|
||||
auto-import
|
||||
seperate and improve instructions for update
|
||||
|
@ -15,6 +14,10 @@ delete old mailing list and create fpdb-announce
|
|||
finish updating filelist
|
||||
return sng support
|
||||
update abbreviations.txt
|
||||
fix up bg colours in tv
|
||||
ebuild symlink doesnt work
|
||||
more automation in the ebuild, update install-in-gentoo.txt, set permissions in it
|
||||
gentoo ebuild: USE dedicated, USE postgresql, copy docs
|
||||
|
||||
alpha3
|
||||
======
|
||||
|
@ -24,7 +27,7 @@ show database version error in GUI
|
|||
|
||||
before beta
|
||||
===========
|
||||
optionally combine FB/FS
|
||||
optionally combine FB/FS and CB/2B/3B
|
||||
separate all gui and all processing into files that are named accordingly
|
||||
ensure that there is only one db handle flying around and that its state is handled properly, ie. by the GUI. i think that might be why we have to reconnect the DB in tableviewer.
|
||||
figure out what slowed it down so much between git19 and git21 (8/9aug)
|
||||
|
@ -81,7 +84,6 @@ ensure that refresh still takes no more than 10 seks on my P3M-800 (a quick run
|
|||
select range of stakes and sng/mtt values and types for tv
|
||||
change "for i" to more sensible var name instead of i
|
||||
recognise somewhere if a file is still active and if so keep it open and only read new hands rather than detecting dupes
|
||||
gentoo ebuild
|
||||
|
||||
can wait till 1.x
|
||||
=================
|
||||
|
|
|
@ -1,4 +1,10 @@
|
|||
alpha2
|
||||
======
|
||||
Main new features:
|
||||
Now reads and displays steal attempts and reaction to them
|
||||
|
||||
alpha1
|
||||
======
|
||||
Hi everyone,
|
||||
I am proud to announce the first release of my new poker tracking software fpdb (freepokerdb, very imaginative I know ;) ). You may wonder why I bothered when now with HM and PT3 there are at least two excellent packages to choose from.
|
||||
|
||||
|
@ -9,7 +15,7 @@ Four main reasons:
|
|||
You still need to run Windows or wine to run the actual poker client though.
|
||||
4. Fpdb won't irritate you with copy prevention measures.
|
||||
|
||||
To install it go to https://sourceforge.net/projects/showfiles.php?group_id=226872 and download the zip or tar.bz2, unpack it, and follow the instructions in docs/install-in-* for your operating system (e.g. docs\install-in-windows.txt). Sourceforge lists the release files as source files, not as binary executables - this is correct, python will automagically compile as and when required.
|
||||
To install it go to https://sourceforge.net/project/showfiles.php?group_id=226872 and download the zip or tar.bz2, unpack it, and follow the instructions in docs/install-in-* for your operating system (e.g. docs\install-in-windows.txt). Sourceforge lists the release files as source files, not as binary executables - this is correct, python will automagically compile as and when required.
|
||||
|
||||
This is alpha1, as the name indicates it is still at a very early stage. The importer and database are nearing completion but the GUI in particular is not very functional yet and the HUD is missing alltogether.
|
||||
|
||||
|
|
|
@ -12,18 +12,13 @@ Stud/Razz ring games on PokerStars
|
|||
==================================
|
||||
Broken - used to work, hardly tested. Needs to be updated to new infrastructure using a HudData table rather than hands_players_flags. Will fix this shortly.
|
||||
|
||||
A note on No Limit and Pot Limit
|
||||
================================
|
||||
Fpdb fully supports NL/PL, however currently only as far as it does limit games. So it'll tell you how often a player has bet, but not how much. But the mate I'm writing this for doesnt play NL/PL (and neither do I) so volunteers would be most welcome.
|
||||
|
||||
Tournaments/SnGs
|
||||
================
|
||||
Broken - used to work, hardly tested. Needs to be updated to new infrastructure.. Will probably fix this quite soon.
|
||||
Independent of the current brokenness the tourney support would only show information as if a tourney is a ring game - but it's not. If you play tournaments and would like to help improving this let me know, I probably won't bother.
|
||||
Broken - used to work, hardly tested. Needs to be updated to new infrastructure.. Will probably fix this shortly
|
||||
|
||||
Full Tilt Poker
|
||||
===============
|
||||
Not sure - it should import them, but I believe the table viewer won't work. Would be easy to fix though, volunteers welcome
|
||||
Not sure - it should import them, but I believe the table viewer won't work. Would be easy to fix I think, volunteers welcome. This used to work in a pre-alpha but basically was left behind during updates to the other stuff.
|
||||
|
||||
Other Sites
|
||||
===========
|
||||
|
|
|
@ -509,6 +509,7 @@ autorates</B></P>
|
|||
<TD><P>float</P></TD>
|
||||
<TD><P>As wonWhenSeenFlop, but for showdown.</P></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>stealAttemptChance</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
|
@ -539,6 +540,37 @@ autorates</B></P>
|
|||
<TD><P>int</P></TD>
|
||||
<TD><P>Player folded SB to steal attempt</P></TD>
|
||||
</TR>
|
||||
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>contBetChance</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player had chance to make continuation bet</P></TD>
|
||||
</TR>
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>contBetDone</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player used chance to make continuation bet</P></TD>
|
||||
</TR>
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>secondBarrelChance</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player had chance to make second barrel bet</P></TD>
|
||||
</TR>
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>secondBarrelDone</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player used chance to make second barrel bet</P></TD>
|
||||
</TR>
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>thirdBarrelChance</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player had chance to make third barrel bet</P></TD>
|
||||
</TR>
|
||||
<TR VALIGN=TOP>
|
||||
<TD><P>thirdBarrelDone</P></TD>
|
||||
<TD><P>int</P></TD>
|
||||
<TD><P>Player used chance to make third barrel bet</P></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P></P>
|
||||
<P><B>Table hands_actions</B></P>
|
||||
|
|
37
packaging/fpdb-1.0_alpha1_p27.ebuild
Normal file
37
packaging/fpdb-1.0_alpha1_p27.ebuild
Normal file
|
@ -0,0 +1,37 @@
|
|||
# Copyright 1999-2008 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/games-util/fpdb/fpdb-1.0_alpha1_p27.ebuild,v 1.0 2008/08/13 05:45:00 jer Exp $
|
||||
|
||||
NEED_PYTHON=2.3
|
||||
|
||||
#inherit distutils
|
||||
|
||||
MY_P="fpdb-${PV}"
|
||||
DESCRIPTION="A database program to track your online poker games"
|
||||
HOMEPAGE="https://sourceforge.net/projects/fpdb/"
|
||||
SRC_URI="mirror://sourceforge/fpdb/fpdb-alpha1-git27.tar.bz2"
|
||||
|
||||
LICENSE="AGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
#note: I would be very surprised if this doesnt work on other architectures, please send me your experiences
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="virtual/mysql
|
||||
dev-python/mysql-python
|
||||
>=x11-libs/gtk+-2.10
|
||||
dev-python/pygtk"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
src_install() {
|
||||
DIRINST="${D}usr/share/games/fpdb/"
|
||||
mkdir -p "${DIRINST}"
|
||||
cp -R * "${DIRINST}" || die
|
||||
|
||||
DIRBIN="${D}usr/bin/games/"
|
||||
mkdir -p "${DIRBIN}"
|
||||
#echo "dirs"
|
||||
#echo "${DIRINST}pyfpdb/fpdb.py"
|
||||
#echo
|
||||
ln -s "${DIRINST}pyfpdb/fpdb.py" "${DIRBIN}/fpdb.py" || die
|
||||
}
|
|
@ -347,7 +347,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+, git31")
|
||||
self.window.set_title("Free Poker DB - version: alpha1+, git33")
|
||||
self.window.set_border_width(1)
|
||||
self.window.set_size_request(950,400)
|
||||
self.window.set_resizable(True)
|
||||
|
|
|
@ -47,7 +47,7 @@ class fpdb_db:
|
|||
try:
|
||||
self.cursor.execute("SELECT * FROM settings")
|
||||
settings=self.cursor.fetchone()
|
||||
if settings[0]!=30:
|
||||
if settings[0]!=33:
|
||||
print "outdated database version - please recreate tables"
|
||||
except:# _mysql_exceptions.ProgrammingError:
|
||||
print "failed to read settings table - please recreate tables"
|
||||
|
@ -274,14 +274,22 @@ class fpdb_db:
|
|||
otherRaisedRiverFold INT,
|
||||
wonWhenSeenFlop FLOAT,
|
||||
wonAtSD FLOAT,
|
||||
|
||||
stealAttemptChance INT,
|
||||
stealAttempted INT,
|
||||
foldBbToStealChance INT,
|
||||
foldedBbToSteal INT,
|
||||
foldSbToStealChance INT,
|
||||
foldedSbToSteal INT)""")
|
||||
foldedSbToSteal INT,
|
||||
|
||||
self.cursor.execute("INSERT INTO settings VALUES (30);")
|
||||
contBetChance INT,
|
||||
contBetDone INT,
|
||||
secondBarrelChance INT,
|
||||
secondBarrelDone INT,
|
||||
thirdBarrelChance INT,
|
||||
thirdBarrelDone INT)""")
|
||||
|
||||
self.cursor.execute("INSERT INTO settings VALUES (33);")
|
||||
self.cursor.execute("INSERT INTO sites VALUES (DEFAULT, \"Full Tilt Poker\", 'USD');")
|
||||
self.cursor.execute("INSERT INTO sites VALUES (DEFAULT, \"PokerStars\", 'USD');")
|
||||
self.db.commit()
|
||||
|
|
|
@ -1249,10 +1249,6 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
|||
wonAtSD=[]
|
||||
stealAttemptChance=[]
|
||||
stealAttempted=[]
|
||||
foldBbToStealChance=[]
|
||||
foldedBbToSteal=[]
|
||||
foldSbToStealChance=[]
|
||||
foldedSbToSteal=[]
|
||||
|
||||
firstPfRaiseByNo=-1
|
||||
firstPfRaiserId=-1
|
||||
|
@ -1487,6 +1483,10 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
|||
result['stealAttempted']=stealAttempted
|
||||
|
||||
#after having calculated the above we now do second level calculations, so far just steal attempts.
|
||||
foldBbToStealChance=[]
|
||||
foldedBbToSteal=[]
|
||||
foldSbToStealChance=[]
|
||||
foldedSbToSteal=[]
|
||||
for player in range (len(player_ids)):
|
||||
myFoldBbToStealChance=False
|
||||
myFoldedBbToSteal=False
|
||||
|
@ -1515,6 +1515,48 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
|||
result['foldSbToStealChance']=foldSbToStealChance
|
||||
result['foldedSbToSteal']=foldedSbToSteal
|
||||
|
||||
#now CB/2B/3B
|
||||
contBetChance=[]
|
||||
contBetDone=[]
|
||||
for player in range (len(player_ids)):
|
||||
myContBetChance=False
|
||||
myContBetDone=False
|
||||
|
||||
#calc CB
|
||||
|
||||
contBetChance.append(myContBetChance)
|
||||
contBetDone.append(myContBetDone)
|
||||
result['contBetChance']=contBetDone
|
||||
result['contBetDone']=contBetDone
|
||||
|
||||
#now 2B
|
||||
secondBarrelChance=[]
|
||||
secondBarrelDone=[]
|
||||
for player in range (len(player_ids)):
|
||||
mySecondBarrelChance=False
|
||||
mySecondBarrelDone=False
|
||||
|
||||
#calc 2b
|
||||
|
||||
secondBarrelChance.append(mySecondBarrelChance)
|
||||
secondBarrelDone.append(mySecondBarrelDone)
|
||||
result['secondBarrelChance']=secondBarrelDone
|
||||
result['secondBarrelDone']=secondBarrelDone
|
||||
|
||||
#now 3B
|
||||
thirdBarrelChance=[]
|
||||
thirdBarrelDone=[]
|
||||
for player in range (len(player_ids)):
|
||||
myThirdBarrelChance=False
|
||||
myThirdBarrelDone=False
|
||||
|
||||
#calc 3b
|
||||
|
||||
thirdBarrelChance.append(myThirdBarrelChance)
|
||||
thirdBarrelDone.append(myThirdBarrelDone)
|
||||
result['thirdBarrelChance']=thirdBarrelDone
|
||||
result['thirdBarrelDone']=thirdBarrelDone
|
||||
|
||||
return result
|
||||
#end def calculateHudImport
|
||||
|
||||
|
@ -1574,16 +1616,23 @@ def storeHudData(cursor, category, gametypeId, playerIds, hudImportData):
|
|||
if hudImportData['foldSbToStealChance'][player]: row[28]+=1
|
||||
if hudImportData['foldedSbToSteal'][player]: row[29]+=1
|
||||
|
||||
if hudImportData['contBetChance'][player]: row[30]+=1
|
||||
if hudImportData['contBetDone'][player]: row[31]+=1
|
||||
if hudImportData['secondBarrelChance'][player]: row[32]+=1
|
||||
if hudImportData['secondBarrelDone'][player]: row[33]+=1
|
||||
if hudImportData['thirdBarrelChance'][player]: row[34]+=1
|
||||
if hudImportData['thirdBarrelDone'][player]: row[35]+=1
|
||||
|
||||
if doInsert:
|
||||
#print "playerid before insert:",row[2]
|
||||
cursor.execute("""INSERT INTO HudDataHoldemOmaha
|
||||
(gametypeId, playerId, activeSeats, HDs, VPIP, PFR, PF3B4BChance, PF3B4B, sawFlop, sawTurn, sawRiver, sawShowdown, raisedFlop, raisedTurn, raisedRiver, otherRaisedFlop, otherRaisedFlopFold, otherRaisedTurn, otherRaisedTurnFold, otherRaisedRiver, otherRaisedRiverFold, wonWhenSeenFlop, wonAtSD, stealAttemptChance, stealAttempted, foldBbToStealChance, foldedBbToSteal, foldSbToStealChance, foldedSbToSteal)
|
||||
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)""", (row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29]))
|
||||
(gametypeId, playerId, activeSeats, HDs, VPIP, PFR, PF3B4BChance, PF3B4B, sawFlop, sawTurn, sawRiver, sawShowdown, raisedFlop, raisedTurn, raisedRiver, otherRaisedFlop, otherRaisedFlopFold, otherRaisedTurn, otherRaisedTurnFold, otherRaisedRiver, otherRaisedRiverFold, wonWhenSeenFlop, wonAtSD, stealAttemptChance, stealAttempted, foldBbToStealChance, foldedBbToSteal, foldSbToStealChance, foldedSbToSteal, contBetChance, contBetDone, secondBarrelChance, secondBarrelDone, thirdBarrelChance, thirdBarrelDone)
|
||||
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)""", (row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[30], row[31], row[32], row[33], row[34], row[35]))
|
||||
else:
|
||||
#print "storing updated hud data line"
|
||||
cursor.execute("""UPDATE HudDataHoldemOmaha
|
||||
SET HDs=%s, VPIP=%s, PFR=%s, PF3B4BChance=%s, PF3B4B=%s, sawFlop=%s, sawTurn=%s, sawRiver=%s, sawShowdown=%s, raisedFlop=%s, raisedTurn=%s, raisedRiver=%s, otherRaisedFlop=%s, otherRaisedFlopFold=%s, otherRaisedTurn=%s, otherRaisedTurnFold=%s, otherRaisedRiver=%s, otherRaisedRiverFold=%s, wonWhenSeenFlop=%s, wonAtSD=%s, stealAttemptChance=%s, stealAttempted=%s, foldBbToStealChance=%s, foldedBbToSteal=%s, foldSbToStealChance=%s, foldedSbToSteal=%s
|
||||
WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s""", (row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[1], row[2], row[3]))
|
||||
SET HDs=%s, VPIP=%s, PFR=%s, PF3B4BChance=%s, PF3B4B=%s, sawFlop=%s, sawTurn=%s, sawRiver=%s, sawShowdown=%s, raisedFlop=%s, raisedTurn=%s, raisedRiver=%s, otherRaisedFlop=%s, otherRaisedFlopFold=%s, otherRaisedTurn=%s, otherRaisedTurnFold=%s, otherRaisedRiver=%s, otherRaisedRiverFold=%s, wonWhenSeenFlop=%s, wonAtSD=%s, stealAttemptChance=%s, stealAttempted=%s, foldBbToStealChance=%s, foldedBbToSteal=%s, foldSbToStealChance=%s, foldedSbToSteal=%s, contBetChance=%s, contBetDone=%s, secondBarrelChance=%s, secondBarrelDone=%s, thirdBarrelChance=%s, thirdBarrelDone=%s
|
||||
WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s""", (row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11], row[12], row[13], row[14], row[15], row[16], row[17], row[18], row[19], row[20], row[21], row[22], row[23], row[24], row[25], row[26], row[27], row[28], row[29], row[30], row[31], row[32], row[33], row[34], row[35], row[1], row[2], row[3]))
|
||||
else:
|
||||
raise FpdbError("todo")
|
||||
#end def storeHudData
|
||||
|
|
|
@ -59,9 +59,12 @@ class table_viewer (threading.Thread):
|
|||
arr=[]
|
||||
#first prepare the header row
|
||||
if (self.category=="holdem" or self.category=="omahahi" or self.category=="omahahilo"):
|
||||
tmp=("Name", "Hands", "VPIP", "PFR", "PF3B4B", "ST", "FS", "FB", "AF", "FF", "AT", "FT", "AR", "FR", "WtSD", "W$wsF", "W$SD")
|
||||
tmp=("Name", "Hands", "VPIP", "PFR", "PF3B4B", "ST", "FS", "FB", "CB", "2B", "3B")
|
||||
if self.settings['tv-combinedPostflop']:
|
||||
tmp=("Name", "Hands", "VPIP", "PFR", "PF3B4B", "ST", "FS", "FB", "Postf A", "Postf F", "WtSD", "W$wsF", "W$SD")
|
||||
tmp+=("Postf A", "Postf F")
|
||||
else:
|
||||
tmp+=("AF", "FF", "AT", "FT", "AR", "FR")
|
||||
tmp+=("WtSD", "W$wsF", "W$SD")
|
||||
else:
|
||||
raise fpdb_simple.FpdbError("reimplement stud")
|
||||
arr.append(tmp)
|
||||
|
@ -106,10 +109,15 @@ class table_viewer (threading.Thread):
|
|||
tmp.append(self.hudDivide(row[5],row[4])) #VPIP
|
||||
tmp.append(self.hudDivide(row[6],row[4])) #PFR
|
||||
tmp.append(self.hudDivide(row[8],row[7])+" ("+str(row[7])+")") #PF3B4B
|
||||
|
||||
tmp.append(self.hudDivide(row[25],row[24])+" ("+str(row[24])+")") #ST
|
||||
tmp.append(self.hudDivide(row[29],row[28])+" ("+str(row[28])+")") #FS
|
||||
tmp.append(self.hudDivide(row[27],row[26])+" ("+str(row[26])+")") #FB
|
||||
|
||||
tmp.append(self.hudDivide(row[31],row[30])+" ("+str(row[30])+")") #CB
|
||||
tmp.append(self.hudDivide(row[33],row[32])+" ("+str(row[32])+")") #2B
|
||||
tmp.append(self.hudDivide(row[35],row[34])+" ("+str(row[34])+")") #3B
|
||||
|
||||
if self.settings['tv-combinedPostflop']:
|
||||
aggCount=row[13]+row[14]+row[15]
|
||||
handCount=row[9]+row[10]+row[11]
|
||||
|
|
Loading…
Reference in New Issue
Block a user