git26 - add to install the sql commands to create DB etc.
fixed little bug in load_profile introduced by recent improvements there updated regression testing to take into account everything new, made sure it passes all tests more table design cleaning various doc updates added create-release.sh to automate release creation
This commit is contained in:
parent
47bf90d71c
commit
09f233d6e4
31
create-release.sh
Executable file
31
create-release.sh
Executable file
|
@ -0,0 +1,31 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
#Copyright 2008 Steffen Jobbagy-Felso
|
||||||
|
#This program is free software: you can redistribute it and/or modify
|
||||||
|
#it under the terms of the GNU Affero General Public License as published by
|
||||||
|
#the Free Software Foundation, version 3 of the License.
|
||||||
|
#
|
||||||
|
#This program is distributed in the hope that it will be useful,
|
||||||
|
#but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
#GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
#You should have received a copy of the GNU Affero General Public License
|
||||||
|
#along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#In the "official" distribution you can find the license in
|
||||||
|
#agpl-3.0.txt in the docs folder of the package.
|
||||||
|
|
||||||
|
rm regression-test/*.found.txt
|
||||||
|
rm regression-test/*.pyc
|
||||||
|
rm pyfpdb/*.pyc
|
||||||
|
|
||||||
|
mkdir fpdb-$1
|
||||||
|
cp -R docs fpdb-$1/
|
||||||
|
cp -R pyfpdb fpdb-$1/
|
||||||
|
cp -R regression-test fpdb-$1/
|
||||||
|
cp -R utils fpdb-$1/
|
||||||
|
cd fpdb-$1
|
||||||
|
zip -r ../fpdb-$1.zip *
|
||||||
|
tar -cf - * | bzip2 > ../fpdb-$1.tar.bz2
|
||||||
|
cd ..
|
||||||
|
rm -r fpdb-$1
|
|
@ -21,11 +21,33 @@ rc-update add postgresql default
|
||||||
emerge --config mysql
|
emerge --config mysql
|
||||||
The --config step will ask you for the mysql root user - set this securely, we will create a seperate account for fpdb
|
The --config step will ask you for the mysql root user - set this securely, we will create a seperate account for fpdb
|
||||||
|
|
||||||
Create a user and a database, the default names are fpdb but you can choose whatever you want to. I did this in webmin, but it will be added to the GUI as well. Then set permissions for that user to: Select | Insert | Update | Delete | Create | Drop
|
3. Create a mysql user and a database
|
||||||
|
Now open a shell (aka command prompt aka DOS window):
|
||||||
|
Click Start, then Run. In the opening window type "cmd" (without the inverted commas) and then click OK. A windows with a black background should open.
|
||||||
|
|
||||||
Copy the .conf file from this directory to ~/.fpdb/profiles/default.conf and edit it according to what you configured just now, in particular you will definitely have to put in the password you configured. YES, THIS IS INSECURE.
|
Type (replacing yourPassword with the root password for MySQL you specified during installation):
|
||||||
|
mysql --user=root --password=yourPassword
|
||||||
|
|
||||||
3. Guided installation steps
|
It should say something like this:
|
||||||
|
Welcome to the MySQL monitor. Commands end with ; or \g.
|
||||||
|
Your MySQL connection id is 4
|
||||||
|
Server version: 5.0.60-log Gentoo Linux mysql-5.0.60-r1
|
||||||
|
|
||||||
|
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
|
||||||
|
|
||||||
|
mysql>
|
||||||
|
|
||||||
|
|
||||||
|
Now create the actual database. The default name is fpdb, I recommend you keep it. Type this:
|
||||||
|
CREATE DATABASE fpdb;
|
||||||
|
|
||||||
|
Next you need to create a user. I recommend you use the default fpdb. Type this (replacing newPassword with the password you want the fpdb user to have - this can, but for security shouldn't, be the same as the root mysql password):
|
||||||
|
GRANT ALL PRIVILEGES ON fpdb.* TO 'fpdb'@'localhost' IDENTIFIED BY 'newPassword' WITH GRANT OPTION;
|
||||||
|
|
||||||
|
Copy the .conf file from this directory to ~/.fpdb/profiles/default.conf and edit it according to what you configured just now, in particular you will definitely have to put in the password you configured. I know this is insecure, will fix it before stable release.
|
||||||
|
|
||||||
|
|
||||||
|
4. Guided installation steps
|
||||||
Run the GUI as described in readme-user and click the menu database -> recreate tables
|
Run the GUI as described in readme-user and click the menu database -> recreate tables
|
||||||
|
|
||||||
That's it! Now see readme-user.txt for usage instructions.
|
That's it! Now see readme-user.txt for usage instructions.
|
||||||
|
|
|
@ -22,7 +22,30 @@ http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-2.win32-py
|
||||||
|
|
||||||
Once finished it shold confirm "service started successfully"
|
Once finished it shold confirm "service started successfully"
|
||||||
|
|
||||||
Then configure a user and create a database.
|
1b. MySQL database and user setup
|
||||||
|
Now open a shell (aka command prompt aka DOS window):
|
||||||
|
Click Start, then Run. In the opening window type "cmd" (without the inverted commas) and then click OK. A windows with a black background should open.
|
||||||
|
|
||||||
|
Type (replacing yourPassword with the root password for MySQL you specified during installation):
|
||||||
|
mysql --user=root --password=yourPassword
|
||||||
|
|
||||||
|
It should say something like this:
|
||||||
|
Welcome to the MySQL monitor. Commands end with ; or \g.
|
||||||
|
Your MySQL connection id is 4
|
||||||
|
Server version: 5.0.60-log Gentoo Linux mysql-5.0.60-r1
|
||||||
|
|
||||||
|
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
|
||||||
|
|
||||||
|
mysql>
|
||||||
|
|
||||||
|
|
||||||
|
Now create the actual database. The default name is fpdb, I recommend you keep it. Type this:
|
||||||
|
CREATE DATABASE fpdb;
|
||||||
|
|
||||||
|
Next you need to create a user. I recommend you use the default fpdb. Type this (replacing newPassword with the password you want the fpdb user to have - this can, but for security shouldn't, be the same as the root mysql password):
|
||||||
|
GRANT ALL PRIVILEGES ON fpdb.* TO 'fpdb'@'localhost' IDENTIFIED BY 'newPassword' WITH GRANT OPTION;
|
||||||
|
|
||||||
|
Exit mysql by pressing Ctrl+D
|
||||||
|
|
||||||
2. Install python
|
2. Install python
|
||||||
Get the latest Windows installer. As of this writing that is 2.5.2. Double click the .msi file to start installation and follow the prompts.
|
Get the latest Windows installer. As of this writing that is 2.5.2. Double click the .msi file to start installation and follow the prompts.
|
||||||
|
|
|
@ -2,14 +2,13 @@ todolist (db=database, imp=importer, tv=tableviewer)
|
||||||
|
|
||||||
before alpha
|
before alpha
|
||||||
============
|
============
|
||||||
fix default pathes up to sensible ones
|
|
||||||
update regression testing to take into account everything new, make sure it passes all tests
|
|
||||||
3B/4B might not be recognised nor counted as chance if someone raised after player called.
|
|
||||||
add to install the sql commands to create DB etc.
|
|
||||||
test everything actually works in windows too
|
test everything actually works in windows too
|
||||||
|
verify link in release notes
|
||||||
|
|
||||||
next
|
next
|
||||||
====
|
====
|
||||||
|
3B/4B might not be recognised nor counted as chance if someone raised after player called.
|
||||||
|
uncomment version checking
|
||||||
fill steal fields correctly, add to tester and tv
|
fill steal fields correctly, add to tester and tv
|
||||||
CB, 2nd/3rd Barrel, fold to these
|
CB, 2nd/3rd Barrel, fold to these
|
||||||
|
|
||||||
|
@ -27,6 +26,7 @@ table with data for graphs for SD/F, W$wSF, W$@SD
|
||||||
before beta
|
before beta
|
||||||
===========
|
===========
|
||||||
add stud, razz and tourney back to imp/tv but with less seperate codepathes
|
add stud, razz and tourney back to imp/tv but with less seperate codepathes
|
||||||
|
move prepare-git.sh and create-release.sh to utils
|
||||||
offer not storing db password
|
offer not storing db password
|
||||||
change definition of bet to exclude bring in?
|
change definition of bet to exclude bring in?
|
||||||
in tv, select from hud table using named fields rather than the current *
|
in tv, select from hud table using named fields rather than the current *
|
||||||
|
@ -34,7 +34,7 @@ remove remains of mysql/myisam support.
|
||||||
tourney bug: sometimes truncuates position on store -> possibly indicates much bigger problem
|
tourney bug: sometimes truncuates position on store -> possibly indicates much bigger problem
|
||||||
tourney bug: fails recognisePlayer
|
tourney bug: fails recognisePlayer
|
||||||
tourney bug: fails with tuple error in recogniseplayerid
|
tourney bug: fails with tuple error in recogniseplayerid
|
||||||
fix load profile
|
fix GUI's load profile
|
||||||
HUD
|
HUD
|
||||||
config wizard
|
config wizard
|
||||||
file permission script, use games group
|
file permission script, use games group
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
Hi,
|
Hi,
|
||||||
This document is to serve as a first point of contact for current and prospective developers with:
|
This document is to serve as a little overview (later: full technical doc) for current and prospective developers with:
|
||||||
a) organisational/legal things
|
a) introduction into the code structure
|
||||||
b) introduction into the code structure
|
b) organisational/legal things
|
||||||
|
|
||||||
What to do?
|
What to do?
|
||||||
===========
|
===========
|
||||||
|
@ -42,7 +42,7 @@ Copyright/Licensing
|
||||||
===================
|
===================
|
||||||
Copyright by default is handled on a per-file basis. If you send in a patch or make a commit to an existing file it is done on the understanding that you transfer all rights (as far as legally possible in your jurisdiction) to the current copyright holder of that file, unless otherwise stated. If you create a new file please ensure to include a copyright and license statement.
|
Copyright by default is handled on a per-file basis. If you send in a patch or make a commit to an existing file it is done on the understanding that you transfer all rights (as far as legally possible in your jurisdiction) to the current copyright holder of that file, unless otherwise stated. If you create a new file please ensure to include a copyright and license statement.
|
||||||
|
|
||||||
The licenses used by this project are the AGPL3 for code and FDL1.2 for documentation. Why AGPL3? As far as I know it is currently the strongest copyleft license.
|
The licenses used by this project are the AGPL3 for code and FDL1.2 for documentation. See readme-overview.txt for reasons and if you wish to use fpdb with different licensing.
|
||||||
|
|
||||||
Preferred File Formats
|
Preferred File Formats
|
||||||
======================
|
======================
|
||||||
|
|
|
@ -1,16 +1,20 @@
|
||||||
Summary
|
Summary
|
||||||
=======
|
=======
|
||||||
A database program to track your online poker games, the behaviour of the other players and your winnings/losses. Supports Holdem, Omaha, Stud and Razz for cash games as well as SnG and MTT tournaments with more possibly coming in the future
|
A database program to track your online poker games, the behaviour of the other players and your winnings/losses. Supports Holdem, Omaha, Stud and Razz for cash games as well as SnG and MTT tournaments with more possibly coming in the future. Some of this is not yet working though, please see status.txt and known-bugs-and-planned-features.txt
|
||||||
|
|
||||||
Contact
|
Contact
|
||||||
=======
|
=======
|
||||||
|
Please note that this project has two hostings: one at assembla.com which holds are version control "central tree" (irrelevant for users) and everything else at http://sourceforge.net/projects/fpdb/.
|
||||||
|
|
||||||
|
The best means of contact are the sourceforge page: Use the bug, feature request or patch functions or just post in the forum.
|
||||||
|
|
||||||
|
Alternatively feel free to contact me directly:
|
||||||
|
|
||||||
mail: steffen(at)sycamoretest.info
|
mail: steffen(at)sycamoretest.info
|
||||||
jabber/xmpp/Google Talk: as above
|
jabber/xmpp/Google Talk: as above
|
||||||
ICQ: 7806355
|
ICQ: 7806355
|
||||||
MSN: steffenjf@gmx.de (don't email that)
|
MSN: steffenjf@gmx.de (don't email that)
|
||||||
|
|
||||||
You can also create tickets on our assembla page at todo get link
|
|
||||||
|
|
||||||
But you could send all my hand histories to yourself!
|
But you could send all my hand histories to yourself!
|
||||||
=====================================================
|
=====================================================
|
||||||
At the end of the day this comes down to a question of trust, but unlike Windows and the poker client software you don't have to trust fpdb blindly. You can:
|
At the end of the day this comes down to a question of trust, but unlike Windows and the poker client software you don't have to trust fpdb blindly. You can:
|
||||||
|
@ -40,14 +44,6 @@ As for hardware, my main test machine is a Pentium 3-M 800 with 256 RAM and Gent
|
||||||
program will have to work on that. If you run an even more ancient machine and
|
program will have to work on that. If you run an even more ancient machine and
|
||||||
its too slow let me know and I'll see what I can do :)
|
its too slow let me know and I'll see what I can do :)
|
||||||
|
|
||||||
Contact
|
|
||||||
=======
|
|
||||||
- email steffen@sycamoretest.info
|
|
||||||
- jabber/xmpp/google talk to steffen@sycamoretest.info
|
|
||||||
- create a ticket in the ticketing system of assembla
|
|
||||||
- ICQ 7806355
|
|
||||||
- MSN steffenjf@gmx.de (don't email here)
|
|
||||||
|
|
||||||
Why Free Software?
|
Why Free Software?
|
||||||
==================
|
==================
|
||||||
This program is released under the terms of the free/libre software license AGPL3 as released by the FSF. The AGPL3 protects your rights and those of the wider community. As Richard Stallman, one of the founders of the free software movement, put it: "Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer." (well, it is both really, like the right to vote used to be free)
|
This program is released under the terms of the free/libre software license AGPL3 as released by the FSF. The AGPL3 protects your rights and those of the wider community. As Richard Stallman, one of the founders of the free software movement, put it: "Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer." (well, it is both really, like the right to vote used to be free)
|
||||||
|
@ -70,12 +66,12 @@ Can I get/use this under a different license?
|
||||||
=============================================
|
=============================================
|
||||||
The short answer: Maybe.
|
The short answer: Maybe.
|
||||||
The long one: As detailed, I fully support what the FSF does and aims to achieve with the GPL. However, I realise that many free software developers don't object to closed source, some don't even object to closed source profiteering of their charity, and I don't think I have any right to go and tell them they're wrong.
|
The long one: As detailed, I fully support what the FSF does and aims to achieve with the GPL. However, I realise that many free software developers don't object to closed source, some don't even object to closed source profiteering of their charity, and I don't think I have any right to go and tell them they're wrong.
|
||||||
So if anyone wishes to use all or part of my code in another open source project with an AGPL3-incompatible license then let me know and we should be able to come to an agreement.
|
So if anyone wishes to use all or part of my code in another free software/open source project with an AGPL3-incompatible license such as BSD then let me know and we'll figure out a solution that makes everyone happy.
|
||||||
If you wish to use all or part of this in closed source let me know how much that is worth to you, I support free software but at the end of the day you can't pay rent with code ;)
|
If you wish to use all or part of this in closed source let me know how much if anything that is worth to you and I'm sure we'll be able to reach an agreement. Note that you are NOT permitted to just use fpdb code in closed source development whether in-house or by an independent software developer, you will NEED an additionally agreement with me to get fpdb under different licensing conditions.
|
||||||
|
|
||||||
|
|
||||||
Disclaimer, License of this Document
|
License of this Document
|
||||||
====================================
|
========================
|
||||||
The views expressed in this document are those of Steffen Jobbagy-Felso, other members of the fpdb team and external contributors may or may not agree.
|
The views expressed in this document are those of Steffen Jobbagy-Felso, other members of the fpdb team and external contributors may or may not agree.
|
||||||
|
|
||||||
Trademarks of third parties have been used under Fair Use or similar laws.
|
Trademarks of third parties have been used under Fair Use or similar laws.
|
||||||
|
|
|
@ -1,27 +1,24 @@
|
||||||
alpha1 draft (ie. minimum requirements for alpha1)
|
alpha1
|
||||||
Hi everyone,
|
Hi everyone,
|
||||||
I am proud to announce the first release of my new poker tracking software fpdb (freepokerdb, very imaginative I know ;) ). You may wonder why I bothered when now with HM and PT3 there are at least two excellent packages to choose from.
|
I am proud to announce the first release of my new poker tracking software fpdb (freepokerdb, very imaginative I know ;) ). You may wonder why I bothered when now with HM and PT3 there are at least two excellent packages to choose from.
|
||||||
|
|
||||||
Three main reasons:
|
Four main reasons:
|
||||||
1. Fpdb is free/libre open source software. In short, this means you don't depend on me if sth. is wrong or you want something more in this program as you can freely change it yourself. You also don't have to pay anything for it. If you like it and think I deserve to be paid just drop me a mail ;)
|
1. Fpdb is free/libre open source software. In short, this means you don't depend on me if sth. is wrong or you want something more in this program as you can freely change it yourself. You also don't have to pay anything for it. If you like it and think I deserve to be paid just drop me a mail ;)
|
||||||
2. HM and PT3 only support holdem. Fpdb (initially) supports Holdem and Omaha, with Stud and Razz mostly implemented
|
2. HM and PT3 only support holdem. Fpdb initially supports Holdem and Omaha, with Stud and Razz mostly implemented and coming soon.
|
||||||
3. HM and PT3 run on Windows only, and for me at least did not work in wine even after installing Mono. Fpdb runs natively on any plattform that has the required software, which will cover roundabout 99.9% of PCs.
|
3. HM and PT3 run on Windows only, and for me at least did not work in wine even after installing Mono. Fpdb runs on any plattform that has the required software, which will cover roundabout 99.9% of PCs. Currently tested plattforms are Windows XP-x86 and Gentoo GNU/Linux-amd64 as well as -x86.
|
||||||
You still need to run Windows or wine to run the actual poker client though.
|
You still need to run Windows or wine to run the actual poker client though.
|
||||||
4. Fpdb won't irritate you with copy prevention measures, e.g. HM will require re-activation after some types of partition change. To be fair I should add that the support is fast, friendly and helpful. Nevertheless I for one just don't appreciate being hassled AFTER I pay.
|
4. Fpdb won't irritate you with copy prevention measures.
|
||||||
|
|
||||||
This is alpha1, as the name indicates it is still at a very early stage. The importer and database are nearing completion but the GUI in particular is not very functional yet and the HUD is missing alltogether. Except for the HUD most of the infrastructure is in place though, now I "just" need to add all the bells and whistles and tune it.
|
To install it go to https://sourceforge.net/projects/showfiles.php?group_id=226872 and download the zip or tar.bz2, unpack it, and follow the instructions in docs/install-in-* for your operating system (e.g. docs\install-in-windows.txt). Sourceforge lists the release files as source files, not as binary executables - this is correct, python will automagically compile as and when required.
|
||||||
|
|
||||||
Current feature list:
|
This is alpha1, as the name indicates it is still at a very early stage. The importer and database are nearing completion but the GUI in particular is not very functional yet and the HUD is missing alltogether.
|
||||||
|
|
||||||
Interface
|
If anyone wishes to help with development that would be very very welcome and I've put a few notes in docs/readme-dev.txt in the download for what you could do. Or just start coding and set me the patches :)
|
||||||
=========
|
If you're not a programmer and you're not interested in learning it you can still help simply by trying it out and sending bug reports and feature requests. To avoid unrealistic expectations I'd like to state that it'll be a long time until fpdb reaches feature parity to established paid-for closed source software.
|
||||||
- Central interface programs with tabs (similar to Azureus classic)
|
|
||||||
- Follows (ish) convention on how things are arranged and what they look like.
|
Feature List (short now, growing fast ;) ):
|
||||||
- Works equally in *nix and Windows (tested on Gentoo GNU/Linux, MacOSX and WinXP)
|
|
||||||
- Bulk importer for single files, multiple files, or directories (incl recursion)
|
You can edit/add whatever you like, it's all python and SQL. The code should be fairly straightforward I think and I put some notes into readme-dev.txt but feel free to ask.
|
||||||
- Auto-importer
|
|
||||||
- Profiles (to store different settings - profile path currently hardcoded as the load_profile function is broken)
|
|
||||||
- Interface freezes whilst importing, but if you want to start using it whilst a big import is running just start another instance.
|
|
||||||
|
|
||||||
Backend, Distribution
|
Backend, Distribution
|
||||||
=====================
|
=====================
|
||||||
|
@ -30,27 +27,29 @@ Backend, Distribution
|
||||||
|
|
||||||
Site/Game Support
|
Site/Game Support
|
||||||
=================
|
=================
|
||||||
- Initially only full support for PS, FTP will be supported soon
|
- Initially only full support for PS, FTP coming soon
|
||||||
- Supports Holdem, Omaha Hi and Omaha Hi/Lo
|
- Supports Holdem, Omaha Hi and Omaha Hi/Lo. Stud and Razz coming soon.
|
||||||
- Supports No Limit, Pot Limit, Fixed Limit NL, Cap NL and Cap PL
|
- Supports No Limit, Pot Limit, Fixed Limit NL, Cap NL and Cap PL
|
||||||
Note that currently it does not display extra stats for NL/PL so usefulness is limited for these limit types. Suggestions welcome, I don't play these.
|
Note that currently it does not display extra stats for NL/PL so usefulness is limited for these limit types. Suggestions welcome, I don't play these.
|
||||||
- Supports ring/cash games, SnG/MTT will be supported soon
|
- Supports ring/cash games, SnG/MTT coming soon
|
||||||
|
|
||||||
|
Tableviewer (tv)
|
||||||
- Tableviewer (tv) interface to the database. The application is currently single-threaded but I will fix that, in the meantime just start the interface multiple times. Tv takes a history filename and loads the appropriate players' stats and displays them in a tabular format. These stats currently are:
|
===========
|
||||||
|
Tv takes a history filename and loads the appropriate players' stats and displays them in a tabular format. These stats currently are:
|
||||||
- VPIP, PFR and Preflop 3B/4B (3B/4B is not quite correct I think)
|
- VPIP, PFR and Preflop 3B/4B (3B/4B is not quite correct I think)
|
||||||
- Raise and Fold % on flop, turn and river. Fold only counts hands when someone raised.
|
- Raise and Fold % on flop, turn and river. Fold only counts hands when someone raised. This can be displayed per street or as one combined value each for aggression and folding.
|
||||||
- Number of hands this is based on.
|
- Number of hands this is based on.
|
||||||
- SD/F (aka WtSD, proportion of hands where player went to showdown after seeing flop)
|
- SD/F (aka WtSD, proportion of hands where player went to showdown after seeing flop)
|
||||||
- W$wSF (Won $ when seen Flop)
|
- W$wSF (Won $ when seen Flop)
|
||||||
- W$@SD (Won $ at showdown)
|
- W$@SD (Won $ at showdown)
|
||||||
For all stats it also displays how many hands this particular is based on
|
For all stats it also displays how many hands this particular is based on
|
||||||
|
|
||||||
- You can edit/add whatever you like, it's all python and SQL. The code should be fairly straightforward I think and I put some notes into readme-dev.txt but feel free to ask.
|
|
||||||
|
|
||||||
If you can live with alpha software please give this a go and send any feedback, feature requests/suggestions, bug reports and animal names to steffen@sycamoretest.info or pick one of the contact methods listed in readme-overview.txt or reply to this post.
|
If you can live with alpha software please give this a go and send any feedback, feature requests/suggestions, bug reports and animal names to steffen@sycamoretest.info or pick one of the contact methods listed in readme-overview.txt or reply to this post.
|
||||||
|
|
||||||
IMPORTANT: The database format will undergo more changes and at this point I am not planning to write a converter so please keep your history files so you can re-import when necessary. Independent of this you should always keep the original raw files in a safe place with any tracking software.
|
IMPORTANT: The database format WILL undergo more changes and at this point I am not planning to write a converter so please keep your history files so you can re-import when necessary. Independent of this you should always keep the original raw files in a safe place with any tracking software. Should you however end up loosing your files somehow let me know and I'll try to help.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
License
|
License
|
||||||
|
|
|
@ -5,17 +5,15 @@
|
||||||
<TITLE>Free Poker DB Tabledesign</TITLE>
|
<TITLE>Free Poker DB Tabledesign</TITLE>
|
||||||
</HEAD>
|
</HEAD>
|
||||||
<BODY LANG="en-GB">
|
<BODY LANG="en-GB">
|
||||||
<P>see commit comments for version info</P>
|
<P>See commit comments for version info, see status.txt for status.</P>
|
||||||
<P>Direct suggestions, praise and animal names to steffen@sycamoretest.info</P>
|
<P>Direct suggestions, praise and animal names to steffen@sycamoretest.info or check readme-overview.txt for more contacts</P>
|
||||||
<p>TODO clean all the crap out of this like i did in HudData, line39 onwards</p>
|
|
||||||
<P>I decided to be generous on the sizes of the types - if computing experience shows one thing then its that it will come back to bite you in the ass if you save 2 bits in the wrong place. If performance and/or db size are too bad we can still shrink some fields.</P>
|
<P>I decided to be generous on the sizes of the types - if computing experience shows one thing then its that it will come back to bite you in the ass if you save 2 bits in the wrong place. If performance and/or db size are too bad we can still shrink some fields.</P>
|
||||||
<p>Relationships are noted in the comment (need to double check that all are listed)</P>
|
<p>Relationships are noted in the comment (need to double check that all are listed)</P>
|
||||||
<p>If you want more comments or if anything is confusing or bad let me know.</P>
|
<p>If you want more comments or if anything is confusing or bad let me know.</P>
|
||||||
<p>All money/cash amounts are stored in cents/pennies/whatever (e.g. $4.27 would be stored a 427). Chips are stored as-is (e.g. 3675 chips would be stored as 3675).</P>
|
<p>All money/cash amounts are stored in cents/pennies/whatever (e.g. $4.27 would be stored a 427). Chips are stored as-is (e.g. 3675 chips would be stored as 3675).</P>
|
||||||
<p>Support for ringgames in Holdem, Omaha, Razz and Stud complete. Support for SnG/MTT is alpha</P>
|
|
||||||
<p>Notes on use/editing:</P>
|
<p>Notes on use/editing:</P>
|
||||||
<p>Any change to this must be carried to to the table creation code in fpdb_db.py or at least an entry to known bugs is to be made.</P>
|
<p>Any change to this must be carried to to the table creation code in fpdb_db.py or at least an entry to known bugs is to be made.</P>
|
||||||
<P>If the code (in particular the importer) and this document disagree then this document is to be considered authorative. Please report such mismatches to steffen@sycamoretest.org or through an assembla ticket.</P>
|
<P>If the code (in particular the importer) and this document disagree then this document is to be considered authorative.</P>
|
||||||
<p><b>License</b><br>
|
<p><b>License</b><br>
|
||||||
Trademarks of third parties have been used under Fair Use or similar laws.<br>
|
Trademarks of third parties have been used under Fair Use or similar laws.<br>
|
||||||
Copyright 2008 Steffen Jobbagy-Felso<br>
|
Copyright 2008 Steffen Jobbagy-Felso<br>
|
||||||
|
@ -100,126 +98,65 @@ autorates</B></P>
|
||||||
<TD><P>autorating description</P></TD>
|
<TD><P>autorating description</P></TD>
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>short_desc</P></TD>
|
||||||
<P>short_desc</P>
|
<TD><P>char(8)</P></TD>
|
||||||
</TD>
|
<TD><P>short description e.g. for display in HUD</P></TD>
|
||||||
<TD>
|
|
||||||
<P>char(8)</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>short description e.g. for display in HUD</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>rating_time</P></TD>
|
||||||
<P>rating_time</P>
|
<TD><P>datetime (in UTC)</P></TD>
|
||||||
</TD>
|
<TD><P>timestamp of rating</P></TD>
|
||||||
<TD>
|
|
||||||
<P>datetime (in UTC)</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>timestamp of rating</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>hand_count</P></TD>
|
||||||
<P>hand_count</P>
|
<TD><P>int</P></TD>
|
||||||
</TD>
|
<TD><P>number of hands rating is based on</P></TD>
|
||||||
<TD>
|
|
||||||
<P>int</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>number of hands rating is based on</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<p><BR></P>
|
<p><BR></P>
|
||||||
<p><B>Table gametypes</B></P>
|
<p><B>Table gametypes</B></P>
|
||||||
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>Field name</P></TD>
|
||||||
<P>Field name</P>
|
<TD><P>Type</P></TD>
|
||||||
</TD>
|
<TD><P>Comment</P></TD>
|
||||||
<TD>
|
|
||||||
<P>Type</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>Comment</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>id</P></TD>
|
||||||
<P>id</P>
|
<TD><P>smallint</P></TD>
|
||||||
</TD>
|
<TD><P><BR></P></TD>
|
||||||
<TD>
|
|
||||||
<P>smallint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P><BR>
|
|
||||||
</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>site_id</P></TD>
|
||||||
<P>site_id</P>
|
<TD><P>smallint</P></TD>
|
||||||
</TD>
|
<TD><P>references sites.id</P></TD>
|
||||||
<TD>
|
|
||||||
<P>smallint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>references sites.id</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>type</P></TD>
|
<TD><P>type</P></TD>
|
||||||
<TD><P>char(4)</P></TD>
|
<TD><P>char(4)</P></TD>
|
||||||
<TD>
|
<TD><p>valid entries:<br>
|
||||||
<p>valid entries:</P>
|
ring - ringgames aka cash games<br>
|
||||||
<p>ring - ringgames aka cash games</P>
|
tour - tournament incl SnG</P></TD>
|
||||||
<P>tour - tournament incl SnG</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>category</P></TD>
|
||||||
<P>category</P>
|
<TD><P>varchar(9)</P></TD>
|
||||||
</TD>
|
<TD><p>valid entries:<br>
|
||||||
<TD>
|
holdem=Texas Hold'em<br>
|
||||||
<P>varchar(9)</P>
|
omahahi=Omaha High only<br>
|
||||||
</TD>
|
omahahilo=Omaha 8 or better<br>
|
||||||
<TD>
|
razz=Razz<br>
|
||||||
<p>valid
|
studhi=7 Card Stud High only<br>
|
||||||
entries:</P>
|
studhl=7 Card Stud 8 orbetter</p></TD>
|
||||||
<p>holdem=Texas
|
|
||||||
Hold'em</P>
|
|
||||||
<p>omahahi=Omaha
|
|
||||||
High only</P>
|
|
||||||
<p>omahahilo=Omaha
|
|
||||||
8 or better</P>
|
|
||||||
<p>razz=Razz</P>
|
|
||||||
<p>studhi=7
|
|
||||||
Card Stud High only</P>
|
|
||||||
<P>studhl=7 Card Stud 8 or
|
|
||||||
better</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>limit_type</P></TD>
|
||||||
<P>limit_type</P>
|
<TD><P>char(2)</P></TD>
|
||||||
</TD>
|
<TD><p>nl=No Limit<br>
|
||||||
<TD>
|
cn=Cap No Limit<br>
|
||||||
<P>char(2)</P>
|
pl=Pot Limit<br>
|
||||||
</TD>
|
cp=Cap Pot Limit<br>
|
||||||
<TD>
|
fl=Fixed Limit</P></TD>
|
||||||
<p>nl=No
|
|
||||||
Limit</P>
|
|
||||||
<p>cn=Cap
|
|
||||||
No Limit</P>
|
|
||||||
<p>pl=Pot
|
|
||||||
Limit</P>
|
|
||||||
<p>cp=Cap
|
|
||||||
Pot Limit</P>
|
|
||||||
<P>fl=Fixed Limit</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>small_blind</P></TD>
|
<TD><P>small_blind</P></TD>
|
||||||
|
@ -229,8 +166,7 @@ autorates</B></P>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>big_blind</P></TD>
|
<TD><P>big_blind</P></TD>
|
||||||
<TD><P>int</P></TD>
|
<TD><P>int</P></TD>
|
||||||
<TD><P><BR></P>
|
<TD><P><BR></P></TD>
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD><P>small_bet</P></TD>
|
<TD><P>small_bet</P></TD>
|
||||||
|
@ -271,109 +207,50 @@ autorates</B></P>
|
||||||
<p><B>Table hands</B></P>
|
<p><B>Table hands</B></P>
|
||||||
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>Field Name</P></TD>
|
||||||
<P>Field Name</P>
|
<TD><P>Type</P></TD>
|
||||||
</TD>
|
<TD><P>Comment</P></TD>
|
||||||
<TD>
|
|
||||||
<P>Type</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>Comment</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>id</P></TD>
|
||||||
<P>id</P>
|
<TD><P>bigint</P></TD>
|
||||||
</TD>
|
<TD><P><BR></P></TD>
|
||||||
<TD>
|
|
||||||
<P>bigint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P><BR>
|
|
||||||
</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>site_hand_no</P></TD>
|
||||||
<P>site_hand_no</P>
|
<TD><P>bigint</P></TD>
|
||||||
</TD>
|
<TD><P>the site's hand number</P></TD>
|
||||||
<TD>
|
|
||||||
<P>bigint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>the site's hand number</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>gametype_id</P></TD>
|
||||||
<P>gametype_id</P>
|
<TD><P>smallint</P></TD>
|
||||||
</TD>
|
<TD><P>references gametypes.id</P></TD>
|
||||||
<TD>
|
|
||||||
<P>smallint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>references gametypes.id</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>hand_start</P></TD>
|
||||||
<P>hand_start</P>
|
<TD><P>datetime (in UTC)</P></TD>
|
||||||
</TD>
|
<TD><P>start date&time of the hand</P></TD>
|
||||||
<TD>
|
|
||||||
<P>datetime (in UTC)</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>start date&time of the
|
|
||||||
hand</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>seats</P></TD>
|
||||||
<P>seats</P>
|
<TD><P>smallint</P></TD>
|
||||||
</TD>
|
<TD><P>number of used seats (ie. that got dealt cards)</P></TD>
|
||||||
<TD>
|
|
||||||
<P>smallint</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P>number of used seats (ie.
|
|
||||||
that got dealt cards)</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>comment</P></TD>
|
||||||
<P>comment</P>
|
<TD><P>text</P></TD>
|
||||||
</TD>
|
<TD><P><BR></P></TD>
|
||||||
<TD>
|
|
||||||
<P>text</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P><BR>
|
|
||||||
</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD><P>comment_ts</P></TD>
|
||||||
<P>comment_ts</P>
|
<TD><P>datetime (in UTC)</P></TD>
|
||||||
</TD>
|
<TD><P><BR></P></TD>
|
||||||
<TD>
|
|
||||||
<P>datetime (in UTC)</P>
|
|
||||||
</TD>
|
|
||||||
<TD>
|
|
||||||
<P><BR>
|
|
||||||
</P>
|
|
||||||
</TD>
|
|
||||||
</TR>
|
</TR>
|
||||||
</TABLE>
|
</TABLE>
|
||||||
<p><BR>
|
<p><BR></P>
|
||||||
</P>
|
<p><B>Table board_cards</B></P>
|
||||||
<p><B>Table
|
<p>cardX -> can be 1 through 5</P>
|
||||||
board_cards</B></P>
|
|
||||||
<p>cardX
|
|
||||||
-> can be 1 through 5</P>
|
|
||||||
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
<TABLE BORDER=1 CELLPADDING=2 CELLSPACING=0>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<TR VALIGN=TOP>
|
<TR VALIGN=TOP>
|
||||||
<TD>
|
<TD>
|
||||||
<P>Field Name</P>
|
<P>Field Name</P>
|
||||||
|
|
|
@ -259,7 +259,7 @@ class fpdb:
|
||||||
elif lines[i].startswith("db-host="):
|
elif lines[i].startswith("db-host="):
|
||||||
self.settings['db-host']=lines[i][8:-1]
|
self.settings['db-host']=lines[i][8:-1]
|
||||||
elif lines[i].startswith("db-databaseName="):
|
elif lines[i].startswith("db-databaseName="):
|
||||||
self.settings['db-database']=lines[i][16:-1]
|
self.settings['db-databaseName']=lines[i][16:-1]
|
||||||
elif lines[i].startswith("db-user="):
|
elif lines[i].startswith("db-user="):
|
||||||
self.settings['db-user']=lines[i][8:-1]
|
self.settings['db-user']=lines[i][8:-1]
|
||||||
elif lines[i].startswith("db-password="):
|
elif lines[i].startswith("db-password="):
|
||||||
|
@ -280,6 +280,7 @@ class fpdb:
|
||||||
self.db.disconnect()
|
self.db.disconnect()
|
||||||
|
|
||||||
self.db = fpdb_db.fpdb_db()
|
self.db = fpdb_db.fpdb_db()
|
||||||
|
#print "end of fpdb.load_profile, databaseName:",self.settings['db-databaseName']
|
||||||
self.db.connect(self.settings['db-backend'], self.settings['db-host'], self.settings['db-databaseName'], self.settings['db-user'], self.settings['db-password'])
|
self.db.connect(self.settings['db-backend'], self.settings['db-host'], self.settings['db-databaseName'], self.settings['db-user'], self.settings['db-password'])
|
||||||
#end def load_profile
|
#end def load_profile
|
||||||
|
|
||||||
|
@ -346,7 +347,7 @@ This program is licensed under the AGPL3, see docs"""+os.sep+"agpl-3.0.txt")
|
||||||
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
|
self.window = 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: pre-alpha, git25")
|
self.window.set_title("Free Poker DB - version: pre-alpha, git26")
|
||||||
self.window.set_border_width(1)
|
self.window.set_border_width(1)
|
||||||
self.window.set_size_request(950,400)
|
self.window.set_size_request(950,400)
|
||||||
self.window.set_resizable(True)
|
self.window.set_resizable(True)
|
||||||
|
|
|
@ -34,6 +34,7 @@ class fpdb_db:
|
||||||
self.database=database
|
self.database=database
|
||||||
self.user=user
|
self.user=user
|
||||||
self.password=password
|
self.password=password
|
||||||
|
#print "fpdb_db.connect, database:",database
|
||||||
if backend==self.MYSQL_INNODB:
|
if backend==self.MYSQL_INNODB:
|
||||||
import MySQLdb
|
import MySQLdb
|
||||||
self.db=MySQLdb.connect(host = host, user = user, passwd = password, db = database)
|
self.db=MySQLdb.connect(host = host, user = user, passwd = password, db = database)
|
||||||
|
|
|
@ -29,12 +29,12 @@ otherRaisedTurnFold: 0
|
||||||
otherRaisedRiver: 1
|
otherRaisedRiver: 1
|
||||||
otherRaisedRiverFold: 1
|
otherRaisedRiverFold: 1
|
||||||
|
|
||||||
wonWhenSeenFlop:
|
wonWhenSeenFlop: 0.0
|
||||||
wonAtSD:
|
wonAtSD: 0.0
|
||||||
|
|
||||||
stealAttemptChance:
|
stealAttemptChance: not yet implemented
|
||||||
stealAttempted:
|
stealAttempted: not yet implemented
|
||||||
foldBbToStealChance:
|
foldBbToStealChance: not yet implemented
|
||||||
foldedBbToSteal:
|
foldedBbToSteal: not yet implemented
|
||||||
foldSbToStealChance:
|
foldSbToStealChance: not yet implemented
|
||||||
foldedSbToSteal:
|
foldedSbToSteal: not yet implemented
|
||||||
|
|
Loading…
Reference in New Issue
Block a user