fpdb/pyfpdb
Mika Bostrom cb9e2cb6e7 Try to fix two HUD main hangs
The main HUD process can hang due to unhandled exceptions, which
occurred in two separate situations:

1. Table window is closed and HUD instance killed before auto-importer
knows about it
2. Sometimes the threading can jam

These changes attempt to counter the effect of race-conditions. The
dictionary key (table name) is properly tested at the beginning of
update/create block, *but* there are two short round-trips to database
before the key is used. While these occur, the HUD instance can vanish
and thus get its key removed from the dictionary.

Also, when Tables.Table() is created, it will be populated on-demand,
and have child attributes only when such are found from the system. The
new table code pulls in data from actual windows. Again, there is a
query involved and while it runs, the table may have vanished. This
ended up as an error in this call:

foo = gtk.gdk.window_foreign_new(table.number)

The object 'table' is valid (not None) but it has been populated only
after actual table window was killed. Therefore it may not have .number
attribute, which raised an AttributeError. Now the presence of
table.number attribute is tested before the object can be sent to
create_HUD().
2009-11-25 20:31:02 +02:00
..
AbsoluteToFpdb.py Remove BOM from AbsoluteToPoker.py 2009-09-06 22:40:27 +08:00
BetfairToFpdb.py clarify where some logged or printed messages were coming from exactly 2009-11-03 13:56:26 -05:00
CarbonToFpdb.py clarify where some logged or printed messages were coming from exactly 2009-11-03 13:56:26 -05:00
Card.py fix startCard calcs 2009-09-27 11:40:39 +01:00
Cards01.png Signed-off-by: fpdb-mme <jUrner@arcor.de> 2009-10-25 00:13:35 +02:00
Cards0-HMHUD.png new cards file 2009-03-10 20:31:09 -04:00
CliFpdb.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
Configuration.py Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-24 19:51:21 +00:00
Database.py [NEWIMPORT] Stop duplicate hands from crashing import 2009-11-25 16:29:30 +08:00
DatabaseManager.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
DerivedStats.py [NEWIMPORT] HandsPlayers.CBet stats 2009-11-25 14:59:29 +08:00
EverleafToFpdb.py Fix cli to Everleaf 2009-10-29 16:37:33 +08:00
Exceptions.py No longer mess with sys.argv (messing with system variables is a bad thing, right), use argv to determine pathname of executeable as sys.path[0] is just the first component of the path. also all database errors except MySQL reporting "Access Denied" should now crash FPDB, so someone can fill those into Exceptions, and into the fpdb_db and the fpdb files. 2009-11-22 00:00:23 -05:00
Filters.py Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-24 19:42:39 +02:00
fpdb_db.py No longer mess with sys.argv (messing with system variables is a bad thing, right), use argv to determine pathname of executeable as sys.path[0] is just the first component of the path. also all database errors except MySQL reporting "Access Denied" should now crash FPDB, so someone can fill those into Exceptions, and into the fpdb_db and the fpdb files. 2009-11-22 00:00:23 -05:00
fpdb_import.py Clean up logging changes. 2009-11-09 19:30:23 -05:00
fpdb_parse_logic.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
fpdb_simple.py small changes for sqlite 2009-10-28 20:12:03 +00:00
fpdb.py Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-24 19:51:21 +00:00
FpdbSQLQueries.py move most stuff from fpdb_db.py to Database.py and simplify db connections in fpdb_import 2009-07-28 23:58:10 +01:00
FulltiltToFpdb.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
GuiAutoImport.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
GuiBulkImport.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
GuiGraphViewer.py Fix PL in Graph viewer 2009-11-21 11:11:31 +08:00
GuiPlayerStats.py Fix Playerstats for Pot Limit 2009-11-21 11:16:08 +08:00
GuiPositionalStats.py make positional stats use Database.py 2009-07-19 18:28:13 +01:00
GuiPrefs.py Prefs: Fix display when a comment node exists in config 2009-11-25 09:06:01 +08:00
GuiSessionViewer.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
GuiTableViewer.py Signed-off-by: fpdb-mme <jUrner@arcor.de> 2009-10-25 00:13:35 +02:00
Hand.py [NEWIMPORT] Stop duplicate hands from crashing import 2009-11-25 16:29:30 +08:00
HandHistory.py Signed-off-by: fpdb-mme <jUrner@arcor.de> 2009-10-25 00:13:35 +02:00
HandHistoryConverter.py Force all output from HHCs to by utf8 2009-11-24 11:21:55 +08:00
Hello.py Added Hello_Seats to Hello.py. Demo of Aux_Seats class. 2009-06-30 11:45:14 -04:00
HUD_config.xml.example tidy up aggregation code, NOTE: renamed some aggregation config to try and make meaning clearer, updated aggregation description in .example 2009-11-17 21:47:43 +00:00
HUD_main.py Try to fix two HUD main hangs 2009-11-25 20:31:02 +02:00
HUD_run_me.py now sample code it works as expected 2009-11-05 01:26:32 +01:00
Hud.py Fixed another aux bug 2009-11-07 00:46:50 +03:00
interlocks.py fix: according to doctests os_independend_kill() is supposed to return None 2009-11-01 09:58:14 +01:00
logging.conf Only errors to stderr and console. 2009-09-03 22:40:06 +01:00
makeexe.bat add bat/py for making an exe. exe errors with "can't find module cairo". no idea how to fix. 2009-08-04 16:20:14 -04:00
makeexe.py add bat/py for making an exe. exe errors with "can't find module cairo". no idea how to fix. 2009-08-04 16:20:14 -04:00
Mucked.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
OnGameToFpdb.py Add additional siteids to db, move player select function 2009-06-01 17:14:31 +08:00
Options.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
PartyPokerToFpdb.py Party hhc tiny fixes 2009-10-31 17:53:31 +03:00
PokerStarsToFpdb.py Add support for UTF-8 HH type. 2009-11-22 12:34:11 +08:00
py2exe_setup.py Get logging.conf and matplotlib datafiles. 2009-11-09 22:02:50 -05:00
SQL.py fix a merge problem and replace to_char() for sqlite, player stats now working in sqlite :-) 2009-11-19 22:19:41 +00:00
Stats.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
SummaryEverleaf.py add "rebuy" button to TT 2009-08-21 00:48:26 -05:00
Tables_Demo.py Yet another try to fix missing X windows. Using xwininfo. 2009-11-16 15:35:58 -05:00
Tables.py mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
TableWindow.py Moved window title re to HHC classes 2009-11-07 20:30:47 +03:00
test_Betfair.py Add test file for betfair 2009-03-12 20:01:41 +09:00
test_Database.py Remove forced assert 2009-11-25 10:27:54 +08:00
test_Everleaf.py Make determineGameType return 'tour' of currency is T$ 2009-03-13 18:45:15 +09:00
test_fpdb_simple.py Fix tests 2009-06-09 23:08:18 +08:00
test_FullTilt.py FulltiltToFpdb handles canceled hands 2009-08-09 15:19:43 +01:00
test_PokerStars.py FulltiltToFpdb handles canceled hands 2009-08-09 15:19:43 +01:00
TournamentTracker.py remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
Tourney.py Last part of core tourney import 2009-09-04 02:01:41 +02:00
UltimateBetToFpdb.py Add index parameter to Plugins 2009-07-17 17:45:22 +08:00
upd_indexes.sql Signed-off-by: fpdb-mme <jUrner@arcor.de> 2009-10-25 00:13:35 +02:00
Win2dayToFpdb.py FulltiltToFpdb handles canceled hands 2009-08-09 15:19:43 +01:00
windows_make_bats.py merge from carl 2009-08-02 07:14:31 -04:00
WinTables.py fix get_geometry to use the correct parameters to IsWindow and GetWindowRect (too much error trapping will create pitfalls), use main_window.window instead of window_foreign_new() to get gdkhandle for gtkwindow, remove process enumeration in topify() for windows 2009-06-10 13:47:07 -04:00
XTables.py Yet another try to fix missing X windows. Using xwininfo. 2009-11-16 15:35:58 -05:00