p48 - removed some redundant bracketed values from tv
renamed cache fields and added more to be flexible for stud style games. note that tv is not updated yet added forums and bugtracker to website sidebar
This commit is contained in:
parent
ea5db15e10
commit
5612ee6637
|
@ -3,19 +3,21 @@ Everything is subject to change and especially the order will often change. Patc
|
||||||
|
|
||||||
alpha2 (release by 17Aug)
|
alpha2 (release by 17Aug)
|
||||||
======
|
======
|
||||||
|
finish Cache generalisation from line 1814 onwards
|
||||||
|
add sf.net logo to webpage
|
||||||
change tabledesign VALIGN
|
change tabledesign VALIGN
|
||||||
seperate and improve instructions for update
|
seperate and improve instructions for update
|
||||||
verify link in release notes
|
|
||||||
split install instructions into OS-specific and OS-independent section. expand release creator to concatenate.
|
split install instructions into OS-specific and OS-independent section. expand release creator to concatenate.
|
||||||
expand instructions for profile file, again, the release-creator will cat it.
|
expand instructions for profile file, again, the release-creator will cat it.
|
||||||
delete old mailing list and create fpdb-announce
|
add instructions for mailing list to contacts
|
||||||
finish updating filelist
|
finish updating filelist
|
||||||
update abbreviations.txt
|
|
||||||
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
|
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
|
||||||
add minimal instructions for developing to git-instructions
|
add minimal instructions for developing to git-instructions
|
||||||
|
|
||||||
alpha3
|
alpha3
|
||||||
======
|
======
|
||||||
|
make sure totalProfit shows actual profit rather than winnings.
|
||||||
|
update abbreviations.txt
|
||||||
(steffen) finish bringing back tourney
|
(steffen) finish bringing back tourney
|
||||||
store raw hand in db
|
store raw hand in db
|
||||||
export settings[hud-defaultInterval] to conf
|
export settings[hud-defaultInterval] to conf
|
||||||
|
|
|
@ -1,139 +0,0 @@
|
||||||
I recommend using a free/libre operating system, meaning a GNU/Linux distribution or a BSD variant (e.g. Gentoo GNU/Linux or OpenBSD) for ethical and practical reasons. Would you buy a car where you're prohibited from opening the bonnet under threat of jail? If the answer is no you should by the same logic not use closed source software for real money Poker :)
|
|
||||||
|
|
||||||
Unfortunately you will always need one piece of unfree software: The poker client itself. Although not a direct dependency of fpdb you obviously will have a hard time putting this to productive use without running some poker client. As far as I know, only unfree clients are available. If you know better please let me know ASAP!
|
|
||||||
|
|
||||||
If you can be bothered please do contact your poker site(s) and ask them to release free/libre clients, even if it is only for Windows. But lets be realistic, the chance of a positive answer is very low.
|
|
||||||
|
|
||||||
Before I start the list a note on the databases, as of git96 I have yet to try using this with PostgreSQL, but if I'm not mistaken it should actually work by now (the stuff in fpdb-python at least).
|
|
||||||
|
|
||||||
If you use a package management system (e.g. if you have GNU/Linux or *BSD) just check that you have mysql, mysql-python and pygtk or postgresql, pygresql and pygtk. Your package manager will take care of the rest for you.
|
|
||||||
|
|
||||||
Make new entries in this format:
|
|
||||||
X. Program Name
|
|
||||||
===============
|
|
||||||
a. Optional?
|
|
||||||
b. Required Version and Why
|
|
||||||
c. Project Webpage
|
|
||||||
d. License
|
|
||||||
|
|
||||||
1. MySQL
|
|
||||||
========
|
|
||||||
a. Optional?
|
|
||||||
Choose MySQL or PostgreSQL
|
|
||||||
b. Required Version and Why
|
|
||||||
At least 3.23 required due to mysql-python.
|
|
||||||
I use 5.0.54 and 5.0.60-r1 (GNU/Linux) and 5.0.51b (Windows).
|
|
||||||
c. Project Webpage
|
|
||||||
http://www.mysql.com
|
|
||||||
d. License
|
|
||||||
GPL2
|
|
||||||
|
|
||||||
2. PostgreSQL
|
|
||||||
=============
|
|
||||||
a. Optional?
|
|
||||||
Choose MySQL or PostgreSQL
|
|
||||||
b. Required Version and Why
|
|
||||||
I use 8.0.15 (GNU/Linux) and 8.3.3 (Windows) but I am not aware of any incompatibilities
|
|
||||||
with older or newer versions, pls report success/failure.
|
|
||||||
c. Project Webpage
|
|
||||||
http://www.postgresql.org
|
|
||||||
d. License
|
|
||||||
BSD License
|
|
||||||
|
|
||||||
3. mysql-python
|
|
||||||
===============
|
|
||||||
a. Optional?
|
|
||||||
Required if you want to use MySQL backend
|
|
||||||
b. Required Version and Why
|
|
||||||
I use 1.2.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
|
|
||||||
c. Project Webpage
|
|
||||||
http://sourceforge.net/projects/mysql-python/
|
|
||||||
d. License
|
|
||||||
SF lists GNU General Public License (GPL), Python License (CNRI Python License), Zope Public License.
|
|
||||||
Project states GPL without version in Pkg-info.
|
|
||||||
|
|
||||||
4. pygresql
|
|
||||||
===========
|
|
||||||
a. Optional?
|
|
||||||
Required if you want to use PostgreSQL backend
|
|
||||||
b. Required Version and Why
|
|
||||||
I use 3.6.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
|
|
||||||
c. Project Webpage
|
|
||||||
http://www.pygresql.org/
|
|
||||||
d. License
|
|
||||||
http://www.pygresql.org/readme.html#copyright-notice (BSD License?)
|
|
||||||
Summary: "Permission to use, copy, modify, and distribute this software and its
|
|
||||||
documentation for any purpose, without fee, and without a written agreement
|
|
||||||
is hereby granted[...]" plus Disclaimer.
|
|
||||||
|
|
||||||
5. Python
|
|
||||||
=========
|
|
||||||
a. Optional?
|
|
||||||
Required.
|
|
||||||
b. Required Version and Why
|
|
||||||
I use 2.4.4 and 2.5.2 but I am not aware of any incompatibilities with older or newer versions, pls report success/failure.
|
|
||||||
c. Project Webpage
|
|
||||||
http://www.python.org
|
|
||||||
d. License
|
|
||||||
Python License
|
|
||||||
|
|
||||||
6. GTK+ and dependencies
|
|
||||||
=======
|
|
||||||
a. Optional?
|
|
||||||
Required.
|
|
||||||
b. Required Version and Why
|
|
||||||
I use 2.12.9 but it should run with 2.10 or higher. That is needed as I used MessageDialog updates
|
|
||||||
c. Project Webpage
|
|
||||||
Main: http://www.gtk.org/
|
|
||||||
API spec: http://library.gnome.org/devel/gtk/2.12/
|
|
||||||
Windows DLs (get the bundle unless you know what you're doing): http://www.gtk.org/download-windows.html
|
|
||||||
d. License
|
|
||||||
LGPL2
|
|
||||||
|
|
||||||
7. PyCairo
|
|
||||||
==========
|
|
||||||
a. Optional?
|
|
||||||
Required.
|
|
||||||
b. Required Version and Why
|
|
||||||
?
|
|
||||||
c. Project Webpage
|
|
||||||
main: http://www.pygtk.org
|
|
||||||
d. License
|
|
||||||
LGPL2.1
|
|
||||||
|
|
||||||
8. PyGObject
|
|
||||||
============
|
|
||||||
a. Optional?
|
|
||||||
Required.
|
|
||||||
b. Required Version and Why
|
|
||||||
?
|
|
||||||
c. Project Webpage
|
|
||||||
main: http://www.pygtk.org
|
|
||||||
d. License
|
|
||||||
LGPL2.1
|
|
||||||
|
|
||||||
9. PyGTK
|
|
||||||
========
|
|
||||||
a. Optional?
|
|
||||||
Required.
|
|
||||||
b. Required Version and Why
|
|
||||||
?
|
|
||||||
c. Project Webpage
|
|
||||||
main: http://www.pygtk.org
|
|
||||||
d. License
|
|
||||||
LGPL2.1
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
License (of this file)
|
|
||||||
=======
|
|
||||||
Trademarks of third parties have been used under Fair Use or similar laws.
|
|
||||||
|
|
||||||
Copyright 2008 Steffen Jobbagy-Felso
|
|
||||||
Permission is granted to copy, distribute and/or modify this
|
|
||||||
document under the terms of the GNU Free Documentation License,
|
|
||||||
Version 1.2 as published by the Free Software Foundation; with
|
|
||||||
no Invariant Sections, no Front-Cover Texts, and with no Back-Cover
|
|
||||||
Texts. A copy of the license can be found in fdl-1.2.txt
|
|
||||||
|
|
||||||
The program itself is licensed under AGPLv3, see agpl-3.0.txt
|
|
|
@ -383,7 +383,7 @@ The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
|
||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<p><BR></P>
|
<p><BR></P>
|
||||||
<P><B>Table HudDataHoldemOmaha</B></P>
|
<P><B>Table HudCache</B></P>
|
||||||
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P><b>Field Name</b></P></TD>
|
<TD><P><b>Field Name</b></P></TD>
|
||||||
|
@ -410,45 +410,61 @@ The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
|
||||||
<TD><P>smallint</P></TD>
|
<TD><P>smallint</P></TD>
|
||||||
<TD><P>range 2-10</P></TD>
|
<TD><P>range 2-10</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>position</P></TD>
|
||||||
|
<TD><P>char(1)</P></TD>
|
||||||
|
<TD><P>Position for which this row applies. In this table this can be B(BB), S(SB), D(Dealer/Button), C(Cutoff), M(Middle - the 3 before cutoff) or E (Early - the 3 before Middle)</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>tourneysGametypeId</P></TD>
|
||||||
|
<TD><P>smallint</P></TD>
|
||||||
|
<TD><P>References TourneysGametypes.id</P></TD>
|
||||||
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>HDs</P></TD>
|
<TD><P>HDs</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands this player played in this gametype with this number of seats</P></TD>
|
<TD><P>number of hands this player played in this gametype with this number of seats</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>VPIP</P></TD>
|
<TD><P>street0VPI</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player paid to see flop</P></TD>
|
<TD><P>number of hands where player paid to see flop</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>PFR</P></TD>
|
<TD><P>street0Aggr</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player raised before flop</P></TD>
|
<TD><P>number of hands where player raised before flop</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>PF3B4BChance</P></TD>
|
<TD><P>street0_3B4BChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player had chance to 3B or 4B</P></TD>
|
<TD><P>number of hands where player had chance to 3B or 4B</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>PF3B4B</P></TD>
|
<TD><P>street0_3B4BDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player 3bet/4bet before flop</P></TD>
|
<TD><P>number of hands where player 3bet/4bet before flop</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>sawFlop</P></TD>
|
<TD><P>street1Seen</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player saw flop</P></TD>
|
<TD><P>number of hands where player saw flop/street4</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>sawTurn</P></TD>
|
<TD><P>street2Seen</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player saw turn</P></TD>
|
<TD><P>number of hands where player saw turn/street5</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>sawRiver</P></TD>
|
<TD><P>street3Seen</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player saw river</P></TD>
|
<TD><P>number of hands where player saw river/street6</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>street4Seen</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>number of hands where player saw street7</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>sawShowdown</P></TD>
|
<TD><P>sawShowdown</P></TD>
|
||||||
|
@ -456,60 +472,75 @@ The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
|
||||||
<TD><P>number of hands where player saw showdown</P></TD>
|
<TD><P>number of hands where player saw showdown</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>raisedFlop</P></TD>
|
<TD><P>street1Aggr</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player raised flop</P></TD>
|
<TD><P>number of hands where player raised flop/street4</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>raisedTurn</P></TD>
|
<TD><P>street2Aggr</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player raised turn</P></TD>
|
<TD><P>number of hands where player raised turn/street5</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>raisedRiver</P></TD>
|
<TD><P>street3Aggr</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where player raised river</P></TD>
|
<TD><P>number of hands where player raised river/street6</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedFlop</P></TD>
|
<TD><P>street4Aggr</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised flop</P></TD>
|
<TD><P>number of hands where player raised street7</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedFlopFold</P></TD>
|
<TD><P>otherRaisedStreet1</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised flop and the player folded</P></TD>
|
<TD><P>number of hands where someone else raised flop/street4</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedTurn</P></TD>
|
<TD><P>otherRaisedStreet2</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised Turn</P></TD>
|
<TD><P>number of hands where someone else raised turn/street5</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedTurnFold</P></TD>
|
<TD><P>otherRaisedStreet3</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised Turn and the player folded</P></TD>
|
<TD><P>number of hands where someone else raised river/street6</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedRiver</P></TD>
|
<TD><P>otherRaisedStreet4</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised River</P></TD>
|
<TD><P>number of hands where someone else raised street7</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>otherRaisedRiverFold</P></TD>
|
<TD><P>foldToOtherRaisedStreet1</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>number of hands where someone else raised River and the player folded</P></TD>
|
<TD><P>number of hands where someone else raised flop/street4 and the player folded</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>wonWhenSeenFlop</P></TD>
|
<TD><P>foldToOtherRaisedStreet2</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>number of hands where someone else raised Turn/street5 and the player folded</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>foldToOtherRaisedStreet3</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>number of hands where someone else raised River/street6 and the player folded</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>foldToOtherRaisedStreet4</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>number of hands where someone else raised street7 and the player folded</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>wonWhenSeenStreet1</P></TD>
|
||||||
<TD><P>float</P></TD>
|
<TD><P>float</P></TD>
|
||||||
<TD><P>How many hands the player won after seeing the flop - this can be a "partial win" if the pot is split.<br>
|
<TD><P>How many hands the player won after seeing the flop/street4 - this can be a "partial win" if the pot is split.<br>
|
||||||
To be completely clear, this stores a hand count, NOT a money amount.</P></TD>
|
To be completely clear, this stores a hand count, NOT a money amount.</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>wonAtSD</P></TD>
|
<TD><P>wonAtSD</P></TD>
|
||||||
<TD><P>float</P></TD>
|
<TD><P>float</P></TD>
|
||||||
<TD><P>As wonWhenSeenFlop, but for showdown.</P></TD>
|
<TD><P>As wonWhenSeenStreet1, but for showdown.</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
|
@ -544,76 +575,85 @@ The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>contBetChance</P></TD>
|
<TD><P>street1CBChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to make continuation bet</P></TD>
|
<TD><P>Player had chance to make continuation bet on flop/street4</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>contBetDone</P></TD>
|
<TD><P>street1CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to make continuation bet</P></TD>
|
<TD><P>Player used chance to make continuation bet on flop/street4</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>secondBarrelChance</P></TD>
|
<TD><P>street2CBChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to make second barrel bet</P></TD>
|
<TD><P>Player had chance to make continuation bet on turn/street5</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>secondBarrelDone</P></TD>
|
<TD><P>street2CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to make second barrel bet</P></TD>
|
<TD><P>Player used chance to make continuation bet on turn/street5</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>thirdBarrelChance</P></TD>
|
<TD><P>street3CBChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to make third barrel bet</P></TD>
|
<TD><P>Player had chance to make continuation bet on river/street6</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>thirdBarrelDone</P></TD>
|
<TD><P>street3CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to make third barrel bet</P></TD>
|
<TD><P>Player used chance to make continuation bet on river/street6</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>street4CBChance</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>Player had chance to make continuation bet on street7</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>street4CBDone</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>Player used chance to make continuation bet on street7</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>position</P></TD>
|
<TD><P>foldToStreet1CBChance</P></TD>
|
||||||
<TD><P>char(1)</P></TD>
|
|
||||||
<TD><P>Position for which this row applies. In this table this can be B(BB), S(SB), D(Dealer/Button), C(Cutoff), M(Middle - the 3 before cutoff) or E (Early - the 3 before Middle)</P></TD>
|
|
||||||
</TR>
|
|
||||||
<TR VALIGN=TOP>
|
|
||||||
<TD><P>tourneysGametypeId</P></TD>
|
|
||||||
<TD><P>smallint</P></TD>
|
|
||||||
<TD><P>References TourneysGametypes.id</P></TD>
|
|
||||||
</TR>
|
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
|
||||||
<TD><P>foldToContBetChance</P></TD>
|
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to fold to continuation bet</P></TD>
|
<TD><P>Player had chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>foldToContBetDone</P></TD>
|
<TD><P>foldToStreet1CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to fold to continuation bet</P></TD>
|
<TD><P>Player used chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>foldToSecondBarrelChance</P></TD>
|
<TD><P>foldToStreet2CBChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to fold to second barrel bet</P></TD>
|
<TD><P>Player had chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>foldToSecondBarrelDone</P></TD>
|
<TD><P>foldToStreet2CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to fold to second barrel bet</P></TD>
|
<TD><P>Player used chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>foldToThirdBarrelChance</P></TD>
|
<TD><P>foldToStreet3CBChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player had chance to fold to third barrel bet</P></TD>
|
<TD><P>Player had chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>foldToThirdBarrelDone</P></TD>
|
<TD><P>foldToStreet3CBDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>Player used chance to fold to third barrel bet</P></TD>
|
<TD><P>Player used chance to fold to continuation bet on this street</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>foldToStreet4CBChance</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>Player had chance to fold to continuation bet on this street</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>foldToStreet4CBDone</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>Player used chance to fold to continuation bet on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
|
@ -623,34 +663,44 @@ The program itself is licensed under AGPLv3, see agpl-3.0.txt</p>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>flopCheckCallRaiseChance</P></TD>
|
<TD><P>street1CheckCallRaiseChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player had the chance to do a check-raise or a call-raise on the flop</P></TD>
|
<TD><P>How often player had the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>flopCheckCallRaiseDone</P></TD>
|
<TD><P>street1CheckCallRaiseDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player used the chance to do a check-raise or a call-raise on the flop</P></TD>
|
<TD><P>How often player used the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>turnCheckCallRaiseChance</P></TD>
|
<TD><P>street2CheckCallRaiseChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player had the chance to do a check-raise or a call-raise on the turn</P></TD>
|
<TD><P>How often player had the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>turnCheckCallRaiseDone</P></TD>
|
<TD><P>street2CheckCallRaiseDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player used the chance to do a check-raise or a call-raise on the turn</P></TD>
|
<TD><P>How often player used the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>riverCheckCallRaiseChance</P></TD>
|
<TD><P>street3CheckCallRaiseChance</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player had the chance to do a check-raise or a call-raise on the river</P></TD>
|
<TD><P>How often player had the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>riverCheckCallRaiseDone</P></TD>
|
<TD><P>street3CheckCallRaiseDone</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P>How often player used the chance to do a check-raise or a call-raise on the river</P></TD>
|
<TD><P>How often player used the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>street4CheckCallRaiseChance</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>How often player had the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
|
</TR>
|
||||||
|
<TR VALIGN=TOP>
|
||||||
|
<TD><P>street4CheckCallRaiseDone</P></TD>
|
||||||
|
<TD><P>int</P></TD>
|
||||||
|
<TD><P>How often player used the chance to do a check-raise or a call-raise on this street</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
|
|
||||||
</TABLE>
|
</TABLE>
|
||||||
|
|
|
@ -156,8 +156,8 @@ class GuiTableViewer (threading.Thread):
|
||||||
tmp.append(self.hudDivide(row[15],row[11])+" ("+str(row[11])+")") #AR
|
tmp.append(self.hudDivide(row[15],row[11])+" ("+str(row[11])+")") #AR
|
||||||
tmp.append(self.hudDivide(row[21],row[20])+" ("+str(row[20])+")") #FR
|
tmp.append(self.hudDivide(row[21],row[20])+" ("+str(row[20])+")") #FR
|
||||||
|
|
||||||
tmp.append(self.hudDivide(row[12],row[9])+" ("+str(row[9])+")") #SD/F
|
tmp.append(self.hudDivide(row[12],row[9])) #WtSD
|
||||||
tmp.append(self.hudDivide(row[22],row[9])+" ("+str(row[9])+")") #W$wSF
|
tmp.append(self.hudDivide(row[22],row[9])) #W$wSF
|
||||||
tmp.append(self.hudDivide(row[23],row[12])+" ("+str(row[12])+")") #W$@SD
|
tmp.append(self.hudDivide(row[23],row[12])+" ("+str(row[12])+")") #W$@SD
|
||||||
|
|
||||||
arr.append(tmp)
|
arr.append(tmp)
|
||||||
|
|
|
@ -293,7 +293,7 @@ class fpdb:
|
||||||
elif lines[i].startswith("#"):
|
elif lines[i].startswith("#"):
|
||||||
pass #comment - dont parse
|
pass #comment - dont parse
|
||||||
else:
|
else:
|
||||||
raise fpdb_simple.FpdbError("invalid line in profile file: "+lines[i])
|
raise fpdb_simple.FpdbError("invalid line in profile file: "+lines[i]+" if you don't know what to do just remove it from "+filename)
|
||||||
|
|
||||||
if self.db!=None:
|
if self.db!=None:
|
||||||
self.db.disconnect()
|
self.db.disconnect()
|
||||||
|
@ -370,7 +370,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 = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
||||||
self.window.connect("delete_event", self.delete_event)
|
self.window.connect("delete_event", self.delete_event)
|
||||||
self.window.connect("destroy", self.destroy)
|
self.window.connect("destroy", self.destroy)
|
||||||
self.window.set_title("Free Poker DB - version: alpha1+, p46")
|
self.window.set_title("Free Poker DB - version: alpha1+, p48")
|
||||||
self.window.set_border_width(1)
|
self.window.set_border_width(1)
|
||||||
self.window.set_size_request(1020,400)
|
self.window.set_size_request(1020,400)
|
||||||
self.window.set_resizable(True)
|
self.window.set_resizable(True)
|
||||||
|
|
|
@ -47,7 +47,7 @@ class fpdb_db:
|
||||||
try:
|
try:
|
||||||
self.cursor.execute("SELECT * FROM Settings")
|
self.cursor.execute("SELECT * FROM Settings")
|
||||||
settings=self.cursor.fetchone()
|
settings=self.cursor.fetchone()
|
||||||
if settings[0]!=45:
|
if settings[0]!=48:
|
||||||
print "outdated or too new database version - please recreate tables"
|
print "outdated or too new database version - please recreate tables"
|
||||||
except:# _mysql_exceptions.ProgrammingError:
|
except:# _mysql_exceptions.ProgrammingError:
|
||||||
print "failed to read settings table - please recreate tables"
|
print "failed to read settings table - please recreate tables"
|
||||||
|
@ -112,8 +112,11 @@ class fpdb_db:
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS gametypes;")
|
self.cursor.execute("DROP TABLE IF EXISTS gametypes;")
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS sites;")
|
self.cursor.execute("DROP TABLE IF EXISTS sites;")
|
||||||
|
|
||||||
|
if oldDbVersion>34 and oldDbVersion<=45:
|
||||||
|
self.cursor.execute("DROP TABLE IF EXISTS HudDataHoldemOmaha;")
|
||||||
|
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS Settings;")
|
self.cursor.execute("DROP TABLE IF EXISTS Settings;")
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS HudDataHoldemOmaha;")
|
self.cursor.execute("DROP TABLE IF EXISTS HudCache;")
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS Autorates;")
|
self.cursor.execute("DROP TABLE IF EXISTS Autorates;")
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS BoardCards;")
|
self.cursor.execute("DROP TABLE IF EXISTS BoardCards;")
|
||||||
self.cursor.execute("DROP TABLE IF EXISTS HandsActions;")
|
self.cursor.execute("DROP TABLE IF EXISTS HandsActions;")
|
||||||
|
@ -278,30 +281,37 @@ class fpdb_db:
|
||||||
comment TEXT,
|
comment TEXT,
|
||||||
commentTs DATETIME)""")
|
commentTs DATETIME)""")
|
||||||
|
|
||||||
self.create_table("""HudDataHoldemOmaha (
|
self.create_table("""HudCache (
|
||||||
id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT, PRIMARY KEY (id),
|
id BIGINT UNSIGNED UNIQUE AUTO_INCREMENT, PRIMARY KEY (id),
|
||||||
gametypeId SMALLINT UNSIGNED, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
|
gametypeId SMALLINT UNSIGNED, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id),
|
||||||
playerId INT UNSIGNED, FOREIGN KEY (playerId) REFERENCES Players(id),
|
playerId INT UNSIGNED, FOREIGN KEY (playerId) REFERENCES Players(id),
|
||||||
activeSeats SMALLINT,
|
activeSeats SMALLINT,
|
||||||
|
position CHAR(1),
|
||||||
|
tourneysGametypeId SMALLINT UNSIGNED, FOREIGN KEY (tourneysGametypeId) REFERENCES TourneysGametypes(id),
|
||||||
|
|
||||||
HDs INT,
|
HDs INT,
|
||||||
VPIP INT,
|
street0VPI INT,
|
||||||
PFR INT,
|
street0Aggr INT,
|
||||||
PF3B4BChance INT,
|
street0_3B4BChance INT,
|
||||||
PF3B4B INT,
|
street0_3B4BDone INT,
|
||||||
sawFlop INT,
|
street1Seen INT,
|
||||||
sawTurn INT,
|
street2Seen INT,
|
||||||
sawRiver INT,
|
street3Seen INT,
|
||||||
|
street4Seen INT,
|
||||||
sawShowdown INT,
|
sawShowdown INT,
|
||||||
raisedFlop INT,
|
street1Aggr INT,
|
||||||
raisedTurn INT,
|
street2Aggr INT,
|
||||||
raisedRiver INT,
|
street3Aggr INT,
|
||||||
otherRaisedFlop INT,
|
street4Aggr INT,
|
||||||
otherRaisedFlopFold INT,
|
otherRaisedStreet1 INT,
|
||||||
otherRaisedTurn INT,
|
otherRaisedStreet2 INT,
|
||||||
otherRaisedTurnFold INT,
|
otherRaisedStreet3 INT,
|
||||||
otherRaisedRiver INT,
|
otherRaisedStreet4 INT,
|
||||||
otherRaisedRiverFold INT,
|
foldToOtherRaisedStreet1 INT,
|
||||||
wonWhenSeenFlop FLOAT,
|
foldToOtherRaisedStreet2 INT,
|
||||||
|
foldToOtherRaisedStreet3 INT,
|
||||||
|
foldToOtherRaisedStreet4 INT,
|
||||||
|
wonWhenSeenStreet1 FLOAT,
|
||||||
wonAtSD FLOAT,
|
wonAtSD FLOAT,
|
||||||
|
|
||||||
stealAttemptChance INT,
|
stealAttemptChance INT,
|
||||||
|
@ -311,33 +321,36 @@ class fpdb_db:
|
||||||
foldSbToStealChance INT,
|
foldSbToStealChance INT,
|
||||||
foldedSbToSteal INT,
|
foldedSbToSteal INT,
|
||||||
|
|
||||||
contBetChance INT,
|
street1CBChance INT,
|
||||||
contBetDone INT,
|
street1CBDone INT,
|
||||||
secondBarrelChance INT,
|
street2CBChance INT,
|
||||||
secondBarrelDone INT,
|
street2CBDone INT,
|
||||||
thirdBarrelChance INT,
|
street3CBChance INT,
|
||||||
thirdBarrelDone INT,
|
street3CBDone INT,
|
||||||
|
street4CBChance INT,
|
||||||
|
street4CBDone INT,
|
||||||
|
|
||||||
position CHAR(1),
|
foldToStreet1CBChance INT,
|
||||||
tourneysGametypeId SMALLINT UNSIGNED, FOREIGN KEY (tourneysGametypeId) REFERENCES TourneysGametypes(id),
|
foldToStreet1CBDone INT,
|
||||||
|
foldToStreet2CBChance INT,
|
||||||
foldToContBetChance INT,
|
foldToStreet2CBDone INT,
|
||||||
foldToContBetDone INT,
|
foldToStreet3CBChance INT,
|
||||||
foldToSecondBarrelChance INT,
|
foldToStreet3CBDone INT,
|
||||||
foldToSecondBarrelDone INT,
|
foldToStreet4CBChance INT,
|
||||||
foldToThirdBarrelChance INT,
|
foldToStreet4CBDone INT,
|
||||||
foldToThirdBarrelDone INT,
|
|
||||||
|
|
||||||
totalProfit INT,
|
totalProfit INT,
|
||||||
|
|
||||||
flopCheckCallRaiseChance INT,
|
street1CheckCallRaiseChance INT,
|
||||||
flopCheckCallRaiseDone INT,
|
street1CheckCallRaiseDone INT,
|
||||||
turnCheckCallRaiseChance INT,
|
street2CheckCallRaiseChance INT,
|
||||||
turnCheckCallRaiseDone INT,
|
street2CheckCallRaiseDone INT,
|
||||||
riverCheckCallRaiseChance INT,
|
street3CheckCallRaiseChance INT,
|
||||||
riverCheckCallRaiseDone INT)""")
|
street3CheckCallRaiseDone INT,
|
||||||
|
street4CheckCallRaiseChance INT,
|
||||||
|
street4CheckCallRaiseDone INT)""")
|
||||||
|
|
||||||
self.cursor.execute("INSERT INTO Settings VALUES (45);")
|
self.cursor.execute("INSERT INTO Settings VALUES (48);")
|
||||||
self.cursor.execute("INSERT INTO Sites VALUES (DEFAULT, \"Full Tilt Poker\", 'USD');")
|
self.cursor.execute("INSERT INTO Sites VALUES (DEFAULT, \"Full Tilt Poker\", 'USD');")
|
||||||
self.cursor.execute("INSERT INTO Sites VALUES (DEFAULT, \"PokerStars\", 'USD');")
|
self.cursor.execute("INSERT INTO Sites VALUES (DEFAULT, \"PokerStars\", 'USD');")
|
||||||
self.cursor.execute("INSERT INTO TourneysGametypes (id) VALUES (DEFAULT);")
|
self.cursor.execute("INSERT INTO TourneysGametypes (id) VALUES (DEFAULT);")
|
||||||
|
|
|
@ -54,7 +54,7 @@ def ring_holdem_omaha(cursor, category, site_hand_no, gametype_id, hand_start_ti
|
||||||
|
|
||||||
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha(cursor, category, hands_id, player_ids, start_cashes, positions, card_values, card_suits, winnings, rakes, seatNos)
|
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha(cursor, category, hands_id, player_ids, start_cashes, positions, card_values, card_suits, winnings, rakes, seatNos)
|
||||||
|
|
||||||
fpdb_simple.storeHudData(cursor, category, gametype_id, player_ids, hudImportData)
|
fpdb_simple.storeHudCache(cursor, category, gametype_id, player_ids, hudImportData)
|
||||||
|
|
||||||
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
||||||
|
|
||||||
|
|
|
@ -1246,24 +1246,29 @@ def store_hands_players_stud_tourney(cursor, hands_id, player_ids, start_cashes,
|
||||||
def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings, totalWinnings, positions):
|
def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings, totalWinnings, positions):
|
||||||
"""calculates data for the HUD during import. IMPORTANT: if you change this method make sure to also change the following storage method and table_viewer.prepare_data if necessary"""
|
"""calculates data for the HUD during import. IMPORTANT: if you change this method make sure to also change the following storage method and table_viewer.prepare_data if necessary"""
|
||||||
#setup subarrays of the result dictionary.
|
#setup subarrays of the result dictionary.
|
||||||
VPIP=[]
|
street0VPI=[]
|
||||||
PFR=[]
|
street0Aggr=[]
|
||||||
PF3B4BChance=[]
|
street0_3B4BChance=[]
|
||||||
PF3B4B=[]
|
street0_3B4BDone=[]
|
||||||
sawFlop=[]
|
street1Seen=[]
|
||||||
sawTurn=[]
|
street2Seen=[]
|
||||||
sawRiver=[]
|
street3Seen=[]
|
||||||
|
street4Seen=[]
|
||||||
sawShowdown=[]
|
sawShowdown=[]
|
||||||
raisedFlop=[]
|
street1Aggr=[]
|
||||||
raisedTurn=[]
|
street2Aggr=[]
|
||||||
raisedRiver=[]
|
street3Aggr=[]
|
||||||
otherRaisedFlop=[]
|
street4Aggr=[]
|
||||||
otherRaisedFlopFold=[]
|
otherRaisedStreet1=[]
|
||||||
otherRaisedTurn=[]
|
otherRaisedStreet2=[]
|
||||||
otherRaisedTurnFold=[]
|
otherRaisedStreet3=[]
|
||||||
otherRaisedRiver=[]
|
otherRaisedStreet4=[]
|
||||||
otherRaisedRiverFold=[]
|
foldToOtherRaisedStreet1=[]
|
||||||
wonWhenSeenFlop=[]
|
foldToOtherRaisedStreet2=[]
|
||||||
|
foldToOtherRaisedStreet3=[]
|
||||||
|
foldToOtherRaisedStreet4=[]
|
||||||
|
wonWhenSeenStreet1=[]
|
||||||
|
|
||||||
wonAtSD=[]
|
wonAtSD=[]
|
||||||
stealAttemptChance=[]
|
stealAttemptChance=[]
|
||||||
stealAttempted=[]
|
stealAttempted=[]
|
||||||
|
@ -1308,24 +1313,28 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
#run a loop for each player preparing the actual values that will be commited to SQL
|
#run a loop for each player preparing the actual values that will be commited to SQL
|
||||||
for player in range (len(player_ids)):
|
for player in range (len(player_ids)):
|
||||||
#set default values
|
#set default values
|
||||||
myVPIP=False
|
myStreet0VPI=False
|
||||||
myPFR=False
|
myStreet0Aggr=False
|
||||||
myPF3B4BChance=False
|
myStreet0_3B4BChance=False
|
||||||
myPF3B4B=False
|
myStreet0_3B4BDone=False
|
||||||
mySawFlop=False
|
myStreet1Seen=False
|
||||||
mySawTurn=False
|
myStreet2Seen=False
|
||||||
mySawRiver=False
|
myStreet3Seen=False
|
||||||
|
myStreet4Seen=False
|
||||||
mySawShowdown=False
|
mySawShowdown=False
|
||||||
myRaisedFlop=False
|
myStreet1Aggr=False
|
||||||
myRaisedTurn=False
|
myStreet2Aggr=False
|
||||||
myRaisedRiver=False
|
myStreet3Aggr=False
|
||||||
myOtherRaisedFlop=False
|
myStreet4Aggr=False
|
||||||
myOtherRaisedFlopFold=False
|
myOtherRaisedStreet1=False
|
||||||
myOtherRaisedTurn=False
|
myOtherRaisedStreet2=False
|
||||||
myOtherRaisedTurnFold=False
|
myOtherRaisedStreet3=False
|
||||||
myOtherRaisedRiver=False
|
myOtherRaisedStreet4=False
|
||||||
myOtherRaisedRiverFold=False
|
myFoldToOtherRaisedStreet1=False
|
||||||
myWonWhenSeenFlop=0.0
|
myFoldToOtherRaisedStreet2=False
|
||||||
|
myFoldToOtherRaisedStreet3=False
|
||||||
|
myFoldToOtherRaisedStreet4=False
|
||||||
|
myWonWhenSeenStreet1=0.0
|
||||||
myWonAtSD=0.0
|
myWonAtSD=0.0
|
||||||
myStealAttemptChance=False
|
myStealAttemptChance=False
|
||||||
myStealAttempted=False
|
myStealAttempted=False
|
||||||
|
@ -1336,9 +1345,9 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
for count in range (len(action_types[street][player])):#finally individual actions
|
for count in range (len(action_types[street][player])):#finally individual actions
|
||||||
currentAction=action_types[street][player][count]
|
currentAction=action_types[street][player][count]
|
||||||
if currentAction=="bet":
|
if currentAction=="bet":
|
||||||
myPFR=True
|
myStreet0Aggr=True
|
||||||
if (currentAction=="bet" or currentAction=="call"):
|
if (currentAction=="bet" or currentAction=="call"):
|
||||||
myVPIP=True
|
myStreet0VPI=True
|
||||||
|
|
||||||
#PF3B4BChance and PF3B4B
|
#PF3B4BChance and PF3B4B
|
||||||
pfFold=-1
|
pfFold=-1
|
||||||
|
@ -1351,11 +1360,10 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
if actionTypeByNo[0][i][1]=="fold" and pfFold==-1:
|
if actionTypeByNo[0][i][1]=="fold" and pfFold==-1:
|
||||||
pfFold=i
|
pfFold=i
|
||||||
if pfFold==-1 or pfFold>firstPfRaiseByNo:
|
if pfFold==-1 or pfFold>firstPfRaiseByNo:
|
||||||
myPF3B4BChance=True
|
myStreet0_3B4BChance=True
|
||||||
if pfRaise>firstPfRaiseByNo:
|
if pfRaise>firstPfRaiseByNo:
|
||||||
myPF3B4B=True
|
myStreet0_3B4BDone=True
|
||||||
|
|
||||||
#myStealAttemptChance myStealAttempted myFoldBbToStealChance myFoldedBbToSteal myFoldSbToStealChance myFoldedSbToSteal
|
|
||||||
#steal calculations
|
#steal calculations
|
||||||
if len(player_ids)>=5: #no point otherwise
|
if len(player_ids)>=5: #no point otherwise
|
||||||
if positions[player]==1:
|
if positions[player]==1:
|
||||||
|
@ -1384,11 +1392,11 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
|
|
||||||
#calculate saw* values
|
#calculate saw* values
|
||||||
if (len(action_types[1][player])>0):
|
if (len(action_types[1][player])>0):
|
||||||
mySawFlop=True
|
myStreet1Seen=True
|
||||||
if (len(action_types[2][player])>0):
|
if (len(action_types[2][player])>0):
|
||||||
mySawTurn=True
|
myStreet2Seen=True
|
||||||
if (len(action_types[3][player])>0):
|
if (len(action_types[3][player])>0):
|
||||||
mySawRiver=True
|
myStreet3Seen=True
|
||||||
mySawShowdown=True
|
mySawShowdown=True
|
||||||
for count in range (len(action_types[3][player])):
|
for count in range (len(action_types[3][player])):
|
||||||
if action_types[3][player][count]=="fold":
|
if action_types[3][player][count]=="fold":
|
||||||
|
@ -1396,84 +1404,87 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
|
|
||||||
#flop stuff
|
#flop stuff
|
||||||
street=1
|
street=1
|
||||||
if mySawFlop:
|
if myStreet1Seen:
|
||||||
for count in range(len(action_types[street][player])):
|
for count in range(len(action_types[street][player])):
|
||||||
if action_types[street][player][count]=="bet":
|
if action_types[street][player][count]=="bet":
|
||||||
myRaisedFlop=True
|
myStreet1Aggr=True
|
||||||
|
|
||||||
for otherPlayer in range (len(player_ids)):
|
for otherPlayer in range (len(player_ids)):
|
||||||
if player==otherPlayer or myOtherRaisedFlop:
|
if player==otherPlayer:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
for countOther in range (len(action_types[street][otherPlayer])):
|
for countOther in range (len(action_types[street][otherPlayer])):
|
||||||
if action_types[street][otherPlayer][countOther]=="bet":
|
if action_types[street][otherPlayer][countOther]=="bet":
|
||||||
myOtherRaisedFlop=True
|
myOtherRaisedStreet1=True
|
||||||
for countOtherFold in range (len(action_types[street][player])):
|
for countOtherFold in range (len(action_types[street][player])):
|
||||||
if action_types[street][player][countOtherFold]=="fold":
|
if action_types[street][player][countOtherFold]=="fold":
|
||||||
myOtherRaisedFlopFold=True
|
myFoldToOtherRaisedStreet1=True
|
||||||
|
|
||||||
#turn stuff - copy of flop with different vars
|
#turn stuff - copy of flop with different vars
|
||||||
street=2
|
street=2
|
||||||
if mySawTurn:
|
if myStreet2Seen:
|
||||||
for count in range(len(action_types[street][player])):
|
for count in range(len(action_types[street][player])):
|
||||||
if action_types[street][player][count]=="bet":
|
if action_types[street][player][count]=="bet":
|
||||||
myRaisedTurn=True
|
myStreet2Aggr=True
|
||||||
|
|
||||||
for otherPlayer in range (len(player_ids)):
|
for otherPlayer in range (len(player_ids)):
|
||||||
if player==otherPlayer or myOtherRaisedTurn:
|
if player==otherPlayer:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
for countOther in range (len(action_types[street][otherPlayer])):
|
for countOther in range (len(action_types[street][otherPlayer])):
|
||||||
if action_types[street][otherPlayer][countOther]=="bet":
|
if action_types[street][otherPlayer][countOther]=="bet":
|
||||||
myOtherRaisedTurn=True
|
myOtherRaisedStreet2=True
|
||||||
for countOtherFold in range (len(action_types[street][player])):
|
for countOtherFold in range (len(action_types[street][player])):
|
||||||
if action_types[street][player][countOtherFold]=="fold":
|
if action_types[street][player][countOtherFold]=="fold":
|
||||||
myOtherRaisedTurnFold=True
|
myFoldToOtherRaisedStreet2=True
|
||||||
|
|
||||||
#turn stuff - copy of flop with different vars
|
#river stuff - copy of flop with different vars
|
||||||
street=3
|
street=3
|
||||||
if mySawRiver:
|
if myStreet3Seen:
|
||||||
for count in range(len(action_types[street][player])):
|
for count in range(len(action_types[street][player])):
|
||||||
if action_types[street][player][count]=="bet":
|
if action_types[street][player][count]=="bet":
|
||||||
myRaisedRiver=True
|
myStreet3Aggr=True
|
||||||
|
|
||||||
for otherPlayer in range (len(player_ids)):
|
for otherPlayer in range (len(player_ids)):
|
||||||
if player==otherPlayer or myOtherRaisedRiver:
|
if player==otherPlayer:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
for countOther in range (len(action_types[street][otherPlayer])):
|
for countOther in range (len(action_types[street][otherPlayer])):
|
||||||
if action_types[street][otherPlayer][countOther]=="bet":
|
if action_types[street][otherPlayer][countOther]=="bet":
|
||||||
myOtherRaisedRiver=True
|
myOtherRaisedStreet3=True
|
||||||
for countOtherFold in range (len(action_types[street][player])):
|
for countOtherFold in range (len(action_types[street][player])):
|
||||||
if action_types[street][player][countOtherFold]=="fold":
|
if action_types[street][player][countOtherFold]=="fold":
|
||||||
myOtherRaisedRiverFold=True
|
myFoldToOtherRaisedStreet3=True
|
||||||
|
|
||||||
if winnings[player]!=0:
|
if winnings[player]!=0:
|
||||||
if mySawFlop:
|
if myStreet1Seen:
|
||||||
myWonWhenSeenFlop=winnings[player]/float(totalWinnings)
|
myWonWhenSeenStreet1=winnings[player]/float(totalWinnings)
|
||||||
#print "myWonWhenSeenFlop:",myWonWhenSeenFlop
|
|
||||||
if mySawShowdown:
|
if mySawShowdown:
|
||||||
myWonAtSD=myWonWhenSeenFlop
|
myWonAtSD=myWonWhenSeenStreet1
|
||||||
|
|
||||||
#add each value to the appropriate array
|
#add each value to the appropriate array
|
||||||
VPIP.append(myVPIP)
|
street0VPI.append(myStreet0VPI)
|
||||||
PFR.append(myPFR)
|
street0Aggr.append(myStreet0Aggr)
|
||||||
PF3B4BChance.append(myPF3B4BChance)
|
street0_3B4BChance.append(myStreet0_3B4BChance)
|
||||||
PF3B4B.append(myPF3B4B)
|
street0_3B4BDone.append(myStreet0_3B4BDone)
|
||||||
sawFlop.append(mySawFlop)
|
street1Seen.append(myStreet1Seen)
|
||||||
sawTurn.append(mySawTurn)
|
street2Seen.append(myStreet2Seen)
|
||||||
sawRiver.append(mySawRiver)
|
street3Seen.append(myStreet3Seen)
|
||||||
|
street4Seen.append(myStreet4Seen)
|
||||||
sawShowdown.append(mySawShowdown)
|
sawShowdown.append(mySawShowdown)
|
||||||
raisedFlop.append(myRaisedFlop)
|
street1Aggr.append(myStreet1Aggr)
|
||||||
raisedTurn.append(myRaisedTurn)
|
street2Aggr.append(myStreet2Aggr)
|
||||||
raisedRiver.append(myRaisedRiver)
|
street3Aggr.append(myStreet3Aggr)
|
||||||
otherRaisedFlop.append(myOtherRaisedFlop)
|
street4Aggr.append(myStreet4Aggr)
|
||||||
otherRaisedFlopFold.append(myOtherRaisedFlopFold)
|
otherRaisedStreet1.append(myOtherRaisedStreet1)
|
||||||
otherRaisedTurn.append(myOtherRaisedTurn)
|
otherRaisedStreet2.append(myOtherRaisedStreet2)
|
||||||
otherRaisedTurnFold.append(myOtherRaisedTurnFold)
|
otherRaisedStreet3.append(myOtherRaisedStreet3)
|
||||||
otherRaisedRiver.append(myOtherRaisedRiver)
|
otherRaisedStreet4.append(myOtherRaisedStreet4)
|
||||||
otherRaisedRiverFold.append(myOtherRaisedRiverFold)
|
foldToOtherRaisedStreet1.append(myFoldToOtherRaisedStreet1)
|
||||||
wonWhenSeenFlop.append(myWonWhenSeenFlop)
|
foldToOtherRaisedStreet2.append(myFoldToOtherRaisedStreet2)
|
||||||
|
foldToOtherRaisedStreet3.append(myFoldToOtherRaisedStreet3)
|
||||||
|
foldToOtherRaisedStreet4.append(myFoldToOtherRaisedStreet4)
|
||||||
|
wonWhenSeenStreet1.append(myWonWhenSeenStreet1)
|
||||||
wonAtSD.append(myWonAtSD)
|
wonAtSD.append(myWonAtSD)
|
||||||
stealAttemptChance.append(myStealAttemptChance)
|
stealAttemptChance.append(myStealAttemptChance)
|
||||||
stealAttempted.append(myStealAttempted)
|
stealAttempted.append(myStealAttempted)
|
||||||
|
@ -1494,29 +1505,34 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
raise FpdbError("invalid position")
|
raise FpdbError("invalid position")
|
||||||
|
|
||||||
#add each array to the to-be-returned dictionary
|
#add each array to the to-be-returned dictionary
|
||||||
result={'VPIP':VPIP}
|
result={'street0VPI':street0VPI}
|
||||||
result['PFR']=PFR
|
result['street0Aggr']=street0Aggr
|
||||||
result['PF3B4BChance']=PF3B4BChance
|
result['street0_3B4BChance']=street0_3B4BChance
|
||||||
result['PF3B4B']=PF3B4B
|
result['street0_3B4BDone']=street0_3B4BDone
|
||||||
result['sawFlop']=sawFlop
|
result['street1Seen']=street1Seen
|
||||||
result['sawTurn']=sawTurn
|
result['street2Seen']=street2Seen
|
||||||
result['sawRiver']=sawRiver
|
result['street3Seen']=street3Seen
|
||||||
|
result['street4Seen']=street4Seen
|
||||||
result['sawShowdown']=sawShowdown
|
result['sawShowdown']=sawShowdown
|
||||||
result['raisedFlop']=raisedFlop
|
|
||||||
result['otherRaisedFlop']=otherRaisedFlop
|
result['street1Aggr']=street1Aggr
|
||||||
result['otherRaisedFlopFold']=otherRaisedFlopFold
|
result['otherRaisedStreet1']=otherRaisedStreet1
|
||||||
result['raisedTurn']=raisedTurn
|
result['foldToOtherRaisedStreet1']=foldToOtherRaisedStreet1
|
||||||
result['otherRaisedTurn']=otherRaisedTurn
|
result['street2Aggr']=street2Aggr
|
||||||
result['otherRaisedTurnFold']=otherRaisedTurnFold
|
result['otherRaisedStreet2']=otherRaisedStreet2
|
||||||
result['raisedRiver']=raisedRiver
|
result['foldToOtherRaisedStreet2']=foldToOtherRaisedStreet2
|
||||||
result['otherRaisedRiver']=otherRaisedRiver
|
result['street3Aggr']=street3Aggr
|
||||||
result['otherRaisedRiverFold']=otherRaisedRiverFold
|
result['otherRaisedStreet3']=otherRaisedStreet3
|
||||||
result['wonWhenSeenFlop']=wonWhenSeenFlop
|
result['foldToOtherRaisedStreet3']=foldToOtherRaisedStreet3
|
||||||
|
result['street4Aggr']=street4Aggr
|
||||||
|
result['otherRaisedStreet4']=otherRaisedStreet4
|
||||||
|
result['foldToOtherRaisedStreet4']=foldToOtherRaisedStreet4
|
||||||
|
result['wonWhenSeenStreet1']=wonWhenSeenStreet1
|
||||||
result['wonAtSD']=wonAtSD
|
result['wonAtSD']=wonAtSD
|
||||||
result['stealAttemptChance']=stealAttemptChance
|
result['stealAttemptChance']=stealAttemptChance
|
||||||
result['stealAttempted']=stealAttempted
|
result['stealAttempted']=stealAttempted
|
||||||
|
|
||||||
#after having calculated the above we now do second level calculations, so far just steal attempts.
|
#now the various steal values
|
||||||
foldBbToStealChance=[]
|
foldBbToStealChance=[]
|
||||||
foldedBbToSteal=[]
|
foldedBbToSteal=[]
|
||||||
foldSbToStealChance=[]
|
foldSbToStealChance=[]
|
||||||
|
@ -1549,130 +1565,158 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings
|
||||||
result['foldSbToStealChance']=foldSbToStealChance
|
result['foldSbToStealChance']=foldSbToStealChance
|
||||||
result['foldedSbToSteal']=foldedSbToSteal
|
result['foldedSbToSteal']=foldedSbToSteal
|
||||||
|
|
||||||
#now CB/2B/3B
|
#now CB
|
||||||
contBetChance=[]
|
street1CBChance=[]
|
||||||
contBetDone=[]
|
street1CBDone=[]
|
||||||
for player in range (len(player_ids)):
|
for player in range (len(player_ids)):
|
||||||
myContBetChance=False
|
myStreet1CBChance=False
|
||||||
myContBetDone=False
|
myStreet1CBDone=False
|
||||||
|
|
||||||
if PFR[player]:
|
if street0VPI[player]:
|
||||||
myContBetChance=True
|
myStreet1CBChance=True
|
||||||
if raisedFlop[player]:
|
if street1Aggr[player]:
|
||||||
myContBetDone=True
|
myStreet1CBDone=True
|
||||||
|
|
||||||
contBetChance.append(myContBetChance)
|
street1CBChance.append(myStreet1CBChance)
|
||||||
contBetDone.append(myContBetDone)
|
street1CBDone.append(myStreet1CBDone)
|
||||||
result['contBetChance']=contBetChance
|
result['street1CBChance']=street1CBChance
|
||||||
result['contBetDone']=contBetDone
|
result['street1CBDone']=street1CBDone
|
||||||
|
|
||||||
#now 2B
|
#now 2B
|
||||||
secondBarrelChance=[]
|
street2CBChance=[]
|
||||||
secondBarrelDone=[]
|
street2CBDone=[]
|
||||||
for player in range (len(player_ids)):
|
for player in range (len(player_ids)):
|
||||||
mySecondBarrelChance=False
|
myStreet2CBChance=False
|
||||||
mySecondBarrelDone=False
|
myStreet2CBDone=False
|
||||||
|
|
||||||
if contBetDone[player]:
|
if street1CBDone[player]:
|
||||||
mySecondBarrelChance=True
|
myStreet2CBChance=True
|
||||||
if raisedTurn[player]:
|
if street2Aggr[player]:
|
||||||
mySecondBarrelDone=True
|
myStreet2CBDone=True
|
||||||
|
|
||||||
secondBarrelChance.append(mySecondBarrelChance)
|
street2CBChance.append(myStreet2CBChance)
|
||||||
secondBarrelDone.append(mySecondBarrelDone)
|
street2CBDone.append(myStreet2CBDone)
|
||||||
result['secondBarrelChance']=secondBarrelChance
|
result['street2CBChance']=street2CBChance
|
||||||
result['secondBarrelDone']=secondBarrelDone
|
result['street2CBDone']=street2CBDone
|
||||||
|
|
||||||
#now 3B
|
#now 3B
|
||||||
thirdBarrelChance=[]
|
street3CBChance=[]
|
||||||
thirdBarrelDone=[]
|
street3CBDone=[]
|
||||||
for player in range (len(player_ids)):
|
for player in range (len(player_ids)):
|
||||||
myThirdBarrelChance=False
|
myStreet3CBChance=False
|
||||||
myThirdBarrelDone=False
|
myStreet3CBDone=False
|
||||||
|
|
||||||
if secondBarrelDone[player]:
|
if street2CBDone[player]:
|
||||||
myThirdBarrelChance=True
|
myStreet3CBChance=True
|
||||||
if raisedRiver[player]:
|
if street3Aggr[player]:
|
||||||
myThirdBarrelDone=True
|
myStreet3CBDone=True
|
||||||
|
|
||||||
|
street3CBChance.append(myStreet3CBChance)
|
||||||
|
street3CBDone.append(myStreet3CBDone)
|
||||||
|
result['street3CBChance']=street3CBChance
|
||||||
|
result['street3CBDone']=street3CBDone
|
||||||
|
|
||||||
|
#4B - todo, implement for stud/razz
|
||||||
|
street4CBChance=[]
|
||||||
|
street4CBDone=[]
|
||||||
|
for player in range (len(player_ids)):
|
||||||
|
myStreet4CBChance=False
|
||||||
|
myStreet4CBDone=False
|
||||||
|
|
||||||
|
street4CBChance.append(myStreet4CBChance)
|
||||||
|
street4CBDone.append(myStreet4CBDone)
|
||||||
|
result['street4CBChance']=street4CBChance
|
||||||
|
result['street4CBDone']=street4CBDone
|
||||||
|
|
||||||
thirdBarrelChance.append(myThirdBarrelChance)
|
|
||||||
thirdBarrelDone.append(myThirdBarrelDone)
|
|
||||||
result['thirdBarrelChance']=thirdBarrelChance
|
|
||||||
result['thirdBarrelDone']=thirdBarrelDone
|
|
||||||
|
|
||||||
result['position']=hudDataPositions
|
result['position']=hudDataPositions
|
||||||
|
|
||||||
|
foldToStreet1CBChance=[]
|
||||||
foldToContBetChance=[]
|
foldToStreet1CBDone=[]
|
||||||
foldToContBetDone=[]
|
foldToStreet2CBChance=[]
|
||||||
foldToSecondBarrelChance=[]
|
foldToStreet2CBDone=[]
|
||||||
foldToSecondBarrelDone=[]
|
foldToStreet3CBChance=[]
|
||||||
foldToThirdBarrelChance=[]
|
foldToStreet3CBDone=[]
|
||||||
foldToThirdBarrelDone=[]
|
foldToStreet4CBChance=[]
|
||||||
|
foldToStreet4CBDone=[]
|
||||||
|
|
||||||
totalProfit=[]
|
totalProfit=[]
|
||||||
|
|
||||||
flopCheckCallRaiseChance=[]
|
street1CheckCallRaiseChance=[]
|
||||||
flopCheckCallRaiseDone=[]
|
street1CheckCallRaiseDone=[]
|
||||||
turnCheckCallRaiseChance=[]
|
street2CheckCallRaiseChance=[]
|
||||||
turnCheckCallRaiseDone=[]
|
street2CheckCallRaiseDone=[]
|
||||||
riverCheckCallRaiseChance=[]
|
street3CheckCallRaiseChance=[]
|
||||||
riverCheckCallRaiseDone=[]
|
street3CheckCallRaiseDone=[]
|
||||||
|
street4CheckCallRaiseChance=[]
|
||||||
|
street4CheckCallRaiseDone=[]
|
||||||
for player in range (len(player_ids)):
|
for player in range (len(player_ids)):
|
||||||
myFoldToContBetChance=False
|
myFoldToStreet1CBChance=False
|
||||||
myFoldToContBetDone=False
|
myFoldToStreet1CBDone=False
|
||||||
myFoldToSecondBarrelChance=False
|
myFoldToStreet2CBChance=False
|
||||||
myFoldToSecondBarrelDone=False
|
myFoldToStreet2CBDone=False
|
||||||
myFoldToThirdBarrelChance=False
|
myFoldToStreet3CBChance=False
|
||||||
myFoldToThirdBarrelDone=False
|
myFoldToStreet3CBDone=False
|
||||||
|
myFoldToStreet4CBChance=False
|
||||||
|
myFoldToStreet4CBDone=False
|
||||||
|
|
||||||
myTotalProfit=0
|
myTotalProfit=0
|
||||||
|
|
||||||
myFlopCheckCallRaiseChance=False
|
myStreet1CheckCallRaiseChance=False
|
||||||
myFlopCheckCallRaiseDone=False
|
myStreet1CheckCallRaiseDone=False
|
||||||
myTurnCheckCallRaiseChance=False
|
myStreet2CheckCallRaiseChance=False
|
||||||
myTurnCheckCallRaiseDone=False
|
myStreet2CheckCallRaiseDone=False
|
||||||
myRiverCheckCallRaiseChance=False
|
myStreet3CheckCallRaiseChance=False
|
||||||
myRiverCheckCallRaiseDone=False
|
myStreet3CheckCallRaiseDone=False
|
||||||
|
myStreet4CheckCallRaiseChance=False
|
||||||
|
myStreet4CheckCallRaiseDone=False
|
||||||
|
|
||||||
foldToContBetChance.append(myFoldToContBetChance)
|
foldToStreet1CBChance.append(myFoldToStreet1CBChance)
|
||||||
foldToContBetDone.append(myFoldToContBetDone)
|
foldToStreet1CBDone.append(myFoldToStreet1CBDone)
|
||||||
foldToSecondBarrelChance.append(myFoldToSecondBarrelChance)
|
foldToStreet2CBChance.append(myFoldToStreet2CBChance)
|
||||||
foldToSecondBarrelDone.append(myFoldToSecondBarrelDone)
|
foldToStreet2CBDone.append(myFoldToStreet2CBDone)
|
||||||
foldToThirdBarrelChance.append(myFoldToThirdBarrelChance)
|
foldToStreet3CBChance.append(myFoldToStreet3CBChance)
|
||||||
foldToThirdBarrelDone.append(myFoldToThirdBarrelDone)
|
foldToStreet3CBDone.append(myFoldToStreet3CBDone)
|
||||||
|
foldToStreet4CBChance.append(myFoldToStreet4CBChance)
|
||||||
|
foldToStreet4CBDone.append(myFoldToStreet4CBDone)
|
||||||
|
|
||||||
totalProfit.append(myTotalProfit)
|
totalProfit.append(myTotalProfit)
|
||||||
|
|
||||||
flopCheckCallRaiseChance.append(myFlopCheckCallRaiseChance)
|
street1CheckCallRaiseChance.append(myStreet1CheckCallRaiseChance)
|
||||||
flopCheckCallRaiseDone.append(myFlopCheckCallRaiseDone)
|
street1CheckCallRaiseDone.append(myStreet1CheckCallRaiseDone)
|
||||||
turnCheckCallRaiseChance.append(myTurnCheckCallRaiseChance)
|
street2CheckCallRaiseChance.append(myStreet2CheckCallRaiseChance)
|
||||||
turnCheckCallRaiseDone.append(myTurnCheckCallRaiseDone)
|
street2CheckCallRaiseDone.append(myStreet2CheckCallRaiseDone)
|
||||||
riverCheckCallRaiseChance.append(myRiverCheckCallRaiseChance)
|
street3CheckCallRaiseChance.append(myStreet3CheckCallRaiseChance)
|
||||||
riverCheckCallRaiseDone.append(myRiverCheckCallRaiseDone)
|
street3CheckCallRaiseDone.append(myStreet3CheckCallRaiseDone)
|
||||||
|
street4CheckCallRaiseChance.append(myStreet4CheckCallRaiseChance)
|
||||||
|
street4CheckCallRaiseDone.append(myStreet4CheckCallRaiseDone)
|
||||||
|
|
||||||
result['foldToContBetChance']=foldToContBetChance
|
result['foldToStreet1CBChance']=foldToStreet1CBChance
|
||||||
result['foldToContBetDone']=foldToContBetDone
|
result['foldToStreet1CBDone']=foldToStreet1CBDone
|
||||||
result['foldToSecondBarrelChance']=foldToSecondBarrelChance
|
result['foldToStreet2CBChance']=foldToStreet2CBChance
|
||||||
result['foldToSecondBarrelDone']=foldToSecondBarrelDone
|
result['foldToStreet2CBDone']=foldToStreet2CBDone
|
||||||
result['foldToThirdBarrelChance']=foldToThirdBarrelChance
|
result['foldToStreet3CBChance']=foldToStreet3CBChance
|
||||||
result['foldToThirdBarrelDone']=foldToThirdBarrelDone
|
result['foldToStreet3CBDone']=foldToStreet3CBDone
|
||||||
|
result['foldToStreet4CBChance']=foldToStreet4CBChance
|
||||||
|
result['foldToStreet4CBDone']=foldToStreet4CBDone
|
||||||
|
|
||||||
result['totalProfit']=totalProfit
|
result['totalProfit']=totalProfit
|
||||||
|
|
||||||
result['flopCheckCallRaiseChance']=flopCheckCallRaiseChance
|
result['street1CheckCallRaiseChance']=street1CheckCallRaiseChance
|
||||||
result['flopCheckCallRaiseDone']=flopCheckCallRaiseDone
|
result['street1CheckCallRaiseDone']=street1CheckCallRaiseDone
|
||||||
result['turnCheckCallRaiseChance']=turnCheckCallRaiseChance
|
result['street2CheckCallRaiseChance']=street2CheckCallRaiseChance
|
||||||
result['turnCheckCallRaiseDone']=turnCheckCallRaiseDone
|
result['street2CheckCallRaiseDone']=street2CheckCallRaiseDone
|
||||||
result['riverCheckCallRaiseChance']=riverCheckCallRaiseChance
|
result['street3CheckCallRaiseChance']=street3CheckCallRaiseChance
|
||||||
result['riverCheckCallRaiseDone']=riverCheckCallRaiseDone
|
result['street3CheckCallRaiseDone']=street3CheckCallRaiseDone
|
||||||
|
result['street4CheckCallRaiseChance']=street4CheckCallRaiseChance
|
||||||
|
result['street4CheckCallRaiseDone']=street4CheckCallRaiseDone
|
||||||
return result
|
return result
|
||||||
#end def calculateHudImport
|
#end def calculateHudImport
|
||||||
|
|
||||||
def storeHudData(cursor, category, gametypeId, playerIds, hudImportData):
|
def storeHudCache(cursor, category, gametypeId, playerIds, hudImportData):
|
||||||
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
|
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
|
||||||
for player in range (len(playerIds)):
|
for player in range (len(playerIds)):
|
||||||
cursor.execute("SELECT * FROM HudDataHoldemOmaha WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s AND position=%s", (gametypeId, playerIds[player], len(playerIds), hudImportData['position'][player]))
|
cursor.execute("SELECT * FROM HudCache WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s AND position=%s", (gametypeId, playerIds[player], len(playerIds), hudImportData['position'][player]))
|
||||||
row=cursor.fetchone()
|
row=cursor.fetchone()
|
||||||
#print "gametypeId:", gametypeId, "playerIds[player]",playerIds[player], "len(playerIds):",len(playerIds), "row:",row
|
#print "gametypeId:", gametypeId, "playerIds[player]",playerIds[player], "len(playerIds):",len(playerIds), "row:",row
|
||||||
|
|
||||||
|
@ -1688,8 +1732,7 @@ def storeHudData(cursor, category, gametypeId, playerIds, hudImportData):
|
||||||
row.append(gametypeId)
|
row.append(gametypeId)
|
||||||
row.append(playerIds[player])
|
row.append(playerIds[player])
|
||||||
row.append(len(playerIds))#seats
|
row.append(len(playerIds))#seats
|
||||||
row.append(0)#HDs
|
for i in range(len(hudImportData)+2):
|
||||||
for i in range(len(hudImportData)):
|
|
||||||
row.append(0)
|
row.append(0)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -1699,70 +1742,121 @@ def storeHudData(cursor, category, gametypeId, playerIds, hudImportData):
|
||||||
newrow.append(row[i])
|
newrow.append(row[i])
|
||||||
row=newrow
|
row=newrow
|
||||||
|
|
||||||
row[4]+=1 #HDs
|
row[4]=hudImportData['position'][player]
|
||||||
if hudImportData['VPIP'][player]: row[5]+=1
|
row[5]=1 #tourneysGametypeId
|
||||||
if hudImportData['PFR'][player]: row[6]+=1
|
row[6]+=1 #HDs
|
||||||
if hudImportData['PF3B4BChance'][player]: row[7]+=1
|
if hudImportData['street0VPI'][player]: row[7]+=1
|
||||||
if hudImportData['PF3B4B'][player]: row[8]+=1
|
if hudImportData['street0Aggr'][player]: row[8]+=1
|
||||||
if hudImportData['sawFlop'][player]: row[9]+=1
|
if hudImportData['street0_3B4BChance'][player]: row[9]+=1
|
||||||
if hudImportData['sawTurn'][player]: row[10]+=1
|
if hudImportData['street0_3B4BDone'][player]: row[10]+=1
|
||||||
if hudImportData['sawRiver'][player]: row[11]+=1
|
if hudImportData['street1Seen'][player]: row[11]+=1
|
||||||
if hudImportData['sawShowdown'][player]: row[12]+=1
|
if hudImportData['street2Seen'][player]: row[12]+=1
|
||||||
if hudImportData['raisedFlop'][player]: row[13]+=1
|
if hudImportData['street3Seen'][player]: row[13]+=1
|
||||||
if hudImportData['raisedTurn'][player]: row[14]+=1
|
if hudImportData['street4Seen'][player]: row[14]+=1
|
||||||
if hudImportData['raisedRiver'][player]: row[15]+=1
|
if hudImportData['sawShowdown'][player]: row[15]+=1
|
||||||
if hudImportData['otherRaisedFlop'][player]: row[16]+=1
|
if hudImportData['street1Aggr'][player]: row[16]+=1
|
||||||
if hudImportData['otherRaisedFlopFold'][player]: row[17]+=1
|
if hudImportData['street2Aggr'][player]: row[17]+=1
|
||||||
if hudImportData['otherRaisedTurn'][player]: row[18]+=1
|
if hudImportData['street3Aggr'][player]: row[18]+=1
|
||||||
if hudImportData['otherRaisedTurnFold'][player]: row[19]+=1
|
if hudImportData['street4Aggr'][player]: row[19]+=1
|
||||||
if hudImportData['otherRaisedRiver'][player]: row[20]+=1
|
if hudImportData['otherRaisedStreet1'][player]: row[20]+=1
|
||||||
if hudImportData['otherRaisedRiverFold'][player]: row[21]+=1
|
if hudImportData['otherRaisedStreet2'][player]: row[21]+=1
|
||||||
if hudImportData['wonWhenSeenFlop'][player]!=0.0: row[22]+=hudImportData['wonWhenSeenFlop'][player]
|
if hudImportData['otherRaisedStreet3'][player]: row[22]+=1
|
||||||
if hudImportData['wonAtSD'][player]!=0.0: row[23]+=hudImportData['wonAtSD'][player]
|
if hudImportData['otherRaisedStreet4'][player]: row[23]+=1
|
||||||
if hudImportData['stealAttemptChance'][player]: row[24]+=1
|
if hudImportData['foldToOtherRaisedStreet1'][player]: row[24]+=1
|
||||||
if hudImportData['stealAttempted'][player]: row[25]+=1
|
if hudImportData['foldToOtherRaisedStreet2'][player]: row[25]+=1
|
||||||
if hudImportData['foldBbToStealChance'][player]: row[26]+=1
|
if hudImportData['foldToOtherRaisedStreet3'][player]: row[26]+=1
|
||||||
if hudImportData['foldedBbToSteal'][player]: row[27]+=1
|
if hudImportData['foldToOtherRaisedStreet4'][player]: row[27]+=1
|
||||||
if hudImportData['foldSbToStealChance'][player]: row[28]+=1
|
if hudImportData['wonWhenSeenStreet1'][player]!=0.0: row[28]+=hudImportData['wonWhenSeenStreet1'][player]
|
||||||
if hudImportData['foldedSbToSteal'][player]: row[29]+=1
|
if hudImportData['wonAtSD'][player]!=0.0: row[29]+=hudImportData['wonAtSD'][player]
|
||||||
|
if hudImportData['stealAttemptChance'][player]: row[30]+=1
|
||||||
|
if hudImportData['stealAttempted'][player]: row[31]+=1
|
||||||
|
if hudImportData['foldBbToStealChance'][player]: row[32]+=1
|
||||||
|
if hudImportData['foldedBbToSteal'][player]: row[33]+=1
|
||||||
|
if hudImportData['foldSbToStealChance'][player]: row[34]+=1
|
||||||
|
if hudImportData['foldedSbToSteal'][player]: row[35]+=1
|
||||||
|
|
||||||
if hudImportData['contBetChance'][player]: row[30]+=1
|
if hudImportData['street1CBChance'][player]: row[36]+=1
|
||||||
if hudImportData['contBetDone'][player]: row[31]+=1
|
if hudImportData['street1CBDone'][player]: row[37]+=1
|
||||||
if hudImportData['secondBarrelChance'][player]: row[32]+=1
|
if hudImportData['street2CBChance'][player]: row[38]+=1
|
||||||
if hudImportData['secondBarrelDone'][player]: row[33]+=1
|
if hudImportData['street2CBDone'][player]: row[39]+=1
|
||||||
if hudImportData['thirdBarrelChance'][player]: row[34]+=1
|
if hudImportData['street3CBChance'][player]: row[40]+=1
|
||||||
if hudImportData['thirdBarrelDone'][player]: row[35]+=1
|
if hudImportData['street3CBDone'][player]: row[41]+=1
|
||||||
row[36]=hudImportData['position'][player]
|
if hudImportData['street4CBChance'][player]: row[42]+=1
|
||||||
|
if hudImportData['street4CBDone'][player]: row[43]+=1
|
||||||
|
|
||||||
if hudImportData['foldToContBetChance'][player]: row[37]+=1
|
if hudImportData['foldToStreet1CBChance'][player]: row[44]+=1
|
||||||
if hudImportData['foldToContBetDone'][player]: row[38]+=1
|
if hudImportData['foldToStreet1CBDone'][player]: row[45]+=1
|
||||||
if hudImportData['foldToSecondBarrelChance'][player]: row[39]+=1
|
if hudImportData['foldToStreet2CBChance'][player]: row[46]+=1
|
||||||
if hudImportData['foldToSecondBarrelDone'][player]: row[40]+=1
|
if hudImportData['foldToStreet2CBDone'][player]: row[47]+=1
|
||||||
if hudImportData['foldToThirdBarrelChance'][player]: row[41]+=1
|
if hudImportData['foldToStreet3CBChance'][player]: row[48]+=1
|
||||||
if hudImportData['foldToThirdBarrelDone'][player]: row[42]+=1
|
if hudImportData['foldToStreet3CBDone'][player]: row[49]+=1
|
||||||
|
if hudImportData['foldToStreet4CBChance'][player]: row[50]+=1
|
||||||
|
if hudImportData['foldToStreet4CBDone'][player]: row[51]+=1
|
||||||
|
|
||||||
row[43]+=hudImportData['totalProfit'][player]
|
row[52]+=hudImportData['totalProfit'][player]
|
||||||
|
|
||||||
if hudImportData['flopCheckCallRaiseChance'][player]: row[44]+=1
|
if hudImportData['street1CheckCallRaiseChance'][player]: row[53]+=1
|
||||||
if hudImportData['flopCheckCallRaiseDone'][player]: row[45]+=1
|
if hudImportData['street1CheckCallRaiseDone'][player]: row[54]+=1
|
||||||
if hudImportData['turnCheckCallRaiseChance'][player]: row[46]+=1
|
if hudImportData['street2CheckCallRaiseChance'][player]: row[55]+=1
|
||||||
if hudImportData['turnCheckCallRaiseDone'][player]: row[47]+=1
|
if hudImportData['street2CheckCallRaiseDone'][player]: row[56]+=1
|
||||||
if hudImportData['riverCheckCallRaiseChance'][player]: row[48]+=1
|
if hudImportData['street3CheckCallRaiseChance'][player]: row[57]+=1
|
||||||
if hudImportData['riverCheckCallRaiseDone'][player]: row[49]+=1
|
if hudImportData['street3CheckCallRaiseDone'][player]: row[58]+=1
|
||||||
|
if hudImportData['street4CheckCallRaiseChance'][player]: row[59]+=1
|
||||||
|
if hudImportData['street4CheckCallRaiseDone'][player]: row[60]+=1
|
||||||
|
|
||||||
if doInsert:
|
if doInsert:
|
||||||
#print "playerid before insert:",row[2]
|
#print "playerid before insert:",row[2]
|
||||||
cursor.execute("""INSERT INTO HudDataHoldemOmaha
|
cursor.execute("""INSERT INTO HudCache
|
||||||
(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, position, tourneysGametypeId, foldToContBetChance, foldToContBetDone, foldToSecondBarrelChance, foldToSecondBarrelDone, foldToThirdBarrelChance, foldToThirdBarrelDone, totalProfit, flopCheckCallRaiseChance, flopCheckCallRaiseDone, turnCheckCallRaiseChance, turnCheckCallRaiseDone, riverCheckCallRaiseChance, riverCheckCallRaiseDone)
|
(gametypeId, playerId, activeSeats, position, tourneysGametypeId,
|
||||||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %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], row[36], 1, row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49]))
|
HDs, street0VPI, street0Aggr, street0_3B4BChance, street0_3B4BDone,
|
||||||
|
street1Seen, street2Seen, street3Seen, street4Seen, sawShowdown,
|
||||||
|
street1Aggr, street2Aggr, street3Aggr, street4Aggr, otherRaisedStreet1,
|
||||||
|
otherRaisedStreet2, otherRaisedStreet3, otherRaisedStreet4, foldToOtherRaisedStreet1, foldToOtherRaisedStreet2,
|
||||||
|
foldToOtherRaisedStreet3, foldToOtherRaisedStreet4, wonWhenSeenStreet1, wonAtSD, stealAttemptChance,
|
||||||
|
stealAttempted, foldBbToStealChance, foldedBbToSteal, foldSbToStealChance, foldedSbToSteal,
|
||||||
|
street1CBChance, street1CBDone, street2CBChance, street2CBDone, street3CBChance,
|
||||||
|
street3CBDone, street4CBChance, street4CBDone, foldToStreet1CBChance, foldToStreet1CBDone,
|
||||||
|
foldToStreet2CBChance, foldToStreet2CBDone, foldToStreet3CBChance, foldToStreet3CBDone, foldToStreet4CBChance,
|
||||||
|
foldToStreet4CBDone, totalProfit, street1CheckCallRaiseChance, street1CheckCallRaiseDone, street2CheckCallRaiseChance,
|
||||||
|
street2CheckCallRaiseDone, street3CheckCallRaiseChance, street3CheckCallRaiseDone, street4CheckCallRaiseChance, street4CheckCallRaiseDone)
|
||||||
|
VALUES (%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %s, %s, %s, %s,
|
||||||
|
%s, %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], row[36], row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49], row[50], row[51], row[52], row[53], row[54], row[55], row[56], row[57], row[58], row[59], row[60]))
|
||||||
else:
|
else:
|
||||||
#print "storing updated hud data line"
|
#print "storing updated hud data line"
|
||||||
cursor.execute("""UPDATE HudDataHoldemOmaha
|
cursor.execute("""UPDATE HudCache
|
||||||
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, tourneysGametypeId=%s, foldToContBetChance=%s, foldToContBetDone=%s, foldToSecondBarrelChance=%s, foldToSecondBarrelDone=%s, foldToThirdBarrelChance=%s, foldToThirdBarrelDone=%s, totalProfit=%s, flopCheckCallRaiseChance=%s, flopCheckCallRaiseDone=%s, turnCheckCallRaiseChance=%s, turnCheckCallRaiseDone=%s, riverCheckCallRaiseChance=%s, riverCheckCallRaiseDone=%s
|
SET HDs=%s, street0VPI=%s, street0Aggr=%s, street0_3B4BChance=%s, street0_3B4BDone=%s,
|
||||||
WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s AND position=%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], 1, row[37], row[38], row[39], row[40], row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49], row[1], row[2], row[3], row[36]))
|
street1Seen=%s, street2Seen=%s, street3Seen=%s, street4Seen=%s, sawShowdown=%s,
|
||||||
|
street1Aggr=%s, street2Aggr=%s, street3Aggr=%s, street4Aggr=%s, otherRaisedStreet1=%s,
|
||||||
|
otherRaisedStreet2=%s, otherRaisedStreet3=%s, otherRaisedStreet4=%s, foldToOtherRaisedStreet1=%s, foldToOtherRaisedStreet2=%s,
|
||||||
|
foldToOtherRaisedStreet3=%s, foldToOtherRaisedStreet4=%s, wonWhenSeenStreet1=%s, wonAtSD=%s, stealAttemptChance=%s,
|
||||||
|
stealAttempted=%s, foldBbToStealChance=%s, foldedBbToSteal=%s, foldSbToStealChance=%s, foldedSbToSteal=%s,
|
||||||
|
street1CBChance=%s, street1CBDone=%s, street2CBChance=%s, street2CBDone=%s, street3CBChance=%s,
|
||||||
|
street3CBDone=%s, street4CBChance=%s, street4CBDone=%s, foldToStreet1CBChance=%s, foldToStreet1CBDone=%s,
|
||||||
|
foldToStreet2CBChance=%s, foldToStreet2CBDone=%s, foldToStreet3CBChance=%s, foldToStreet3CBDone=%s, foldToStreet4CBChance=%s,
|
||||||
|
foldToStreet4CBDone=%s, totalProfit=%s, street1CheckCallRaiseChance=%s, street1CheckCallRaiseDone=%s, street2CheckCallRaiseChance=%s,
|
||||||
|
street2CheckCallRaiseDone=%s, street3CheckCallRaiseChance=%s, street3CheckCallRaiseDone=%s, street4CheckCallRaiseChance=%s, street4CheckCallRaiseDone=%s
|
||||||
|
WHERE gametypeId=%s AND playerId=%s AND activeSeats=%s AND position=%s AND tourneysGametypeId=%s""", (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[36], row[37], row[38], row[39], row[40],
|
||||||
|
row[41], row[42], row[43], row[44], row[45], row[46], row[47], row[48], row[49], row[50],
|
||||||
|
row[51], row[52], row[53], row[54], row[55], row[56], row[57], row[58], row[59], row[60],
|
||||||
|
row[1], row[2], row[3], row[4], row[5]))
|
||||||
else:
|
else:
|
||||||
raise FpdbError("todo")
|
raise FpdbError("todo")
|
||||||
#end def storeHudData
|
#end def storeHudCache
|
||||||
|
|
||||||
def store_tourneys(cursor, site_id, site_tourney_no, buyin, fee, knockout, entries, prizepool, start_time):
|
def store_tourneys(cursor, site_id, site_tourney_no, buyin, fee, knockout, entries, prizepool, start_time):
|
||||||
cursor.execute("SELECT id FROM Tourneys WHERE siteTourneyNo=%s AND siteId=%s", (site_tourney_no, site_id))
|
cursor.execute("SELECT id FROM Tourneys WHERE siteTourneyNo=%s AND siteId=%s", (site_tourney_no, site_id))
|
||||||
|
|
|
@ -7,5 +7,7 @@
|
||||||
<li><a href="<?php echo SITE_URL ?>docs.php">Documentation</a></li>
|
<li><a href="<?php echo SITE_URL ?>docs.php">Documentation</a></li>
|
||||||
<li><a href="<?php echo SITE_URL ?>license.php">License</a></li>
|
<li><a href="<?php echo SITE_URL ?>license.php">License</a></li>
|
||||||
<li><a href="<?php echo SITE_URL ?>contact.php">Contact</a></li>
|
<li><a href="<?php echo SITE_URL ?>contact.php">Contact</a></li>
|
||||||
|
<li><a href="https://sourceforge.net/forum/?group_id=226872">Forums</a></li>
|
||||||
|
<li><a href="https://sourceforge.net/tracker/?group_id=226872">Bug/Request Tracker</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user