diff --git a/docs/known-bugs-and-planned-features.txt b/docs/known-bugs-and-planned-features.txt index 675a8c4b..f2662710 100644 --- a/docs/known-bugs-and-planned-features.txt +++ b/docs/known-bugs-and-planned-features.txt @@ -1,9 +1,8 @@ todolist (db=database, imp=importer, tv=tableviewer) -Everything is subject to change. +Everything is subject to change and especially the order will often change. Patches for any of these or other features are very welcome, see readme-overview.txt for contacts. -alpha2 +alpha2 (release by 17Aug) ====== -CB, 2nd/3rd Barrel, fold to these -> actually calculate them printhand each and the 2/3 relevant printplayerflags respectively on ps-lhe-ring-successful-steal-by-cutoff.txt and ps-lhe-ring-call-3B-preflop-cb-no2b.txt auto-import seperate and improve instructions for update @@ -15,18 +14,21 @@ finish updating filelist return sng support update abbreviations.txt fix up bg colours in tv -ebuild symlink doesnt work -more automation in the ebuild, update install-in-gentoo.txt, set permissions in it -gentoo ebuild: USE dedicated, USE postgresql, copy docs +ebuild: symlink doesnt work, USE gtk, more automation, update install-in-gentoo.txt, set permissions in it, copy docs to correct place, use games eclass or whatever to get games group notice, print notice about install-in-gentoo.txt and mysql --config alpha3 ====== -anonymiser script to generate testdata without making a dozen find&replace all... remember to replace hand no by running no +check-raise/call-raise on all streets +anonymiser script to generate testdata without making a dozen find&replace all... remember to replace hand no with running no +table with data for graphs for SD/F, W$wSF, W$@SD SD/F, W$wsF, W$@SD too low as reported by daedal in 2+2 forum on 12/13aug -show database version error in GUI +show database version error in GUI and use fpdb_db class const for it, add it to title +split hud data generation into separate for loops and make it more efficient +fix bug that sawFlop/Turn/River gets miscalculated if someone is allin - might as well add all-in recognition for this before beta =========== +gentoo ebuild: USE postgresql optionally combine FB/FS and CB/2B/3B separate all gui and all processing into files that are named accordingly ensure that there is only one db handle flying around and that its state is handled properly, ie. by the GUI. i think that might be why we have to reconnect the DB in tableviewer. @@ -35,7 +37,6 @@ why do we have to reconnect in tv.read_names_clicked? implement error file in importer catch index error, type error, file not found error use different colours according to classification. -table with data for graphs for SD/F, W$wSF, W$@SD add stud, razz and tourney back to imp/tv but with less seperate codepathes move prepare-git.sh and create-release.sh to utils @@ -65,9 +66,9 @@ verify at least 2 or 3 sng hands no rush but before 1.0RC ======================== +recognise&handle all-in for CB etc. (mostly useful for NL/PL, in limit I would argue missing a chance due to lack of money is the same as missing it due to sneezing and clicking the wrong button) In many places there are unnecessary database accesses or it regenerates information it already had before or just generally does things in obscenely inefficient ways. Optimise this multi-select in bulk importer -move version into seperate file make option to use "traditional" labels, e.g. WtSD instead of SD/F HTMLify docs and validate them cut down action_types array size to appropriate length @@ -99,7 +100,7 @@ Probably PartyPoker for all or most supported games repair hands where the seat lines are missing, happens when observing at FTP flags for storing the reason for winning (best hi, tie for best low, etc.) to DB. not sure actually if this is such a good idea remember that there can be multiple reasons for the same player in the same hand windows integrated installer -benchmark properly on mysql innodb, mysql myisam, postgresql, sqlite, more? +benchmark properly on mysql innodb, postgresql, more? rename things like this: ClassName.methodName and variableName. do this on tables too. update codingstyle CLI (not ncurses, proper CLI) equivalent for fpdb.py optimise/simplify storing by creating the SQL statements depending on hand rather than calling different methods diff --git a/docs/status.txt b/docs/status.txt index 5aae18bc..3ab5fbf8 100644 --- a/docs/status.txt +++ b/docs/status.txt @@ -2,7 +2,7 @@ For all support please note that the tables WILL be changed, almost certainly wi If support for another site/game would encourage you to help with this software please let me know at steffen@sycamoretest.info. -IMPORTANT: git10 and below contain at least one significant bug that cause wrong data to be displayed. I wrote a new query script for testing so I can track this down. +IMPORTANT: There appears to be a bug in at least up to git34 in reading WtSD/W$wsF/W$SD Holdem/Omaha ring games on PokerStars ====================================== @@ -18,7 +18,7 @@ Broken - used to work, hardly tested. Needs to be updated to new infrastructure. Full Tilt Poker =============== -Not sure - it should import them, but I believe the table viewer won't work. Would be easy to fix I think, volunteers welcome. This used to work in a pre-alpha but basically was left behind during updates to the other stuff. +Might work - used to work and was very well test. It should import them (except HudData), but I believe the table viewer won't work. Would be easy to fix I think, volunteers welcome. This used to work in a pre-alpha but basically was left behind during updates to the other stuff. Other Sites =========== @@ -42,6 +42,12 @@ Regression Testing ================== The query scripts are done-ish, need to verify more data so it can be used in automated regression testing. +Database Backends +================= +- MySQL InnoDB is the default +- PostgreSQL should work but I haven't tried it. If it doesn't please let me know. +- MySQL ISAM won't be supported since it is not transactional + Legal ===== General: This will offer more or less the same kind of functionality as HM and PT so there shouldn't be any problem on any site that allows tracking. diff --git a/packaging/fpdb-1.0_alpha1_p27.ebuild b/packaging/fpdb-1.0_alpha1_p27.ebuild index e0ec86f6..773e8522 100644 --- a/packaging/fpdb-1.0_alpha1_p27.ebuild +++ b/packaging/fpdb-1.0_alpha1_p27.ebuild @@ -14,7 +14,7 @@ SRC_URI="mirror://sourceforge/fpdb/fpdb-alpha1-git27.tar.bz2" LICENSE="AGPL-3" SLOT="0" KEYWORDS="~amd64 ~x86" -#note: I would be very surprised if this doesnt work on other architectures, please send me your experiences +#note: this should work on other architectures too, please send me your experiences IUSE="" RDEPEND="virtual/mysql diff --git a/pyfpdb/fpdb.py b/pyfpdb/fpdb.py index e61cbffb..ec57bb93 100755 --- a/pyfpdb/fpdb.py +++ b/pyfpdb/fpdb.py @@ -347,7 +347,7 @@ This program is licensed under the AGPL3, see docs"""+os.sep+"agpl-3.0.txt") self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.connect("delete_event", self.delete_event) self.window.connect("destroy", self.destroy) - self.window.set_title("Free Poker DB - version: alpha1+, git33") + self.window.set_title("Free Poker DB - version: alpha1+, git34") self.window.set_border_width(1) self.window.set_size_request(950,400) self.window.set_resizable(True) diff --git a/pyfpdb/fpdb_db.py b/pyfpdb/fpdb_db.py index 221d0714..b9d5534c 100755 --- a/pyfpdb/fpdb_db.py +++ b/pyfpdb/fpdb_db.py @@ -289,7 +289,7 @@ class fpdb_db: thirdBarrelChance INT, thirdBarrelDone INT)""") - self.cursor.execute("INSERT INTO settings VALUES (33);") + self.cursor.execute("INSERT INTO settings VALUES (34);") self.cursor.execute("INSERT INTO sites VALUES (DEFAULT, \"Full Tilt Poker\", 'USD');") self.cursor.execute("INSERT INTO sites VALUES (DEFAULT, \"PokerStars\", 'USD');") self.db.commit() diff --git a/pyfpdb/fpdb_simple.py b/pyfpdb/fpdb_simple.py index 986a9eb2..91f647a7 100644 --- a/pyfpdb/fpdb_simple.py +++ b/pyfpdb/fpdb_simple.py @@ -1495,7 +1495,7 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings if someoneStole and (positions[player]=='B' or positions[player]=='S') and firstPfRaiserId!=player_ids[player]: street=0 - for count in range (len(action_types[street][player])):#finally individual actions + for count in range (len(action_types[street][player])):#individual actions if positions[player]=='B': myFoldBbToStealChance=True if action_types[street][player][count]=="fold": @@ -1522,11 +1522,14 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings myContBetChance=False myContBetDone=False - #calc CB + if PFR[player]: + myContBetChance=True + if raisedFlop[player]: + myContBetDone=True contBetChance.append(myContBetChance) contBetDone.append(myContBetDone) - result['contBetChance']=contBetDone + result['contBetChance']=contBetChance result['contBetDone']=contBetDone #now 2B @@ -1536,11 +1539,14 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings mySecondBarrelChance=False mySecondBarrelDone=False - #calc 2b + if contBetDone[player]: + mySecondBarrelChance=True + if raisedTurn[player]: + mySecondBarrelDone=True secondBarrelChance.append(mySecondBarrelChance) secondBarrelDone.append(mySecondBarrelDone) - result['secondBarrelChance']=secondBarrelDone + result['secondBarrelChance']=secondBarrelChance result['secondBarrelDone']=secondBarrelDone #now 3B @@ -1550,11 +1556,14 @@ def generateHudData(player_ids, category, action_types, actionTypeByNo, winnings myThirdBarrelChance=False myThirdBarrelDone=False - #calc 3b + if secondBarrelDone[player]: + myThirdBarrelChance=True + if raisedRiver[player]: + myThirdBarrelDone=True thirdBarrelChance.append(myThirdBarrelChance) thirdBarrelDone.append(myThirdBarrelDone) - result['thirdBarrelChance']=thirdBarrelDone + result['thirdBarrelChance']=thirdBarrelChance result['thirdBarrelDone']=thirdBarrelDone return result