Merge branch 'master' of git://git.assembla.com/fpdb-eric into eric
This commit is contained in:
commit
8f7b01616d
125
packaging/windows/MySqlPython1.2.3WalkthroughPython27.txt
Normal file
125
packaging/windows/MySqlPython1.2.3WalkthroughPython27.txt
Normal file
|
@ -0,0 +1,125 @@
|
||||||
|
Create MySqlPython version 1.2.3 windows installer for Python26
|
||||||
|
|
||||||
|
This walkthrough is derived from excellent installation instructions released under GNU Free Documentation License 1.2. The original work is here ... http://www.bcspcsonline.com/wiki/index.php?title=MySQL-5.1.34_Python-2.6_Module_Build_Instructions The Wiki author appears to be "Irondesk"
|
||||||
|
|
||||||
|
This version by Gimick on 29th June 2010
|
||||||
|
Content is available under GNU Free Documentation License 1.2
|
||||||
|
|
||||||
|
Premamble
|
||||||
|
---------
|
||||||
|
|
||||||
|
|
||||||
|
The FPDB exe needs to build against the MySql-Python project. Unfortunately, for python 2.6 there is no official installer for windows, and none is ever likely to be provided.
|
||||||
|
|
||||||
|
Community builds are available, but to reduce third-party dependencies, we will build our own here.
|
||||||
|
|
||||||
|
Step 0 Get a fresh XP installation
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
0.1/ Using XPhome 32bit
|
||||||
|
|
||||||
|
|
||||||
|
Step 1, VisualStudio 2008 express install
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
1.1/ Get the ISO CD from here ... http://www.microsoft.com/express/Downloads/#2008-All
|
||||||
|
|
||||||
|
1.2/ Run and install Visual C++ only, don't bother with the additional packages offered
|
||||||
|
|
||||||
|
This package will run 30 days before registration is needed
|
||||||
|
|
||||||
|
|
||||||
|
Step 2, setup Mysql Server
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
2.1/ Install MySQL server runtime ... http://downloads.mysql.com/archives/mysql-5.1/mysql-5.1.34-win32.msi
|
||||||
|
|
||||||
|
Choose Typical, choose configure, choose Standard Configuration, choose all defaults, supply admin username/password.
|
||||||
|
|
||||||
|
|
||||||
|
Step 3, more installs
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
3.1/ install the following in sequence (accept all default options) there should be no errors !
|
||||||
|
|
||||||
|
Python 2.7 ... http://python.org/ftp/python/2.7/python-2.7.msi
|
||||||
|
7zip 914 ... http://sourceforge.net/projects/sevenzip/files/7-Zip/9.14/7z914.exe/download
|
||||||
|
|
||||||
|
|
||||||
|
Step 4, grab Mysql server Source
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
4.1/ Download ... http://downloads.mysql.com/archives/mysql-5.1/mysql-noinstall-5.1.34-win32.zip
|
||||||
|
4.2/ Unpacking Desktop\mysqlsource (use 7zip)
|
||||||
|
4.3/ Copy the following source directories to the MySql installation:
|
||||||
|
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\data\* "c:\Program Files\MySQL\MySQL Server 5.1\data" /I/E/F/H
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\Embedded\* "c:\Program Files\MySQL\MySQL Server 5.1\Embedded" /I/E/F/H
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\include\* "c:\Program Files\MySQL\MySQL Server 5.1\include" /I/E/F/H
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\lib\* "c:\Program Files\MySQL\MySQL Server 5.1\lib" /I/E/F/H
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\mysql-test\* "c:\Program Files\MySQL\MySQL Server 5.1\mysql-test" /I/E/F/H
|
||||||
|
dos> xcopy Desktop\mysqlsource\mysql-5.1.34-win32\sql-bench\* "c:\Program Files\MySQL\MySQL Server 5.1\sql-bench" /I/E/F/H
|
||||||
|
|
||||||
|
4.4/ You can delete Destop\mysqlsource, is no longer needed.
|
||||||
|
|
||||||
|
|
||||||
|
Step 5, grab Mysql-python source
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
5.1/ get download
|
||||||
|
MySql for python ... http://sourceforge.net/projects/mysql-python/files/mysql-python/1.2.3/MySQL-python-1.2.3.tar.gz/download
|
||||||
|
|
||||||
|
5.2/ extract MySQL-python-1.2.3 directory to the Desktop using 7zip
|
||||||
|
(note: use 7zip, open the gz, then open the tar, then extract the directory found inside there)
|
||||||
|
|
||||||
|
Desktop\MySQL-python-1.2.3 should now exist
|
||||||
|
|
||||||
|
|
||||||
|
Step 6, get python build tools
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
6.1/ get Easy Setup installer
|
||||||
|
Easy setup installer ... http://peak.telecommunity.com/dist/ez_setup.py
|
||||||
|
|
||||||
|
6.2/ Check the DEFAULT VERSION specified in Easy Setup and get the corresponding setuptools (version c11 in this case)
|
||||||
|
Setuptools version 11 ... http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
|
||||||
|
|
||||||
|
6.3/ Put both of these files into Desktop\MySQL-python-1.2.3, overwriting any existing files
|
||||||
|
|
||||||
|
|
||||||
|
Step 7, install the build tool
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
dos> cd Desktop\MySQL-python-1.2.3
|
||||||
|
dos> c:\Python27\python.exe ez_setup.py setuptools-0.6c11-py2.7.egg
|
||||||
|
|
||||||
|
|
||||||
|
Step 8, Tweak the configuration
|
||||||
|
-------------------------------
|
||||||
|
|
||||||
|
dos> cd Desktop\MySQL-python-1.2.3
|
||||||
|
|
||||||
|
8.1/ dos> write site.cfg
|
||||||
|
|
||||||
|
Change registry_key = SOFTWARE\MySQL AB\MySQL Server 5.0
|
||||||
|
to registry_key = SOFTWARE\MySQL AB\MySQL Server 5.1
|
||||||
|
|
||||||
|
|
||||||
|
Step 9, build
|
||||||
|
-------------
|
||||||
|
|
||||||
|
dos> cd Desktop\MySQL-python-1.2.3
|
||||||
|
|
||||||
|
9.1/ dos> c:\python27\python.exe setup.py build
|
||||||
|
|
||||||
|
* Note: You will probably get a bunch of warnings and maybe a manifest error status 31, these are ok as long as there are no errors in compiling or linking.
|
||||||
|
* Note: This will generate the "MySQL-python-1.2.3/build" folder
|
||||||
|
|
||||||
|
9.2/ dos> c:\python27\python.exe setup.py bdist_wininst
|
||||||
|
|
||||||
|
|
||||||
|
Step 10, done
|
||||||
|
-------------
|
||||||
|
|
||||||
|
10.1/ the \dist directory will contain MySQL-python-1.2.3.win32-py2.7.exe !!!!!
|
||||||
|
10.2/ upload this file to sourceforge
|
|
@ -1,16 +1,24 @@
|
||||||
This is a list of download links of Windows packages for Python 2.7 of our dependencies.
|
This is a list of download links of Windows32 packages for Python 2.7 of our dependencies.
|
||||||
|
|
||||||
|
|
||||||
These are as of 26Feb2011:
|
These are as of 27Feb2011:
|
||||||
matplotlib 1.0.1 ... http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/
|
|
||||||
pygtk 2.22 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/
|
|
||||||
pycairo 1.8.10 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/
|
|
||||||
pyGobject X ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.26/
|
|
||||||
|
|
||||||
|
Required:
|
||||||
The below are from Aug2010, and should probably be updated to newer versions:
|
|
||||||
Python 2.7 ... http://python.org/ftp/python/2.7/python-2.7.msi
|
Python 2.7 ... http://python.org/ftp/python/2.7/python-2.7.msi
|
||||||
pywin 214 ... https://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.7.exe/download
|
gtk+ allinone... http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.1-20101227_win32.zip
|
||||||
py2exe 0.6.9 ... https://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download
|
matplotlib 1.0.1 ... http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.win32-py2.7.exe/download
|
||||||
psycopg2 ... http://www.stickpeople.com/projects/python/win-psycopg/psycopg2-2.2.2.win32-py2.7-pg8.4.4-release.exe
|
pygtk 2.22 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/pygtk-2.22.0-1.win32-py2.7.exe
|
||||||
|
pycairo 1.8.10 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/pycairo-1.8.10.win32-py2.7.exe
|
||||||
|
pyGobject X ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.26/pygobject-2.26.0-1.win32-py2.7.exe
|
||||||
|
pywin 216 ... http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win32-py2.7.exe/download
|
||||||
|
numpy 1.5.1 ... http://sourceforge.net/projects/numpy/files/NumPy/1.5.1/numpy-1.5.1-win32-superpack-python2.7.exe/download
|
||||||
|
pypokereval 138 ... http://sourceforge.net/projects/fpdb/files/fpdb/pokereval-138.win32-py2.7.exe/download
|
||||||
|
|
||||||
|
optional:
|
||||||
|
cdecimal 2.2 ... http://www.bytereef.org/software/mpdecimal/releases/cdecimal-2.2.win32-py2.7.msi
|
||||||
|
mysql-python 1.2.3 ... http://sourceforge.net/projects/fpdb/files/fpdb/MySQL-python-1.2.3.win32-py2.7.exe/download
|
||||||
|
psycopg2 ... http://www.stickpeople.com/projects/python/win-psycopg/psycopg2-2.3.1.win32-py2.7-pg9.0.1-release.exe
|
||||||
|
|
||||||
|
Developers only:
|
||||||
|
py2exe 0.6.9 ... http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download
|
||||||
|
|
||||||
|
|
241
packaging/windows/py2exeWalkthroughPython27.txt
Normal file
241
packaging/windows/py2exeWalkthroughPython27.txt
Normal file
|
@ -0,0 +1,241 @@
|
||||||
|
PY2EXE walkthrough for Python 2.7 & FPDB 0.2x
|
||||||
|
created on 27th Feb 2011 by Gimick
|
||||||
|
|
||||||
|
This walkthrough is derived from comments in the py2exe script made by Ray and SqlCoder
|
||||||
|
Additional information, formatting, updating to Python 2.6 and Python 2.7 and sequencing added by Gimick
|
||||||
|
Content is available under the the GNU Affero General Public License version 3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Step 0 Get a fresh XP installation
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
0.1/ Using XPhome or Pro 32bit
|
||||||
|
|
||||||
|
0.2/ Ensure the CPU supports SSE2 instruction set or better.
|
||||||
|
|
||||||
|
|
||||||
|
Step 1, dependency install
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
1.1/ install the following in sequence (accept all default options) there should be no errors !
|
||||||
|
|
||||||
|
Python 2.7 ... http://python.org/ftp/python/2.7/python-2.7.msi
|
||||||
|
matplotlib 1.0.1 ... http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.0.1/matplotlib-1.0.1.win32-py2.7.exe/download
|
||||||
|
pygtk 2.22 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.22/pygtk-2.22.0-1.win32-py2.7.exe
|
||||||
|
pycairo 1.8.10 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/pycairo-1.8.10.win32-py2.7.exe
|
||||||
|
pyGobject X 2.26 ... http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.26/pygobject-2.26.0-1.win32-py2.7.exe
|
||||||
|
pywin 216 ... http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win32-py2.7.exe/download
|
||||||
|
|
||||||
|
pypokereval 138 ... http://sourceforge.net/projects/fpdb/files/fpdb/pokereval-138.win32-py2.7.exe/download
|
||||||
|
cdecimal 2.2 ... http://www.bytereef.org/software/mpdecimal/releases/cdecimal-2.2.win32-py2.7.msi
|
||||||
|
psycopg2 ... http://www.stickpeople.com/projects/python/win-psycopg/psycopg2-2.2.1.win32-py2.6-pg8.4.3-release.exe
|
||||||
|
|
||||||
|
(Note: stickpeople is the offical repository, not a community build)
|
||||||
|
|
||||||
|
py2exe 0.6.9 ... http://sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download
|
||||||
|
|
||||||
|
1.2/ MySQL
|
||||||
|
|
||||||
|
Install the following file:
|
||||||
|
mysql-python 1.2.3 ... http://sourceforge.net/projects/fpdb/files/fpdb/MySQL-python-1.2.3.win32-py2.7.exe/download
|
||||||
|
|
||||||
|
1.3/ pytz fixup to work in an executable package
|
||||||
|
|
||||||
|
pytz needs runtime access to timezone definition files. pytz is hard-coded to search in the directory from which the pytz .py modules are being run.
|
||||||
|
In a py2exe package, this directory is actually a library.zip container file, so windows cannot find the timezone definitions, and will crash the app.
|
||||||
|
|
||||||
|
We need to make a one-line change to pytz to search in the current working directory (which is not a container), and not the application directory.
|
||||||
|
The py2exe script copies the timezone datafiles into the package folder pyfpdb/zoneinfo.
|
||||||
|
|
||||||
|
Thanks to Jeff Peck <peck.jeff <at> gmail.com> on the py2exe mailing list for documenting this problem and solution.
|
||||||
|
|
||||||
|
1.3.1/ Navigate to C:\Python27\Lib\site-packages\pytz
|
||||||
|
1.3.2/ Edit __init__.py
|
||||||
|
1.3.3/ At line 55 replace the following line(s):
|
||||||
|
|
||||||
|
filename = os.path.join(os.path.dirname(__file__),
|
||||||
|
'zoneinfo', *name_parts)
|
||||||
|
|
||||||
|
with this line:
|
||||||
|
|
||||||
|
filename = os.path.join(os.getcwd(), 'zoneinfo', *name_parts)
|
||||||
|
|
||||||
|
1.3.4/ Save and exit
|
||||||
|
|
||||||
|
|
||||||
|
1.4/ Patch py2exe to stop popup runtime error message
|
||||||
|
|
||||||
|
see http://www.py2exe.org/index.cgi/StderrLog for technical info.
|
||||||
|
|
||||||
|
1.4.1/
|
||||||
|
|
||||||
|
dos> write C:\Python27\Lib\site-packages\py2exe\boot_common.py
|
||||||
|
|
||||||
|
replace:
|
||||||
|
atexit.register(alert, 0,
|
||||||
|
"See the logfile '%s' for details" % fname,
|
||||||
|
"Errors occurred")
|
||||||
|
with:
|
||||||
|
#atexit.register(alert, 0,
|
||||||
|
# "See the logfile '%s' for details" % fname,
|
||||||
|
# "Errors occurred")
|
||||||
|
|
||||||
|
1.4.2/ save and exit
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Step 2 Setup GTK
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
There are quite a few GTK packages needed, and rather than install them individually, I used the official AllinOne from the GTK project.
|
||||||
|
|
||||||
|
2,1/ Create a new folder c:\GTK
|
||||||
|
|
||||||
|
2.2/ Extract the following zip file into c:\GTK
|
||||||
|
|
||||||
|
gtk+ allinone 2.22.1 ... http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.22/gtk+-bundle_2.22.1-20101227_win32.zip
|
||||||
|
|
||||||
|
2.3/ If everything has worked, you should have c:\GTK\bin \etc \lib \src and so on created.
|
||||||
|
|
||||||
|
2.4/ The /share/doc and /share/gtk-doc folders are huge, so can be emptied now (leave the /doc and /gtk-doc folders
|
||||||
|
in place, but delete the content)
|
||||||
|
|
||||||
|
|
||||||
|
Step 3 Set GTK into the PATH variable
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
The path for GTK isn't set by default, so need to let the o/s know where the GTK stuff is.
|
||||||
|
|
||||||
|
3.1/ Rightclick on mycomputer to show system properties
|
||||||
|
3.2/ select advanced/environment Variables
|
||||||
|
3.3/ in "system variables" NOT "user variables" do the following
|
||||||
|
3.3.1/ create a new item as name: GTK_BASEPATH value: c:\GTK
|
||||||
|
3.3.2/ edit the item "path", press home to get to the first character and insert the following text, (no quotes, including semicolon) %GTK_BASEPATH%\bin;
|
||||||
|
|
||||||
|
3.4/ to check, open command prompt and do:
|
||||||
|
|
||||||
|
dos>path ... system should respond with ... PATH=c:\GTK\bin;C:\WIN........
|
||||||
|
|
||||||
|
3.5/ Give it a spin to test (hopefully an application will start, if not, something has gone wrong)
|
||||||
|
|
||||||
|
dos> gtk-demo
|
||||||
|
|
||||||
|
|
||||||
|
Step 4 Get the fpdb GIT tree
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
4.1/ Best to take a copy to work with; following steps will assume that the fpdb folder is on the Desktop
|
||||||
|
4.2/ Edit the script in packaging/windows/py2exe_setup.py to set the fpdbver variable for this release
|
||||||
|
|
||||||
|
|
||||||
|
5.3/ Install correct Numpy for this build
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Numpy needs special handling, as by default it will install an optimised version for the SSE level of your CPU (SSE3, SSE2 or noSSE). This means that the completed package will not run on an older CPU.
|
||||||
|
|
||||||
|
For this reason, do not just run the installer downloaded. We will force a nosse version, to minimise problems on
|
||||||
|
older client PC's
|
||||||
|
|
||||||
|
5.3.1/ download the package to the Desktop
|
||||||
|
|
||||||
|
numpy 1.5.1 ... http://sourceforge.net/projects/numpy/files/NumPy/1.5.1/numpy-1.5.1-win32-superpack-python2.7.exe/download
|
||||||
|
|
||||||
|
5.3.3/ If you are wanting to build a package which works on all CPU's, install noSSE as follows:
|
||||||
|
|
||||||
|
dos> cd Desktop
|
||||||
|
dos> numpy-1.5.1-win32-superpack-python2.7.exe /arch nosse
|
||||||
|
|
||||||
|
5.3.4/ At the end of the installation, click on "show details" to confirm the installation.
|
||||||
|
|
||||||
|
"Target CPU handles SSE2"
|
||||||
|
"Target CPU handles SSE3"
|
||||||
|
"nosse install (arch value: nosse)"
|
||||||
|
"Install NO SSE"
|
||||||
|
Extract: numpy-1.5.1-nosse.exe... 100%
|
||||||
|
Execute: "C:\DOCUME~1\user\LOCALS~1\Temp\numpy-1.5.1-nosse.exe"
|
||||||
|
Completed
|
||||||
|
|
||||||
|
Step 6 Run py2exe to generate fpdb.exe
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
6.1/ Run the script to create the fpdb.exe bundle
|
||||||
|
|
||||||
|
dos> cd Desktop\fpdb\packaging\windows
|
||||||
|
dos> c:\python27\python.exe py2exe_setup.py py2exe
|
||||||
|
|
||||||
|
wait a while, watch lots of copying and whatever.
|
||||||
|
|
||||||
|
6.2/ You should next get prompted for the GTK folder.
|
||||||
|
c:\GTK
|
||||||
|
|
||||||
|
6.3/ If there are no errors reported, it has probably worked, we will test soon.
|
||||||
|
|
||||||
|
Build notes:
|
||||||
|
|
||||||
|
There is a warning about dll's not included "umath.pyd - c:\Python27\lib\site-packages\numpy\core\umath.pyd"
|
||||||
|
- reason for this is not understood at present. (Umath is apparently included in the built package).
|
||||||
|
|
||||||
|
|
||||||
|
Step 7 not currently used
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
Has been deleted
|
||||||
|
|
||||||
|
|
||||||
|
Step 8 Drag out the completed bundle
|
||||||
|
------------------------------------
|
||||||
|
|
||||||
|
py2exe creates a new folder for the created software bundle, drag this out to the desktop for ease of working.
|
||||||
|
|
||||||
|
8.1/ Drag Desktop\fpdb\packaging\windows\fpdb-n.nn.nnn to Desktop\
|
||||||
|
|
||||||
|
|
||||||
|
Step 9 Initial run
|
||||||
|
------------------
|
||||||
|
|
||||||
|
9.1/ Open the Desktop\fpdb-n.nn.nnn folder
|
||||||
|
9.2/ In explorer...tools...folder options...View uncheck "Hide extensions for known file types"
|
||||||
|
9.3/ Double click run_fpdb.bat
|
||||||
|
9.4/ check the contents of pyfpdb\fpdb.exe.log, deal with any errors thrown
|
||||||
|
|
||||||
|
9.5/ hopefully, fpdb will run
|
||||||
|
9.6/ Try out a few options, deal with any errors reported
|
||||||
|
|
||||||
|
Observe that the msvcp90.dll was provided by the python runtime package, so we don't have to install the separate package from Microsoft. End-users will, however need the dependency.
|
||||||
|
|
||||||
|
|
||||||
|
Step 11 pruning
|
||||||
|
---------------
|
||||||
|
|
||||||
|
11.1/ The generated folder is 100+MB and can be pruned by removing the following directories:
|
||||||
|
|
||||||
|
pyfpdb/lib/glib-2.0
|
||||||
|
pyfpdb/lib/pkgconfig
|
||||||
|
pyfpdb/share/aclocal
|
||||||
|
pyfpdb/share/doc
|
||||||
|
pyfpdb/share/glib-2.0
|
||||||
|
pyfpdb/share/gtk-2.0
|
||||||
|
pyfpdb/share/gtk-doc
|
||||||
|
pyfpdb/share/locale
|
||||||
|
pyfpdb/share/man
|
||||||
|
|
||||||
|
|
||||||
|
Step 12 rename folder
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
If needed, rename the folder to something meaningful to the community. If you have built for NoSSE, append anyCPU to the directory name.
|
||||||
|
|
||||||
|
|
||||||
|
Step 13 Compress to executable archive
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
13.1/ Download and install 7zip 914 ... http://sourceforge.net/projects/sevenzip/files/7-Zip/9.14/7z914.exe/download
|
||||||
|
13.2/ Rightclick on fpdb executable folder, select 7zip Add to archive... select SFX archive option switch
|
||||||
|
13.3/ Test the created exe file
|
||||||
|
|
||||||
|
Step 14 If you need to build again for a different SSE level
|
||||||
|
------------------------------------------------------------
|
||||||
|
|
||||||
|
Go back to step 5 and run again.
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
Py2exe script for fpdb.
|
Py2exe script for fpdb.
|
||||||
"""
|
"""
|
||||||
# Copyright 2009-2011, Ray E. Barker
|
# Copyright 2009-2010, Ray E. Barker
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -66,7 +66,7 @@ import py2exe
|
||||||
import glob
|
import glob
|
||||||
import matplotlib
|
import matplotlib
|
||||||
import shutil
|
import shutil
|
||||||
#from datetime import date
|
import cdecimal
|
||||||
|
|
||||||
def isSystemDLL(pathname):
|
def isSystemDLL(pathname):
|
||||||
#dwmapi appears to be vista-specific file, not XP
|
#dwmapi appears to be vista-specific file, not XP
|
||||||
|
@ -111,7 +111,7 @@ def copy_file(source,destination):
|
||||||
shutil.copy( source, destination )
|
shutil.copy( source, destination )
|
||||||
|
|
||||||
|
|
||||||
fpdbver = '0.21.rc1'
|
fpdbver = '0.21'
|
||||||
|
|
||||||
distdir = r'fpdb-' + fpdbver
|
distdir = r'fpdb-' + fpdbver
|
||||||
rootdir = r'../../' #cwd is normally /packaging/windows
|
rootdir = r'../../' #cwd is normally /packaging/windows
|
||||||
|
@ -178,7 +178,7 @@ setup(
|
||||||
print "*** py2exe build phase complete ***"
|
print "*** py2exe build phase complete ***"
|
||||||
|
|
||||||
# copy zone info and fpdb translation folders
|
# copy zone info and fpdb translation folders
|
||||||
copy_tree (r'c:\python26\Lib\site-packages\pytz\zoneinfo', os.path.join(r'dist', 'zoneinfo'))
|
copy_tree (r'c:\python27\Lib\site-packages\pytz\zoneinfo', os.path.join(r'dist', 'zoneinfo'))
|
||||||
copy_tree (pydir+r'locale', os.path.join(r'dist', 'locale'))
|
copy_tree (pydir+r'locale', os.path.join(r'dist', 'locale'))
|
||||||
|
|
||||||
# create distribution folder and populate with gfx + bat
|
# create distribution folder and populate with gfx + bat
|
||||||
|
|
|
@ -2,6 +2,7 @@ pypokereval build for windows stepbystep guide
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
||||||
Created by Gimick on 3rd December 2010
|
Created by Gimick on 3rd December 2010
|
||||||
|
Updated for py27 by Gimick 27th Feb 2011
|
||||||
|
|
||||||
This walkthrough is derived with the assistance of EricBlade and the build notes
|
This walkthrough is derived with the assistance of EricBlade and the build notes
|
||||||
supplied by Loic Dachary <loic@dachary.org> http://dachary.org/
|
supplied by Loic Dachary <loic@dachary.org> http://dachary.org/
|
||||||
|
@ -12,7 +13,7 @@ Content is available under the the GNU Affero General Public License version 3
|
||||||
0. Build environ
|
0. Build environ
|
||||||
----------------
|
----------------
|
||||||
|
|
||||||
We are building against the 2008 runtime because Python 2.6
|
We are building against the 2008 runtime because Python 2.7
|
||||||
has the same dependency (msvcr90.dll version 9.0.21022.8)
|
has the same dependency (msvcr90.dll version 9.0.21022.8)
|
||||||
|
|
||||||
Using winXPhome 32 bit
|
Using winXPhome 32 bit
|
||||||
|
@ -31,7 +32,7 @@ This package will run 30 days before registration is needed
|
||||||
|
|
||||||
2.1/ Install python runtime from here ...
|
2.1/ Install python runtime from here ...
|
||||||
|
|
||||||
Python 2.6.5 ... http://www.python.org/ftp/python/2.6.5/python-2.6.5.msi
|
Python 2.7 ... http://python.org/ftp/python/2.7/python-2.7.msi
|
||||||
|
|
||||||
3. Source install
|
3. Source install
|
||||||
-----------------
|
-----------------
|
||||||
|
@ -62,11 +63,29 @@ change this:
|
||||||
|
|
||||||
to be this:
|
to be this:
|
||||||
|
|
||||||
#define VERSION_NAME(W) W##2_6
|
#define VERSION_NAME(W) W##2_7
|
||||||
#define PYTHON_VERSION "2_6"
|
#define PYTHON_VERSION "2_7"
|
||||||
|
|
||||||
|
- - - - - -
|
||||||
|
|
||||||
|
Move this block of code:
|
||||||
|
|
||||||
|
#ifdef _DEBUG // for Windows python23_d.lib is not in distribution... ugly but works
|
||||||
|
#undef _DEBUG
|
||||||
|
#include <Python.h>
|
||||||
|
#define _DEBUG
|
||||||
|
#else
|
||||||
|
#include <Python.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
To be after this line:
|
||||||
|
|
||||||
|
#include "enumdefs.h"
|
||||||
|
|
||||||
4.2/ save and exit
|
4.2/ save and exit
|
||||||
|
|
||||||
|
- - - - -
|
||||||
|
|
||||||
4.3/ dos> write c:/pypoker-eval/pokereval.py
|
4.3/ dos> write c:/pypoker-eval/pokereval.py
|
||||||
|
|
||||||
Comment-out this line:
|
Comment-out this line:
|
||||||
|
@ -75,7 +94,7 @@ _pokereval = __import__('_pokereval_' + sys.version[0] + '_' + sys.version[2])
|
||||||
|
|
||||||
Insert this one in its' place:
|
Insert this one in its' place:
|
||||||
|
|
||||||
import _pokereval_2_6 as _pokereval
|
import _pokereval_2_7 as _pokereval
|
||||||
|
|
||||||
|
|
||||||
4.4/ save and exit
|
4.4/ save and exit
|
||||||
|
@ -112,7 +131,7 @@ import _pokereval_2_6 as _pokereval
|
||||||
|
|
||||||
6.2.5 In the pythonpoker-eval properties dialog,
|
6.2.5 In the pythonpoker-eval properties dialog,
|
||||||
|
|
||||||
change references to "python24" to "python26" in the following:
|
change references to "python24" to "python27" in the following:
|
||||||
|
|
||||||
= C/C++/Additional Include Directories/
|
= C/C++/Additional Include Directories/
|
||||||
= linker/general/Additional library directories
|
= linker/general/Additional library directories
|
||||||
|
@ -121,7 +140,6 @@ change references to "python24" to "python26" in the following:
|
||||||
Change the following
|
Change the following
|
||||||
|
|
||||||
= linker/generate debug info - set to No
|
= linker/generate debug info - set to No
|
||||||
= linker/debugging/Generate debug info - set to No
|
|
||||||
|
|
||||||
6.2.6 Apply all changes to the properties dialog and close
|
6.2.6 Apply all changes to the properties dialog and close
|
||||||
|
|
||||||
|
@ -154,38 +172,39 @@ Change the following
|
||||||
|
|
||||||
8.4 Exit from visual studio
|
8.4 Exit from visual studio
|
||||||
|
|
||||||
9. packaging
|
9. Wrap-up
|
||||||
------------
|
----------
|
||||||
|
|
||||||
9.1 Navigate to c:/pypoker-eval/release
|
9.1 Navigate to c:/pypoker-eval/release
|
||||||
9.2 the output file is pypokereval.dll
|
9.2 the output file is pypokereval.dll
|
||||||
9.3 rename this file to _pokereval_2_6.pyd
|
9.3 rename this file to _pokereval_2_7.pyd
|
||||||
|
|
||||||
9.4 create a zip file containing :
|
9.4 create a zip file containing :
|
||||||
|
|
||||||
_pokereval_2_6.pyd from releases
|
_pokereval_2_7.pyd from releases
|
||||||
test.py from pypoker-eval-138.0
|
test.py from pypoker-eval-138.0
|
||||||
pokereval.py from pypoker-eval-138.0
|
pokereval.py from pypoker-eval-138.0
|
||||||
poker-eval.vcproj from c:\poker-eval
|
poker-eval.vcproj from c:\poker-eval
|
||||||
pypoker-eval.vcproj from c:\pypoker-eval
|
pypoker-eval.vcproj from c:\pypoker-eval
|
||||||
pypokereval.c from c:\pypoker-eval
|
pypokereval.c from c:\pypoker-eval
|
||||||
|
|
||||||
Remember to include the version (138), python 265 and win32 in the package filename
|
Remember to include the version (138), python 27 and win32 in the package filename
|
||||||
|
|
||||||
10. Installation and Testing
|
10. Testing
|
||||||
----------------------------
|
-----------
|
||||||
|
|
||||||
Python 2.6.5 must be installed
|
Python 2.7 must be installed
|
||||||
|
|
||||||
10.1 Extract this package to directory
|
10.1 Extract the zip file created in 9.4 into a new directory
|
||||||
10.2 Change directory to the directory in 10.1
|
10.2 Change directory to the directory in 10.1
|
||||||
10.3 execute dos> c:\Python26\python.exe test.py
|
10.3 execute dos> c:\Python27\python.exe test.py
|
||||||
10.4 hand-output should scroll down the screen
|
10.4 hand-output should scroll down the screen
|
||||||
10.5 start the python interpreter
|
10.5 start the python interpreter
|
||||||
10.6 >>> import pokereval
|
10.6 >>> import pokereval
|
||||||
10.7 No errors should be seen
|
10.7 No errors should be seen
|
||||||
|
|
||||||
|
11. Packaging
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Please follow pypokereval-win32-packaging-walkthrough.txt in the same directory as this walkthrough.
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,9 @@ class Absolute(HandHistoryConverter):
|
||||||
(?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
|
(?P<LIMIT>No\ Limit|Pot\ Limit|Normal|)\s?
|
||||||
(?P<CURRENCY>\$|\s€|)
|
(?P<CURRENCY>\$|\s€|)
|
||||||
(?P<SB>[.,0-9]+)/?(?:\$|\s€|)(?P<BB>[.,0-9]+)?
|
(?P<SB>[.,0-9]+)/?(?:\$|\s€|)(?P<BB>[.,0-9]+)?
|
||||||
\s+-\s+
|
\s+
|
||||||
(?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)\s+
|
((?P<TTYPE>(Turbo))\s+)?-\s+
|
||||||
|
((?P<DATETIME>\d\d\d\d-\d\d-\d\d\ \d\d:\d\d:\d\d)(\.\d+)?)\s+
|
||||||
(?: \( (?P<TZ>[A-Z]+) \)\s+ )?
|
(?: \( (?P<TZ>[A-Z]+) \)\s+ )?
|
||||||
.*?
|
.*?
|
||||||
(Table:\ (?P<TABLE>.*?)\ \(Real\ Money\))?
|
(Table:\ (?P<TABLE>.*?)\ \(Real\ Money\))?
|
||||||
|
|
|
@ -98,7 +98,7 @@ def twoStartCardString(card):
|
||||||
if x == y: ret = s[x] + s[y]
|
if x == y: ret = s[x] + s[y]
|
||||||
elif x > y: ret = s[x] + s[y] + 's'
|
elif x > y: ret = s[x] + s[y] + 's'
|
||||||
else: ret = s[y] + s[x] + 'o'
|
else: ret = s[y] + s[x] + 'o'
|
||||||
print "twoStartCardString(", card ,") = " + ret
|
#print "twoStartCardString(", card ,") = " + ret
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4):
|
def fourStartCards(value1, suit1, value2, suit2, value3, suit3, value4, suit4):
|
||||||
|
|
BIN
pyfpdb/Cards02.png
Normal file
BIN
pyfpdb/Cards02.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
|
@ -2359,8 +2359,9 @@ class Database:
|
||||||
|
|
||||||
def createOrUpdateTourney(self, hand, source):#note: this method is used on Hand and TourneySummary objects
|
def createOrUpdateTourney(self, hand, source):#note: this method is used on Hand and TourneySummary objects
|
||||||
cursor = self.get_cursor()
|
cursor = self.get_cursor()
|
||||||
cursor.execute (self.sql.query['getTourneyByTourneyNo'].replace('%s', self.sql.query['placeholder']),
|
q = self.sql.query['getTourneyByTourneyNo'].replace('%s', self.sql.query['placeholder'])
|
||||||
(hand.siteId, hand.tourNo))
|
cursor.execute(q, (hand.siteId, hand.tourNo))
|
||||||
|
|
||||||
columnNames=[desc[0] for desc in cursor.description]
|
columnNames=[desc[0] for desc in cursor.description]
|
||||||
result=cursor.fetchone()
|
result=cursor.fetchone()
|
||||||
|
|
||||||
|
@ -2385,9 +2386,12 @@ class Database:
|
||||||
# if (resultDict[ev] < hand.startTime):
|
# if (resultDict[ev] < hand.startTime):
|
||||||
# hand.startTime=resultDict[ev]
|
# hand.startTime=resultDict[ev]
|
||||||
if updateDb:
|
if updateDb:
|
||||||
cursor.execute (self.sql.query['updateTourney'].replace('%s', self.sql.query['placeholder']),
|
q = self.sql.query['updateTourney'].replace('%s', self.sql.query['placeholder'])
|
||||||
(hand.entries, hand.prizepool, hand.startTime, hand.endTime, hand.tourneyName,
|
row = (hand.entries, hand.prizepool, hand.startTime, hand.endTime, hand.tourneyName,
|
||||||
hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount, hand.comment, hand.commentTs, tourneyId))
|
hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount, hand.comment,
|
||||||
|
hand.commentTs, tourneyId
|
||||||
|
)
|
||||||
|
cursor.execute(q, row)
|
||||||
else:
|
else:
|
||||||
if source=="HHC":
|
if source=="HHC":
|
||||||
cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']),
|
cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']),
|
||||||
|
@ -2436,9 +2440,19 @@ class Database:
|
||||||
elif getattr(hand, handAttribute)[player]!=None and resultDict[ev]==None:#object has this value but DB doesnt, so update DB
|
elif getattr(hand, handAttribute)[player]!=None and resultDict[ev]==None:#object has this value but DB doesnt, so update DB
|
||||||
updateDb=True
|
updateDb=True
|
||||||
if updateDb:
|
if updateDb:
|
||||||
cursor.execute (self.sql.query['updateTourneysPlayer'].replace('%s', self.sql.query['placeholder']),
|
q = self.sql.query['updateTourneysPlayer'].replace('%s', self.sql.query['placeholder'])
|
||||||
(hand.ranks[player], hand.winnings[player], hand.winningsCurrency[player],
|
inputs = (hand.ranks[player],
|
||||||
hand.rebuyCounts[player], hand.addOnCounts[player], hand.koCounts[player], tourneysPlayersIds[player[1]]))
|
hand.winnings[player],
|
||||||
|
hand.winningsCurrency[player],
|
||||||
|
hand.rebuyCounts[player],
|
||||||
|
hand.addOnCounts[player],
|
||||||
|
hand.koCounts[player],
|
||||||
|
tourneysPlayersIds[player[1]]
|
||||||
|
)
|
||||||
|
#print q
|
||||||
|
#pp = pprint.PrettyPrinter(indent=4)
|
||||||
|
#pp.pprint(inputs)
|
||||||
|
cursor.execute(q, inputs)
|
||||||
else:
|
else:
|
||||||
if source=="HHC":
|
if source=="HHC":
|
||||||
cursor.execute (self.sql.query['insertTourneysPlayer'].replace('%s', self.sql.query['placeholder']),
|
cursor.execute (self.sql.query['insertTourneysPlayer'].replace('%s', self.sql.query['placeholder']),
|
||||||
|
|
|
@ -74,7 +74,7 @@ class Fulltilt(HandHistoryConverter):
|
||||||
(Ante\s\$?(?P<ANTE>[%(NUM)s]+)\s)?-\s
|
(Ante\s\$?(?P<ANTE>[%(NUM)s]+)\s)?-\s
|
||||||
[%(LS)s]?(?P<CAP>[%(NUM)s]+\sCap\s)?
|
[%(LS)s]?(?P<CAP>[%(NUM)s]+\sCap\s)?
|
||||||
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?\s
|
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?\s
|
||||||
(?P<GAME>(Hold\'em|Omaha\sHi|Omaha\sH/L|Omaha|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi|2-7\sTriple\sDraw|5\sCard\sDraw|Badugi))
|
(?P<GAME>(Hold\'em|Omaha(\sH/L|\sHi/Lo|\sHi|)|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi|2-7\sTriple\sDraw|5\sCard\sDraw|Badugi))
|
||||||
''' % substitutions, re.VERBOSE)
|
''' % substitutions, re.VERBOSE)
|
||||||
re_SplitHands = re.compile(r"\n\n\n+")
|
re_SplitHands = re.compile(r"\n\n\n+")
|
||||||
re_TailSplitHands = re.compile(r"(\n\n+)")
|
re_TailSplitHands = re.compile(r"(\n\n+)")
|
||||||
|
@ -114,7 +114,7 @@ class Fulltilt(HandHistoryConverter):
|
||||||
(\((?P<TURBO1>Turbo)\)\s)?
|
(\((?P<TURBO1>Turbo)\)\s)?
|
||||||
\((?P<TOURNO>\d+)\)\s
|
\((?P<TOURNO>\d+)\)\s
|
||||||
((?P<MATCHNO>Match\s\d)\s)?
|
((?P<MATCHNO>Match\s\d)\s)?
|
||||||
(?P<GAME>(Hold\'em|Omaha\sHi|Omaha\sH/L|Omaha|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi))\s
|
(?P<GAME>(Hold\'em|Omaha(\sHi/Lo|\sH/L|\sHi|)|7\sCard\sStud|Stud\sH/L|Razz|Stud\sHi))\s
|
||||||
(\((?P<TURBO2>Turbo)\)\s)?
|
(\((?P<TURBO2>Turbo)\)\s)?
|
||||||
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?
|
(?P<LIMIT>(No\sLimit|Pot\sLimit|Limit))?
|
||||||
''' % substitutions, re.VERBOSE)
|
''' % substitutions, re.VERBOSE)
|
||||||
|
@ -198,11 +198,6 @@ class Fulltilt(HandHistoryConverter):
|
||||||
]
|
]
|
||||||
|
|
||||||
def determineGameType(self, handText):
|
def determineGameType(self, handText):
|
||||||
# Full Tilt Poker Game #10777181585: Table Deerfly (deep 6) - $0.01/$0.02 - Pot Limit Omaha Hi - 2:24:44 ET - 2009/02/22
|
|
||||||
# Full Tilt Poker Game #10773265574: Table Butte (6 max) - $0.01/$0.02 - Pot Limit Hold'em - 21:33:46 ET - 2009/02/21
|
|
||||||
# Full Tilt Poker Game #9403951181: Table CR - tay - $0.05/$0.10 - No Limit Hold'em - 9:40:20 ET - 2008/12/09
|
|
||||||
# Full Tilt Poker Game #10809877615: Table Danville - $0.50/$1 Ante $0.10 - Limit Razz - 21:47:27 ET - 2009/02/23
|
|
||||||
# Full Tilt Poker.fr Game #23057874034: Table Douai–Lens (6 max) - €0.01/€0.02 - No Limit Hold'em - 21:59:17 CET - 2010/08/13
|
|
||||||
info = {'type':'ring'}
|
info = {'type':'ring'}
|
||||||
|
|
||||||
m = self.re_GameInfo.search(handText)
|
m = self.re_GameInfo.search(handText)
|
||||||
|
@ -220,6 +215,7 @@ class Fulltilt(HandHistoryConverter):
|
||||||
'Omaha Hi' : ('hold','omahahi'),
|
'Omaha Hi' : ('hold','omahahi'),
|
||||||
'Omaha' : ('hold','omahahi'),
|
'Omaha' : ('hold','omahahi'),
|
||||||
'Omaha H/L' : ('hold','omahahilo'),
|
'Omaha H/L' : ('hold','omahahilo'),
|
||||||
|
'Omaha Hi/Lo' : ('hold','omahahilo'),
|
||||||
'Razz' : ('stud','razz'),
|
'Razz' : ('stud','razz'),
|
||||||
'Stud Hi' : ('stud','studhi'),
|
'Stud Hi' : ('stud','studhi'),
|
||||||
'Stud H/L' : ('stud','studhilo'),
|
'Stud H/L' : ('stud','studhilo'),
|
||||||
|
|
|
@ -335,7 +335,7 @@ class PartyPoker(HandHistoryConverter):
|
||||||
hand.fee = 0
|
hand.fee = 0
|
||||||
hand.buyinCurrency = "FREE"
|
hand.buyinCurrency = "FREE"
|
||||||
hand.isKO = False
|
hand.isKO = False
|
||||||
if hand.tourNo != None:
|
elif hand.tourNo != None:
|
||||||
hand.buyin = 0
|
hand.buyin = 0
|
||||||
hand.fee = 0
|
hand.fee = 0
|
||||||
hand.buyinCurrency = "FREE"
|
hand.buyinCurrency = "FREE"
|
||||||
|
|
|
@ -115,7 +115,7 @@ class PokerStars(HandHistoryConverter):
|
||||||
re.MULTILINE|re.VERBOSE)
|
re.MULTILINE|re.VERBOSE)
|
||||||
|
|
||||||
re_HandInfo = re.compile("""
|
re_HandInfo = re.compile("""
|
||||||
^Table\s\'(?P<TABLE>[-\ \#a-zA-Z\d]+)\'\s
|
^Table\s\'(?P<TABLE>[-\ \#a-zA-Z\d\']+)\'\s
|
||||||
((?P<MAX>\d+)-max\s)?
|
((?P<MAX>\d+)-max\s)?
|
||||||
(?P<PLAY>\(Play\sMoney\)\s)?
|
(?P<PLAY>\(Play\sMoney\)\s)?
|
||||||
(Seat\s\#(?P<BUTTON>\d+)\sis\sthe\sbutton)?""",
|
(Seat\s\#(?P<BUTTON>\d+)\sis\sthe\sbutton)?""",
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
#In the "official" distribution you can find the license in agpl-3.0.txt
|
#In the "official" distribution you can find the license in agpl-3.0.txt
|
||||||
|
|
||||||
"""A script for fetching Winamax tourney results"""
|
"""A script for fetching Winamax tourney results"""
|
||||||
|
import L10n
|
||||||
|
_ = L10n.get_translation()
|
||||||
|
|
||||||
import Configuration
|
import Configuration
|
||||||
import Database
|
import Database
|
||||||
|
|
|
@ -138,14 +138,14 @@ def main(argv=None):
|
||||||
#CarbonErrors = FpdbError('Carbon')
|
#CarbonErrors = FpdbError('Carbon')
|
||||||
#PKRErrors = FpdbError('PKR')
|
#PKRErrors = FpdbError('PKR')
|
||||||
#iPokerErrors = FpdbError('iPoker')
|
#iPokerErrors = FpdbError('iPoker')
|
||||||
#WinamaxErrors = FpdbError('Winamax')
|
WinamaxErrors = FpdbError('Winamax')
|
||||||
|
|
||||||
ErrorsList = [
|
ErrorsList = [
|
||||||
PokerStarsErrors,
|
PokerStarsErrors, FTPErrors, WinamaxErrors,
|
||||||
FTPErrors, #PartyPokerErrors,
|
#PartyPokerErrors,
|
||||||
#BetfairErrors, OnGameErrors, AbsoluteErrors,
|
#BetfairErrors, OnGameErrors, AbsoluteErrors,
|
||||||
#EverleafErrors, CarbonErrors, PKRErrors,
|
#EverleafErrors, CarbonErrors, PKRErrors,
|
||||||
#iPokerErrors, WinamaxErrors, UltimateBetErrors,
|
#iPokerErrors, UltimateBetErrors,
|
||||||
]
|
]
|
||||||
|
|
||||||
sites = {
|
sites = {
|
||||||
|
@ -160,7 +160,7 @@ def main(argv=None):
|
||||||
#'Carbon' : True,
|
#'Carbon' : True,
|
||||||
#'PKR' : False,
|
#'PKR' : False,
|
||||||
#'iPoker' : True,
|
#'iPoker' : True,
|
||||||
#'Winamax' : True,
|
'Winamax' : True,
|
||||||
}
|
}
|
||||||
|
|
||||||
if sites['PokerStars'] == True:
|
if sites['PokerStars'] == True:
|
||||||
|
@ -187,8 +187,8 @@ def main(argv=None):
|
||||||
# walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR")
|
# walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR")
|
||||||
#if sites['iPoker'] == True:
|
#if sites['iPoker'] == True:
|
||||||
# walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker")
|
# walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker")
|
||||||
#if sites['Winamax'] == True:
|
if sites['Winamax'] == True:
|
||||||
# walk_testfiles("regression-test-files/cash/Winamax/", compare, importer, WinamaxErrors, "Winamax")
|
walk_testfiles("regression-test-files/summaries/Winamax/", compare, importer, WinamaxErrors, "Winamax")
|
||||||
|
|
||||||
totalerrors = 0
|
totalerrors = 0
|
||||||
|
|
||||||
|
|
|
@ -245,13 +245,13 @@ class TourneySummary(object):
|
||||||
Adds a player to the tourney, and initialises data structures indexed by player.
|
Adds a player to the tourney, and initialises data structures indexed by player.
|
||||||
rank (int) indicating the finishing rank (can be -1 if unknown)
|
rank (int) indicating the finishing rank (can be -1 if unknown)
|
||||||
name (string) player name
|
name (string) player name
|
||||||
winnings (decimal) the money the player ended the tourney with (can be 0, or -1 if unknown)
|
winnings (int) the money the player ended the tourney with (can be 0, or -1 if unknown)
|
||||||
"""
|
"""
|
||||||
log.debug(_("addPlayer: rank:%s - name : '%s' - Winnings (%s)") % (rank, name, winnings))
|
log.debug(_("addPlayer: rank:%s - name : '%s' - Winnings (%s)") % (rank, name, winnings))
|
||||||
self.players.append(name)
|
self.players.append(name)
|
||||||
if rank:
|
if rank:
|
||||||
self.ranks.update( { name : Decimal(rank) } )
|
self.ranks.update( { name : rank } )
|
||||||
self.winnings.update( { name : Decimal(winnings) } )
|
self.winnings.update( { name : winnings } )
|
||||||
self.winningsCurrency.update( { name : winningsCurrency } )
|
self.winningsCurrency.update( { name : winningsCurrency } )
|
||||||
else:
|
else:
|
||||||
self.ranks.update( { name : None } )
|
self.ranks.update( { name : None } )
|
||||||
|
|
|
@ -60,6 +60,7 @@ class WinamaxSummary(TourneySummary):
|
||||||
re_Prizepool = re.compile(u"""<div class="title2">.+: (?P<PRIZEPOOL>[0-9,]+)""")
|
re_Prizepool = re.compile(u"""<div class="title2">.+: (?P<PRIZEPOOL>[0-9,]+)""")
|
||||||
|
|
||||||
re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)")
|
re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)")
|
||||||
|
re_Ticket = re.compile(u""" / Ticket (?P<VALUE>[0-9.]+)€""")
|
||||||
|
|
||||||
codepage = ["utf-8"]
|
codepage = ["utf-8"]
|
||||||
|
|
||||||
|
@ -103,13 +104,23 @@ class WinamaxSummary(TourneySummary):
|
||||||
self.gametype['category'] = self.games[mg['GAME']][1]
|
self.gametype['category'] = self.games[mg['GAME']][1]
|
||||||
|
|
||||||
for m in self.re_Player.finditer(str(tl[0])):
|
for m in self.re_Player.finditer(str(tl[0])):
|
||||||
|
winnings = 0
|
||||||
mg = m.groupdict()
|
mg = m.groupdict()
|
||||||
#print mg
|
|
||||||
winnings = mg['WINNINGS'].strip(u'€').replace(u',','.')
|
|
||||||
winnings = int(100*Decimal(winnings))
|
|
||||||
rank = mg['RANK']
|
rank = mg['RANK']
|
||||||
name = mg['PNAME']
|
name = mg['PNAME']
|
||||||
#print "DEBUG: %s: %s" %(name, winnings)
|
#print "DEUBG: mg: '%s'" % mg
|
||||||
|
is_satellite = self.re_Ticket.search(mg['WINNINGS'])
|
||||||
|
if is_satellite:
|
||||||
|
# Ticket
|
||||||
|
winnings = convert_to_decimal(is_satellite.groupdict()['VALUE'])
|
||||||
|
# For stallites, any ticket means 1st
|
||||||
|
if winnings > 0:
|
||||||
|
rank = 1
|
||||||
|
else:
|
||||||
|
winnings = convert_to_decimal(mg['WINNINGS'])
|
||||||
|
|
||||||
|
winnings = int(100*Decimal(winnings))
|
||||||
|
#print "DEBUG: %s) %s: %s" %(rank, name, winnings)
|
||||||
self.addPlayer(rank, name, winnings, self.currency, None, None, None)
|
self.addPlayer(rank, name, winnings, self.currency, None, None, None)
|
||||||
|
|
||||||
|
|
||||||
|
@ -117,3 +128,11 @@ class WinamaxSummary(TourneySummary):
|
||||||
mg = m.groupdict()
|
mg = m.groupdict()
|
||||||
#print mg
|
#print mg
|
||||||
self.tourNo = mg['TOURNO']
|
self.tourNo = mg['TOURNO']
|
||||||
|
|
||||||
|
def convert_to_decimal(string):
|
||||||
|
dec = string.strip(u'€€\u20ac')
|
||||||
|
dec = dec.replace(u',','.')
|
||||||
|
dec = dec.replace(u' ','')
|
||||||
|
dec = Decimal(dec)
|
||||||
|
return dec
|
||||||
|
|
||||||
|
|
|
@ -86,7 +86,7 @@ class Winamax(HandHistoryConverter):
|
||||||
(?P<RING>CashGame)?
|
(?P<RING>CashGame)?
|
||||||
(?P<TOUR>Tournament\s
|
(?P<TOUR>Tournament\s
|
||||||
(?P<TOURNAME>.+)?\s
|
(?P<TOURNAME>.+)?\s
|
||||||
buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Gratuit|Ticket\suniquement)?\s
|
buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Freeroll|Gratuit|Ticket\suniquement)?\s
|
||||||
(level:\s(?P<LEVEL>\d+))?
|
(level:\s(?P<LEVEL>\d+))?
|
||||||
.*)?
|
.*)?
|
||||||
\s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s # REB says: HID3 is the correct hand number
|
\s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s # REB says: HID3 is the correct hand number
|
||||||
|
@ -247,7 +247,7 @@ class Winamax(HandHistoryConverter):
|
||||||
if k in info.keys() and info[k]:
|
if k in info.keys() and info[k]:
|
||||||
info[k] = info[k].replace(',','.')
|
info[k] = info[k].replace(',','.')
|
||||||
|
|
||||||
if info[key] == 'Freeroll':
|
if info[key] == 'Gratuit' or info[key] == 'Freeroll':
|
||||||
hand.buyin = 0
|
hand.buyin = 0
|
||||||
hand.fee = 0
|
hand.fee = 0
|
||||||
hand.buyinCurrency = "FREE"
|
hand.buyinCurrency = "FREE"
|
||||||
|
@ -259,7 +259,7 @@ class Winamax(HandHistoryConverter):
|
||||||
elif info[key].find("FPP")!=-1:
|
elif info[key].find("FPP")!=-1:
|
||||||
hand.buyinCurrency="PSFP"
|
hand.buyinCurrency="PSFP"
|
||||||
else:
|
else:
|
||||||
#FIXME: handle other currencies, FPP, play money
|
#FIXME: handle other currencies (are there other currencies?)
|
||||||
raise FpdbParseError(_("failed to detect currency"))
|
raise FpdbParseError(_("failed to detect currency"))
|
||||||
|
|
||||||
info['BIAMT'] = info['BIAMT'].strip(u'$€FPP')
|
info['BIAMT'] = info['BIAMT'].strip(u'$€FPP')
|
||||||
|
|
|
@ -188,6 +188,22 @@ class fpdb:
|
||||||
tabBox.pack_start(tabLabel, False)
|
tabBox.pack_start(tabLabel, False)
|
||||||
eventBox.add(tabBox)
|
eventBox.add(tabBox)
|
||||||
|
|
||||||
|
# fixme: force background state to fix problem where STATE_ACTIVE
|
||||||
|
# tab labels are black in some gtk themes, and therefore unreadable
|
||||||
|
# This behaviour is probably a bug in libwimp.dll or pygtk, but
|
||||||
|
# need to force background to avoid issues with menu labels being
|
||||||
|
# unreadable
|
||||||
|
#
|
||||||
|
# gtk.STATE_ACTIVE is a displayed, but not selected tab
|
||||||
|
# gtk.STATE_NORMAL is a displayed, selected, focussed tab
|
||||||
|
# gtk.STATE_INSENSITIVE is an inactive tab
|
||||||
|
# Insensitive/base is chosen as the background colour, because
|
||||||
|
# although not perfect, it seems to be the least instrusive.
|
||||||
|
baseNormStyle = eventBox.get_style().base[gtk.STATE_INSENSITIVE]
|
||||||
|
if baseNormStyle:
|
||||||
|
print baseNormStyle
|
||||||
|
eventBox.modify_bg(gtk.STATE_ACTIVE, gtk.gdk.color_parse(str(baseNormStyle)))
|
||||||
|
|
||||||
if nb.get_n_pages() > 0:
|
if nb.get_n_pages() > 0:
|
||||||
tabButton = gtk.Button()
|
tabButton = gtk.Button()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,54 @@
|
||||||
|
Stage #C379012708: Holdem No Limit $0.10 Turbo - 2011-02-21 05:08:53.010 (ET) [ 2011-02-21 05:08:53 ]
|
||||||
|
Table: Holmbury Rd.59 (Real Money) Seat #6 is the dealer
|
||||||
|
Seat 6 - PLAYER6 ($11.19 in chips)
|
||||||
|
Seat 7 - PLAYER7 ($1.09 in chips)
|
||||||
|
Seat 9 - PLAYER9 ($11.95 in chips)
|
||||||
|
Seat 1 - PLAYER1 ($1.60 in chips)
|
||||||
|
Seat 3 - HERO ($11.56 in chips)
|
||||||
|
Seat 4 - PLAYER4 ($2.67 in chips)
|
||||||
|
Seat 5 - PLAYER5 ($8.34 in chips)
|
||||||
|
PLAYER7 - Posts small blind $0.05
|
||||||
|
PLAYER9 - Posts big blind $0.10
|
||||||
|
*** POCKET CARDS ***
|
||||||
|
Dealt to HERO [10c 4d]
|
||||||
|
PLAYER1 - Folds
|
||||||
|
HERO - Folds (Preselection)
|
||||||
|
PLAYER4 - Calls $0.10 (Preselection)
|
||||||
|
PLAYER5 - Raises $0.20 to $0.20
|
||||||
|
PLAYER6 - Calls $0.20
|
||||||
|
PLAYER7 - Folds
|
||||||
|
PLAYER9 - Calls $0.10
|
||||||
|
PLAYER4 - Raises $0.20 to $0.30 (Preselection)
|
||||||
|
PLAYER5 - Calls $0.10
|
||||||
|
PLAYER6 - Calls $0.10
|
||||||
|
PLAYER9 - Calls $0.10
|
||||||
|
*** FLOP *** [Kh 3s 5c]
|
||||||
|
PLAYER9 - Checks
|
||||||
|
PLAYER4 - Checks
|
||||||
|
PLAYER5 - Checks
|
||||||
|
PLAYER6 - Checks
|
||||||
|
*** TURN *** [Kh 3s 5c] [6c]
|
||||||
|
PLAYER9 - Checks
|
||||||
|
PLAYER4 - Checks
|
||||||
|
PLAYER5 - Bets $0.90
|
||||||
|
PLAYER6 - Folds
|
||||||
|
PLAYER9 - Folds
|
||||||
|
PLAYER4 - Calls $0.90
|
||||||
|
*** RIVER *** [Kh 3s 5c 6c] [5d]
|
||||||
|
PLAYER4 - All-In $1.47
|
||||||
|
PLAYER5 - Calls $1.47
|
||||||
|
*** SHOW DOWN ***
|
||||||
|
PLAYER4 - Shows [Qd 6d] (Two Pair, sixes and fives)
|
||||||
|
PLAYER5 - Shows [Js Jh] (Two Pair, jacks and fives)
|
||||||
|
PLAYER5 Collects $5.70 from main pot
|
||||||
|
*** SUMMARY ***
|
||||||
|
Total Pot($5.99) | Rake ($0.29)
|
||||||
|
Board [Kh 3s 5c 6c 5d]
|
||||||
|
Seat 1: PLAYER1 Folded on the POCKET CARDS
|
||||||
|
Seat 3: HERO Folded on the POCKET CARDS
|
||||||
|
Seat 4: PLAYER4 HI:lost with Two Pair, sixes and fives [Qd 6d - P:6d,B:6c,B:5d,B:5c,B:Kh]
|
||||||
|
Seat 5: PLAYER5 collected Total ($5.70) HI:($5.70) with Two Pair, jacks and fives [Js Jh - P:Js,P:Jh,B:5d,B:5c,B:Kh]
|
||||||
|
Seat 6: PLAYER6 (dealer) Folded on the TURN
|
||||||
|
Seat 7: PLAYER7 (small blind) Folded on the POCKET CARDS
|
||||||
|
Seat 9: PLAYER9 (big blind) Folded on the TURN
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
Full Tilt Poker Game #1088791321: Table Vero (6 max) - $200/$400 - Limit Omaha Hi/Lo - 0:03:34 ET - 2006/10/11
|
||||||
|
Seat 1: zbubop ($10,676)
|
||||||
|
Seat 2: AllenCunningham ($6,025)
|
||||||
|
Seat 3: TexasLimitDonk ($6,816)
|
||||||
|
Seat 4: Mike Matusow ($10,689), is sitting out
|
||||||
|
Seat 5: Erick Lindgren ($4,339.50)
|
||||||
|
Seat 6: Shoe Lab ($15,968.50)
|
||||||
|
Erick Lindgren posts the small blind of $100
|
||||||
|
Shoe Lab posts the big blind of $200
|
||||||
|
|
||||||
|
The button is in seat #3
|
||||||
|
*** HOLE CARDS ***
|
||||||
|
tyler13jack (Observer): mark karr HAHAHAHAAHA
|
||||||
|
zbubop calls $200
|
||||||
|
Skylerjade (Observer): HAHAHAHA YOUR SIK CROW
|
||||||
|
AllenCunningham raises to $400
|
||||||
|
TexasLimitDonk folds
|
||||||
|
Right is Tight (Observer): phil is just nasty
|
||||||
|
Skylerjade (Observer): he does though
|
||||||
|
Erick Lindgren folds
|
||||||
|
GE1K0 (Observer): u ok there cunningham?
|
||||||
|
Crow1974 (Observer): i said looks
|
||||||
|
Shoe Lab calls $200
|
||||||
|
zbubop calls $200
|
||||||
|
*** FLOP *** [7h 8s 3s]
|
||||||
|
Crow1974 (Observer): in that pic
|
||||||
|
Shoe Lab checks
|
||||||
|
eagle604 (Observer): did they win?
|
||||||
|
zbubop checks
|
||||||
|
Crow1974 (Observer): not in real life
|
||||||
|
AllenCunningham bets $200
|
||||||
|
Skylerjade (Observer): My girlfirend thinks hes hott in real life
|
||||||
|
Shoe Lab folds
|
||||||
|
zbubop calls $200
|
||||||
|
*** TURN *** [7h 8s 3s] [4s]
|
||||||
|
crobbins92020 (Observer): he isn't that weird...got a ride home first class..w/ drinks
|
||||||
|
zbubop checks
|
||||||
|
crobbins92020 (Observer): lol
|
||||||
|
AllenCunningham bets $400
|
||||||
|
Pavel Datsyuk (Observer): hes got a dif expression at a diff table
|
||||||
|
zbubop raises to $800
|
||||||
|
AllenCunningham calls $400
|
||||||
|
*** RIVER *** [7h 8s 3s 4s] [Ah]
|
||||||
|
zbubop bets $400
|
||||||
|
AllenCunningham calls $400
|
||||||
|
*** SHOW DOWN ***
|
||||||
|
zbubop shows [3c 9h As Qs] (a flush, Ace high)
|
||||||
|
*** SHOW DOWN ***
|
||||||
|
(8,7,4,3,A)
|
||||||
|
AllenCunningham shows [7d 2c Ks Ad] (two pair, Aces and Sevens)
|
||||||
|
(7,4,3,2,A)
|
||||||
|
zbubop wins the high pot ($2,048.50) with a flush, Ace high
|
||||||
|
AllenCunningham wins the low pot ($2,048.50) with 7,4,3,2,A
|
||||||
|
*** SUMMARY ***
|
||||||
|
Total pot $4,100 | Rake $3
|
||||||
|
Board: [7h 8s 3s 4s Ah]
|
||||||
|
Seat 1: zbubop showed [3c 9h As Qs] and won ($2,048.50) with HI: a flush, Ace high; LO: 8,7,4,3,A
|
||||||
|
Seat 2: AllenCunningham showed [7d 2c Ks Ad] and won ($2,048.50) with HI: two pair, Aces and Sevens; LO: 7,4,3,2,A
|
||||||
|
Seat 3: TexasLimitDonk (button) didn't bet (folded)
|
||||||
|
Seat 4: Mike Matusow is sitting out
|
||||||
|
Seat 5: Erick Lindgren (small blind) folded before the Flop
|
||||||
|
Seat 6: Shoe Lab (big blind) folded on the Flop
|
|
@ -0,0 +1 @@
|
||||||
|
(1, 'USD', 'ring', 'hold', 'omahahilo', 'fl', 's', 10000, 20000, 20000, 40000)
|
|
@ -0,0 +1,31 @@
|
||||||
|
{ 'boardcard1': 6,
|
||||||
|
'boardcard2': 46,
|
||||||
|
'boardcard3': 41,
|
||||||
|
'boardcard4': 42,
|
||||||
|
'boardcard5': 13,
|
||||||
|
'gametypeId': 21,
|
||||||
|
'importTime': None,
|
||||||
|
'maxSeats': 6,
|
||||||
|
'playersAtShowdown': 2,
|
||||||
|
'playersAtStreet1': 3,
|
||||||
|
'playersAtStreet2': 2,
|
||||||
|
'playersAtStreet3': 2,
|
||||||
|
'playersAtStreet4': 0,
|
||||||
|
'playersVpi': 3,
|
||||||
|
'seats': 5,
|
||||||
|
'sessionId': None,
|
||||||
|
'showdownPot': 0,
|
||||||
|
'siteHandNo': u'1088791321',
|
||||||
|
'startTime': datetime.datetime(2006, 10, 11, 4, 3, 34, tzinfo=pytz.utc),
|
||||||
|
'street0Raises': 1,
|
||||||
|
'street1Pot': 170000,
|
||||||
|
'street1Raises': 1,
|
||||||
|
'street2Pot': 330000,
|
||||||
|
'street2Raises': 2,
|
||||||
|
'street3Pot': 410000,
|
||||||
|
'street3Raises': 1,
|
||||||
|
'street4Pot': 0,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'tableName': u'Vero',
|
||||||
|
'texture': None,
|
||||||
|
'tourneyId': None}
|
|
@ -0,0 +1,525 @@
|
||||||
|
{ u'AllenCunningham': { 'card1': 19,
|
||||||
|
'card2': 27,
|
||||||
|
'card3': 51,
|
||||||
|
'card4': 26,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': True,
|
||||||
|
'otherRaisedStreet3': True,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 1,
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raiseToStealChance': False,
|
||||||
|
'raiseToStealDone': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 150,
|
||||||
|
'sawShowdown': True,
|
||||||
|
'seatNo': 2,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 602500,
|
||||||
|
'street0Aggr': True,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': False,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street0_C4BChance': False,
|
||||||
|
'street0_C4BDone': False,
|
||||||
|
'street0_FoldTo3BChance': False,
|
||||||
|
'street0_FoldTo3BDone': False,
|
||||||
|
'street0_FoldTo4BChance': False,
|
||||||
|
'street0_FoldTo4BDone': False,
|
||||||
|
'street0_SqueezeChance': False,
|
||||||
|
'street0_SqueezeDone': False,
|
||||||
|
'street1Aggr': True,
|
||||||
|
'street1Bets': 1,
|
||||||
|
'street1CBChance': True,
|
||||||
|
'street1CBDone': True,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': True,
|
||||||
|
'street2Bets': 1,
|
||||||
|
'street2CBChance': True,
|
||||||
|
'street2CBDone': True,
|
||||||
|
'street2Calls': 1,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 1,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': True,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'success_Steal': False,
|
||||||
|
'totalProfit': 24850,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 204850,
|
||||||
|
'wonAtSD': 1.0,
|
||||||
|
'wonWhenSeenStreet1': 1.0,
|
||||||
|
'wonWhenSeenStreet2': 1.0,
|
||||||
|
'wonWhenSeenStreet3': 1.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'Erick Lindgren': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'S',
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raiseToStealChance': False,
|
||||||
|
'raiseToStealDone': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 5,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 433950,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street0_C4BChance': False,
|
||||||
|
'street0_C4BDone': False,
|
||||||
|
'street0_FoldTo3BChance': False,
|
||||||
|
'street0_FoldTo3BDone': False,
|
||||||
|
'street0_FoldTo4BChance': False,
|
||||||
|
'street0_FoldTo4BDone': False,
|
||||||
|
'street0_SqueezeChance': False,
|
||||||
|
'street0_SqueezeDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'success_Steal': False,
|
||||||
|
'totalProfit': -10000,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'Shoe Lab': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': True,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': True,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 'B',
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raiseToStealChance': False,
|
||||||
|
'raiseToStealDone': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 6,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 1596850,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 1,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street0_C4BChance': False,
|
||||||
|
'street0_C4BDone': False,
|
||||||
|
'street0_FoldTo3BChance': False,
|
||||||
|
'street0_FoldTo3BDone': False,
|
||||||
|
'street0_FoldTo4BChance': False,
|
||||||
|
'street0_FoldTo4BDone': False,
|
||||||
|
'street0_SqueezeChance': False,
|
||||||
|
'street0_SqueezeDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': True,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'success_Steal': False,
|
||||||
|
'totalProfit': -40000,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'TexasLimitDonk': { 'card1': 0,
|
||||||
|
'card2': 0,
|
||||||
|
'card3': 0,
|
||||||
|
'card4': 0,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': False,
|
||||||
|
'otherRaisedStreet2': False,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 0,
|
||||||
|
'raiseFirstInChance': False,
|
||||||
|
'raiseToStealChance': False,
|
||||||
|
'raiseToStealDone': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 0,
|
||||||
|
'sawShowdown': False,
|
||||||
|
'seatNo': 3,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 681600,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 0,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': False,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street0_C4BChance': False,
|
||||||
|
'street0_C4BDone': False,
|
||||||
|
'street0_FoldTo3BChance': False,
|
||||||
|
'street0_FoldTo3BDone': False,
|
||||||
|
'street0_FoldTo4BChance': False,
|
||||||
|
'street0_FoldTo4BDone': False,
|
||||||
|
'street0_SqueezeChance': False,
|
||||||
|
'street0_SqueezeDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 0,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': False,
|
||||||
|
'street2Aggr': False,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': False,
|
||||||
|
'street2CheckCallRaiseDone': False,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': False,
|
||||||
|
'street3Aggr': False,
|
||||||
|
'street3Bets': 0,
|
||||||
|
'street3CBChance': False,
|
||||||
|
'street3CBDone': False,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': False,
|
||||||
|
'street3CheckCallRaiseDone': False,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': False,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'success_Steal': False,
|
||||||
|
'totalProfit': 0,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 0,
|
||||||
|
'wonAtSD': 0.0,
|
||||||
|
'wonWhenSeenStreet1': 0.0,
|
||||||
|
'wonWhenSeenStreet2': 0.0,
|
||||||
|
'wonWhenSeenStreet3': 0.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0},
|
||||||
|
u'zbubop': { 'card1': 28,
|
||||||
|
'card2': 8,
|
||||||
|
'card3': 52,
|
||||||
|
'card4': 50,
|
||||||
|
'card5': 0,
|
||||||
|
'card6': 0,
|
||||||
|
'card7': 0,
|
||||||
|
'foldBbToStealChance': False,
|
||||||
|
'foldSbToStealChance': False,
|
||||||
|
'foldToOtherRaisedStreet0': False,
|
||||||
|
'foldToOtherRaisedStreet1': False,
|
||||||
|
'foldToOtherRaisedStreet2': False,
|
||||||
|
'foldToOtherRaisedStreet3': False,
|
||||||
|
'foldToOtherRaisedStreet4': False,
|
||||||
|
'foldToStreet1CBChance': False,
|
||||||
|
'foldToStreet1CBDone': False,
|
||||||
|
'foldToStreet2CBChance': False,
|
||||||
|
'foldToStreet2CBDone': False,
|
||||||
|
'foldToStreet3CBChance': False,
|
||||||
|
'foldToStreet3CBDone': False,
|
||||||
|
'foldToStreet4CBChance': False,
|
||||||
|
'foldToStreet4CBDone': False,
|
||||||
|
'foldedBbToSteal': False,
|
||||||
|
'foldedSbToSteal': False,
|
||||||
|
'other3BStreet0': False,
|
||||||
|
'other4BStreet0': False,
|
||||||
|
'otherRaisedStreet0': False,
|
||||||
|
'otherRaisedStreet1': True,
|
||||||
|
'otherRaisedStreet2': True,
|
||||||
|
'otherRaisedStreet3': False,
|
||||||
|
'otherRaisedStreet4': False,
|
||||||
|
'position': 2,
|
||||||
|
'raiseFirstInChance': True,
|
||||||
|
'raiseToStealChance': False,
|
||||||
|
'raiseToStealDone': False,
|
||||||
|
'raisedFirstIn': False,
|
||||||
|
'rake': 150,
|
||||||
|
'sawShowdown': True,
|
||||||
|
'seatNo': 1,
|
||||||
|
'sitout': False,
|
||||||
|
'startCards': 0,
|
||||||
|
'startCash': 1067600,
|
||||||
|
'street0Aggr': False,
|
||||||
|
'street0Bets': 0,
|
||||||
|
'street0Calls': 2,
|
||||||
|
'street0Raises': 0,
|
||||||
|
'street0VPI': True,
|
||||||
|
'street0_3BChance': True,
|
||||||
|
'street0_3BDone': False,
|
||||||
|
'street0_4BChance': False,
|
||||||
|
'street0_4BDone': False,
|
||||||
|
'street0_C4BChance': False,
|
||||||
|
'street0_C4BDone': False,
|
||||||
|
'street0_FoldTo3BChance': False,
|
||||||
|
'street0_FoldTo3BDone': False,
|
||||||
|
'street0_FoldTo4BChance': False,
|
||||||
|
'street0_FoldTo4BDone': False,
|
||||||
|
'street0_SqueezeChance': True,
|
||||||
|
'street0_SqueezeDone': False,
|
||||||
|
'street1Aggr': False,
|
||||||
|
'street1Bets': 0,
|
||||||
|
'street1CBChance': False,
|
||||||
|
'street1CBDone': False,
|
||||||
|
'street1Calls': 1,
|
||||||
|
'street1CheckCallRaiseChance': False,
|
||||||
|
'street1CheckCallRaiseDone': False,
|
||||||
|
'street1Raises': 0,
|
||||||
|
'street1Seen': True,
|
||||||
|
'street2Aggr': True,
|
||||||
|
'street2Bets': 0,
|
||||||
|
'street2CBChance': False,
|
||||||
|
'street2CBDone': False,
|
||||||
|
'street2Calls': 0,
|
||||||
|
'street2CheckCallRaiseChance': True,
|
||||||
|
'street2CheckCallRaiseDone': True,
|
||||||
|
'street2Raises': 0,
|
||||||
|
'street2Seen': True,
|
||||||
|
'street3Aggr': True,
|
||||||
|
'street3Bets': 1,
|
||||||
|
'street3CBChance': True,
|
||||||
|
'street3CBDone': True,
|
||||||
|
'street3Calls': 0,
|
||||||
|
'street3CheckCallRaiseChance': True,
|
||||||
|
'street3CheckCallRaiseDone': True,
|
||||||
|
'street3Raises': 0,
|
||||||
|
'street3Seen': True,
|
||||||
|
'street4Aggr': False,
|
||||||
|
'street4Bets': 0,
|
||||||
|
'street4CBChance': False,
|
||||||
|
'street4CBDone': False,
|
||||||
|
'street4Calls': 0,
|
||||||
|
'street4CheckCallRaiseChance': False,
|
||||||
|
'street4CheckCallRaiseDone': False,
|
||||||
|
'street4Raises': 0,
|
||||||
|
'street4Seen': False,
|
||||||
|
'success_Steal': False,
|
||||||
|
'totalProfit': 24850,
|
||||||
|
'tourneyTypeId': None,
|
||||||
|
'tourneysPlayersIds': None,
|
||||||
|
'winnings': 204850,
|
||||||
|
'wonAtSD': 1.0,
|
||||||
|
'wonWhenSeenStreet1': 1.0,
|
||||||
|
'wonWhenSeenStreet2': 1.0,
|
||||||
|
'wonWhenSeenStreet3': 1.0,
|
||||||
|
'wonWhenSeenStreet4': 0.0}}
|
|
@ -0,0 +1,17 @@
|
||||||
|
Full Tilt Poker Game #1083884910: Table Coral Isle (6 max) - $25/$50 - No Limit Hold'em - 17:47:12 ET - 2006/10/09
|
||||||
|
cinidy lynn posts the small blind of $25
|
||||||
|
durrrr posts the big blind of $50
|
||||||
|
The button is in seat #3
|
||||||
|
*** HOLE CARDS ***
|
||||||
|
cinidy lynn raises to $1,000, and is all in
|
||||||
|
durrrr folds
|
||||||
|
Uncalled bet of $950 returned to cinidy lynn
|
||||||
|
cinidy lynn mucks
|
||||||
|
cinidy lynn wins the pot ($100)
|
||||||
|
*** SUMMARY ***
|
||||||
|
Total pot $100 | Rake $0
|
||||||
|
Seat 3: cinidy lynn (small blind) collected ($100), mucked
|
||||||
|
Seat 4: durrrr (big blind) folded before the Flop
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
Full Tilt Poker Game #1463159669: Table Pantheon (6 max) - $200/$400 - Pot Limit Omaha - 20:47:44 ET - 2006/12/23
|
||||||
|
Seat 1: tjalfe ($24,578)
|
||||||
|
Seat 2: CrazyZachary ($8,001.50)
|
||||||
|
Seat 3: sbrugby ($38,000)
|
||||||
|
Seat 4: Phil Ivey ($69,970)
|
||||||
|
Seat 5: Son-in-Law ($37,381.50)
|
||||||
|
Seat 6: Gus Hansen ($60,478.50)
|
||||||
|
Son-in-Law posts the small blind of $200
|
||||||
|
Gus Hansen posts the big blind of $400
|
||||||
|
The button is in seat #4
|
||||||
|
*** HOLE CARDS ***
|
||||||
|
Hence (Observer): lolz
|
||||||
|
tjalfe raises to $1,400
|
||||||
|
Round3rr (Observer): it's tru man
|
||||||
|
CrazyZachary has 15 seconds left to act
|
||||||
|
Round3rr (Observer): if he just sent me 1 big blind look @ his stack
|
||||||
|
Stacks987 (Observer): stop begging
|
||||||
|
CrazyZachary adds $31,998.50
|
||||||
|
CrazyZachary folds
|
||||||
|
sbrugby folds
|
||||||
|
Phil Ivey calls $1,400
|
||||||
|
Stacks987 (Observer): get a job
|
||||||
|
JeremyAlan21 (Observer): y would he give u money
|
||||||
|
JeremyAlan21 (Observer): ##%
|
||||||
|
Son-in-Law calls $1,200
|
||||||
|
Stacks987 (Observer): yeah that makes no sense
|
||||||
|
Round3rr (Observer): y not
|
||||||
|
Round3rr (Observer): he has 60k in front of him
|
||||||
|
Stacks987 (Observer): why would he?
|
||||||
|
Round3rr (Observer): 80k @ the other table
|
||||||
|
Gus Hansen folds
|
||||||
|
Hence (Observer): i was talking about the hand
|
||||||
|
*** FLOP *** [Ks Ah Qh]
|
||||||
|
Son-in-Law checks
|
||||||
|
Urfo618 (Observer): cuz ur a donkey stacks
|
||||||
|
tjalfe checks
|
||||||
|
Stacks987 (Observer): stfu urf
|
||||||
|
jordanlj (Observer): rounder ur a loser
|
||||||
|
Stacks987 (Observer): lol
|
||||||
|
Phil Ivey has 15 seconds left to act
|
||||||
|
Stacks987 (Observer): im having fun leave me alone
|
||||||
|
Phil Ivey checks
|
||||||
|
*** TURN *** [Ks Ah Qh] [Jd]
|
||||||
|
jordanlj (Observer): u might get a big blind for anal or maybe not
|
||||||
|
Son-in-Law bets $3,600
|
||||||
|
Round3rr (Observer): anal ?
|
||||||
|
R U NUTZ 2 (Observer): lol
|
||||||
|
tjalfe folds
|
||||||
|
Phil Ivey folds
|
||||||
|
Uncalled bet of $3,600 returned to Son-in-Law
|
||||||
|
Son-in-Law mucks
|
||||||
|
Son-in-Law wins the pot ($4,597)
|
||||||
|
jordanlj (Observer): yeh poop sex
|
||||||
|
*** SUMMARY ***
|
||||||
|
Total pot $4,600 | Rake $3
|
||||||
|
Board: [Ks Ah Qh Jd]
|
||||||
|
Seat 1: tjalfe folded on the Turn
|
||||||
|
Seat 2: CrazyZachary didn't bet (folded)
|
||||||
|
Seat 3: sbrugby didn't bet (folded)
|
||||||
|
Seat 4: Phil Ivey (button) folded on the Turn
|
||||||
|
Seat 5: Son-in-Law (small blind) collected ($4,597), mucked
|
||||||
|
Seat 6: Gus Hansen (big blind) folded before the Flop
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
FullTiltPoker Game #26063988000: Table Teddy (6 max, shallow) - $25/$50 - Pot Limit Omaha Hi - 18:15:00 ET - 2010/12/01
|
||||||
|
|
||||||
|
Seat 1: Player1 ($1,000)
|
||||||
|
Seat 3: Player3 ($3,423)
|
||||||
|
Seat 4: Player4 ($1,611)
|
||||||
|
Seat 6: Hero ($1,835.50)
|
||||||
|
Hero posts the small blind of $25
|
||||||
|
Player1 posts the big blind of $50
|
||||||
|
The button is in seat #4
|
||||||
|
*** HOLE CARDS ***
|
||||||
|
Dealt to Hero [9s Jc 8c 7s]
|
||||||
|
Player3 raises to $112.50
|
||||||
|
Player4 folds
|
||||||
|
Hero has 15 seconds left to act
|
||||||
|
Hero has requested TIME
|
||||||
|
Hero raises to $387.50
|
||||||
|
Player1 folds
|
||||||
|
Player3 calls $275
|
||||||
|
*** FLOP *** [6c Qh 3c]
|
||||||
|
Hero has 15 seconds left to act
|
||||||
|
Hero has requested TIME
|
||||||
|
Hero bets $825
|
||||||
|
Player3 has 15 seconds left to act
|
||||||
|
Player3 raises to $3,035.50, and is all in
|
||||||
|
Hero calls $623, and is all in
|
||||||
|
Players agree to Run It Twice
|
||||||
|
Player3 shows [2s 9c Ac 5s]
|
||||||
|
Hero shows [9s Jc 8c 7s]
|
||||||
|
Uncalled bet of $1,587.50 returned to Player3
|
||||||
|
*** TURN 1 *** [6c Qh 3c] [3d]
|
||||||
|
*** RIVER 1 *** [6c Qh 3c 3d] [Th]
|
||||||
|
*** TURN 2 *** [6c Qh 3c] [9h]
|
||||||
|
*** RIVER 2 *** [6c Qh 3c 9h] [6h]
|
||||||
|
*** SHOW DOWN 1 ***
|
||||||
|
Player3 shows a pair of Threes
|
||||||
|
Hero shows a pair of Threes
|
||||||
|
*** SHOW DOWN 2 ***
|
||||||
|
Player3 shows two pair, Nines and Sixes
|
||||||
|
Hero shows two pair, Nines and Sixes
|
||||||
|
Player3 wins pot 1 ($1,859) with a pair of Threes
|
||||||
|
Player3 wins pot 2 ($1,859) with two pair, Nines and Sixes
|
||||||
|
*** SUMMARY ***
|
||||||
|
Duration 65s
|
||||||
|
Total pot $3,721 | Rake $3
|
||||||
|
*** SUMMARY 1 ***
|
||||||
|
Pot 1 $1,859
|
||||||
|
Board: [6c Qh 3c 3d Th]
|
||||||
|
Seat 1: Player1 (big blind) folded before the Flop
|
||||||
|
Seat 3: Player3 showed [2s 9c Ac 5s] and won ($1,859) with a pair of Threes
|
||||||
|
Seat 4: Player4 (button) didn't bet (folded)
|
||||||
|
Seat 6: Hero (small blind) showed [9s Jc 8c 7s] and lost with a pair of Threes
|
||||||
|
*** SUMMARY 2 ***
|
||||||
|
Pot 2 $1,859
|
||||||
|
Board: [6c Qh 3c 9h 6h]
|
||||||
|
Seat 1: Player1 (big blind) folded before the Flop
|
||||||
|
Seat 3: Player3 showed [2s 9c Ac 5s] and won ($1,859) with two pair, Nines and Sixes
|
||||||
|
Seat 4: Player4 (button) didn't bet (folded)
|
||||||
|
Seat 6: Hero (small blind) showed [9s Jc 8c 7s] and lost with two pair, Nines and Sixes
|
||||||
|
|
||||||
|
|
Binary file not shown.
Loading…
Reference in New Issue
Block a user