Commit Graph

3001 Commits

Author SHA1 Message Date
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
Mika Bostrom
c7342e4b0f Test the correct attribute
When testing for Tables.Table validity, we actually care about the
'number' attribute, because that gets passed around on create_HUD()
2009-11-25 15:31:45 +02:00
Eric Blade
97f79c3cc5 Merge branch 'master' of git://git.assembla.com/fpdboz.git 2009-11-25 08:24:23 -05:00
Eric Blade
0b4f5acec1 some weird whitespace churning, and again comment out "sending hand to hud" message 2009-11-25 08:22:14 -05:00
Mika Bostrom
a7163f5f8c Move return value outside try-finally block
The return value is for Glib/GTK event loop, so it should be after
try-finally sequence. The value needs to be returned every time and we
really like to have threads_enter()/threads_leave() to be invoked in
pairs.
2009-11-25 14:42:17 +02:00
Mika Bostrom
9e23346e5b Merge branch 'master' into hudfix 2009-11-25 14:41:01 +02:00
Mika Bostrom
5435c164f9 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-25 14:40:50 +02:00
Mika Bostrom
9c591da893 Saner exit for thread-unsafe code
It can't be right that we return from threads_enter() before releasing
the global lock. Exit works properly for failure (try-finally).
2009-11-25 11:10:34 +02:00
Worros
aee9a7339c [NEWIMPORT] Stop duplicate hands from crashing import 2009-11-25 16:29:30 +08:00
Worros
83f06c35cc [NEWIMPORT] HandsPlayers.CBet stats 2009-11-25 14:59:29 +08:00
Mika Bostrom
df8e0a5899 Merge branch 'master' into hudfix 2009-11-25 08:50:30 +02:00
Mika Bostrom
8d64a720c4 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-25 08:50:08 +02:00
Mika Bostrom
752e50ad4c Better test
Built-in function hasattr() deals with and hides the exception
2009-11-25 07:26:26 +02:00
Worros
30332d2132 Remove forced assert 2009-11-25 10:27:54 +08:00
Worros
1b2a45b77e Prefs: Fix display when a comment node exists in config 2009-11-25 09:06:01 +08:00
Mika Bostrom
92918df8c5 Attempt to catch the final race
Table attributes are pulled from database but the table window itself
may have disappeared. The search parameters no longer match because
there is no window title to match against, so some attributes are not
set at all.
2009-11-25 00:12:07 +02:00
sqlcoder
339a0133a9 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-24 19:51:21 +00:00
sqlcoder
02fd6d6bd0 add Preferences option on File menu 2009-11-24 19:50:48 +00:00
sqlcoder
c856824145 fix bug in save() and simplify it. Add get_doc() method 2009-11-24 19:46:57 +00:00
Mika Bostrom
4db9ec7e79 Merge branch 'master' into hudfix 2009-11-24 19:42:48 +02:00
Mika Bostrom
48930e1679 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-11-24 19:42:39 +02:00
Worros
a87a145c28 [NEWIMPORT] HandsPlayers.streetXCalls and streetXBets
Pretty sure the bets stat is wrong
2009-11-25 00:57:14 +08:00
Worros
3bb1656603 [NEWIMPORT] Add HandsPlayers.wonAtSD 2009-11-24 23:23:21 +08:00
Worros
9203e0b0d8 [NEWIMPORT] HandsPlayers.sawShowdown added 2009-11-24 23:14:43 +08:00
Worros
dc1b0d2e38 [NEWIMPORT] Calculate wonWhenSeenStreet1
Won is defined as 'collected money from the pot'

Seen street 1 does not require vpip on street 0
2009-11-24 21:58:27 +08:00
Eric Blade
9bf5017ff1 re-enable exception handling in idle_func() now that i know what we could expect to trap reasonably. Deal in update() with what might happen if update_table_position() fails 2009-11-24 06:08:43 -05:00
Worros
e9a858e4cd Make DEBUG = False in DerivedStats 2009-11-24 17:55:00 +08:00
Worros
48c395565e [NEWIMPORT] Add HandsPlayers.totalProfit
Grapher now works after import yay
2009-11-24 17:29:54 +08:00
Mika Bostrom
52d8578841 Try to fix HUD hangs 2009-11-24 10:57:03 +02:00
Mika Bostrom
175366934b Merge branch 'good' into hudfix 2009-11-24 10:56:07 +02:00
Worros
d65ee55b64 [NEWIMPORT] Calculate rake, make card calculation holdem only
Stud card fetching still terminally broken
2009-11-24 16:44:46 +08:00
Worros
d617f1c4e0 [NEWIMPORT] Update Database.storeHandsPlayers 2009-11-24 16:39:59 +08:00
Worros
ef9abd2948 Force all output from HHCs to by utf8 2009-11-24 11:21:55 +08:00
Eratosthenes
c1f599d555 Merge branch 'master' of git://git.assembla.com/fpdboz
Conflicts:
	pyfpdb/Configuration.py
	pyfpdb/HUD_main.py
2009-11-23 19:41:47 -05:00
Eratosthenes
ad91c0a526 Changes for logging. 2009-11-23 19:34:40 -05:00
Eratosthenes
bdc3248597 Changes for new logging scheme. 2009-11-23 19:32:19 -05:00
Eratosthenes
2da6e44a75 Changes for improved logging. 2009-11-23 19:29:56 -05:00
Eric Blade
a735ab67b2 stuck an error print in wintables if self.window doesn't exist 2009-11-23 10:24:38 -05:00
Eric Blade
32e7a28d2c Merge branch 'master' of git://git.assembla.com/fpdboz.git 2009-11-22 16:44:22 -05:00
Eric Blade
3e7a0ef53c remove all occurences of assigning sys.argv 2009-11-22 16:40:56 -05:00
Worros
34e7fb0459 [NEWIMPORT] Fix HandsPlayers.cardX init 2009-11-23 00:20:51 +08:00
Worros
943e188a4d [NEWIMPORT] Hole card data for flop games
Take some code from Grindi to calculate playersAtStreetX and streetXRaises
2009-11-23 00:05:23 +08:00
Worros
1650b76ea5 Merge branch 'master' of git://git.assembla.com/fpdb-eric 2009-11-22 13:07:49 +08:00
Eric Blade
19497dd480 Merge branch 'master' of git://git.assembla.com/fpdb-eric.git 2009-11-22 00:04:28 -05:00
Eric Blade
64d9a3582b 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.
Process: get crash info, add exception info to Exceptions.py, catch generic database exception in fpdb_db.py (around the connect line), throw correct Fpdb exception, then catch it in fpdb.py and do the appropriate thing on the GUI end.
2009-11-22 00:00:23 -05:00
Worros
d08e9a1ea3 Add support for UTF-8 HH type.
Able to parse and import an EUR hh file
2009-11-22 12:34:11 +08:00
Mika Bostrom
d2c25b6d28 Fix simple error in filter code
Other parts test that the object is valid before calling
.set_active(); follow convention to eliminate needless errors
2009-11-21 23:51:18 +02:00
Worros
14ccde73a2 Fix Playerstats for Pot Limit
Still broken for cap games. Need a more flexible mechanism for this
2009-11-21 11:16:08 +08:00
Worros
8d2b315fc8 Fix PL in Graph viewer
Grapher still doesn't support the cap games, that code could use some cleanout.
2009-11-21 11:11:31 +08:00
Worros
348420f30d Merge branch 'master' of git://repo.or.cz/fpbd-bostik 2009-11-20 21:28:05 +08:00