Commit Graph

271 Commits

Author SHA1 Message Date
Worros
776405982b Quick fix for hud 2010-01-15 21:24:37 +08:00
Mika Bostrom
478b82587d Store names as UTF-8
The names should be always in UTF-8 encoding. At least for PostgreSQL
the encdoding of the database comes from the time of running 'initdb'
(which is different from 'createdb') and if the encoding was selected or
set to something else at that time, the following error will occur:

  File ".../pyfpdb/Database.py", line 1630, in <lambda>
    self.pcache = LambdaDict(lambda  key:self.insertPlayer(key, siteid))
  File ".../pyfpdb/Database.py", line 1661, in insertPlayer
    c.execute (q, (site_id, _name))
  File "/usr/lib/python2.5/encodings/iso8859_15.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2122' in
position 10: character maps to <undefined>

This happens because 'name' is a regular string as opposed to a valid
unicode object. By forcing the string to unicode and encoding it in
UTF-8 the error goes away. In my case the database encoding was
ISO-8859-15 (latin9) but any other "wrong" encoding would trigger the
same problem.

This is a relatively common problem in python.
2009-12-29 13:05:03 +08:00
Worros
46e91e1a0f [NEWIMPORT] Remove a couple of unused functions 2009-12-25 18:55:13 +08:00
Worros
0adf0a7b18 [NEWIMPORT] updateHudCache update.
Fix a couple of bugs:
    position != 2 its = 'M'
    actually commit changes to hud
2009-12-24 01:12:39 +08:00
Worros
a0475aa4db [NEWIMPORT] Add function to update hudcache for Hand 2009-12-23 23:14:34 +08:00
Worros
a2d0657b3a [NEWIMPORT] Remove unused functions
Move old HudCache update over in preparation for fixing
2009-12-23 13:56:18 +08:00
Worros
1b82f20411 [NEWIMPORT] Remove legacy code. 2009-12-22 14:44:35 +08:00
Worros
a2947c8707 [NEWIMPORT] Add stubbed variable to insert 2009-12-18 10:28:28 +08:00
Worros
975eb360ef [NEWIMPORT] Add stubbed variable to insert 2009-12-18 10:27:43 +08:00
Worros
1f70a9ad8a [NEWIMPORT] Fix thinko on insertPlayer
Was returning the player name instead of id in the case where the player exists in the database, but wasn't cached already

Removing some merge gunge too
2009-12-17 01:55:48 +08:00
Worros
56c5521e6a [NEWIMPORT] Move HandsPlayers insert statement into SQL.py 2009-12-14 18:01:24 +08:00
Worros
fb92ee2941 [NEWIMPORT] Stub remaining HandsPlayers stats 2009-12-14 17:52:08 +08:00
sqlcoder
ab89f9f603 show message dialog if pg connect fails 2009-12-12 09:51:07 +00:00
Worros
5f67fc8220 Merge branch 'master' of git://git.assembla.com/fpdb-eric 2009-12-07 12:10:56 +08:00
sqlcoder
18b0a47555 move print message to log 2009-12-05 22:20:44 +00:00
Eric Blade
abf132c719 Merge branch 'master' of git://git.assembla.com/fpdb-sql.git
Conflicts:
	pyfpdb/Database.py
2009-12-01 08:03:25 -05:00
Eric Blade
bec343abfd argh at whitespace churn, do i have my editor settings screwey?
trap error 2003 on mysql connect (same as 2002, but for tcp)
2009-12-01 06:58:33 -05:00
sqlcoder
f7ed06d071 improve rebuild hudcache and indexes dialogs 2009-11-30 21:43:29 +00:00
sqlcoder
00c85aa62d add rebuild indexes option to Database menu (can we put tooltips over these menu options?) 2009-11-29 23:02:45 +00:00
sqlcoder
65b372570f add some comments 2009-11-29 17:36:37 +00:00
sqlcoder
7f40d9dd3a change default for min_seats to 0 in case hc.activeSeats is zero 2009-11-28 11:48:06 +00:00
sqlcoder
b60895a89f merge from carl 2009-11-26 22:35:50 +00:00
sqlcoder
65fe163379 add ability to display hud stats by number of seats at table (All / Custom / Exact) 2009-11-26 21:28:05 +00: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
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
Worros
48c395565e [NEWIMPORT] Add HandsPlayers.totalProfit
Grapher now works after import yay
2009-11-24 17:29:54 +08:00
Worros
d617f1c4e0 [NEWIMPORT] Update Database.storeHandsPlayers 2009-11-24 16:39:59 +08: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
Mika Bostrom
615d1ea8a6 Add default style keys
It seems there is some weird way for stylekeys to remain unset. Catch
the special case and have a way to see why this happens.
2009-11-20 08:48:49 +02:00
sqlcoder
04c09af7b2 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
Eratosthenes
5021cae297 Clean up logging changes. 2009-11-09 19:30:23 -05:00
Eratosthenes
0bbbc7222b First go at rationalizing config paths and logging defaults. 2009-11-08 22:53:10 -05:00
Worros
5c7cce090e [NEWIMPORT] Added street0VPI to HandsPlayers
Also fixed last patch for streetXSeen
2009-11-06 19:30:50 +08:00
Worros
006d7164ea [NEWIMPORT] Insert streetXSeen col into HandsPlayers 2009-11-06 19:13:52 +08:00
Worros
5aef7b6054 [NEWIMPORT] Insert winnings column into HandsPlayers 2009-11-06 18:39:59 +08:00
Worros
bea6bf2d6b Merge branch 'master' of git://git.assembla.com/fpdb-mme
Conflicts:
	pyfpdb/Configuration.py
2009-11-05 12:22:05 +08:00
fpdb-mme
6d54da1c49 Merge branch 'master' of git://git.assembla.com/fpdboz
Conflicts:
	pyfpdb/Configuration.py
	pyfpdb/SQL.py

note:hopefully got the merge right
2009-11-04 18:34:28 +01:00
unknown
98981059cd Merge branch 'master' of git://git.assembla.com/free_poker_tools.git 2009-11-04 02:58:13 -05:00
Eratosthenes
0a563cad53 Added get_table_info method. 2009-11-03 21:51:10 -05:00
unknown
a6b7292943 mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
unknown
6bf1824ee7 clarify where some logged or printed messages were coming from exactly 2009-11-03 13:56:26 -05:00
fpdb-mme
9063d9749c removed all occurences of db_type/db-type 2009-11-03 19:18:51 +01:00
unknown
868a0b5bf0 getting stud tourney to not crash import:
fix call to storeHudCache in Database to use handStartTime rather than the undefined hand_start_time; stub out store_hands_players_stud_tourney as it looks like it was never updated to use current database setup. result: hud works, no longer crashes import, presumably does not store any hand info though.
HHC base guessMaxSeats returns existing value of maxseats if some prior code has set it somewhere already
2009-10-31 21:25:13 -04:00
Worros
636727ebb6 Start of Partouche support, shift NEWIMPORT functions 2009-10-30 14:35:45 +08:00
sqlcoder
b1d65dbadd default all values in hud_params when not passed into get_stats_from_hand 2009-10-24 20:01:24 +01:00
Mika Bostrom
616c07a4eb Merge branch 'master' of git://git.assembla.com/fpdboz 2009-10-21 20:29:44 +03:00
Mika Bostrom
b8f19741e0 Fix packaging issues
Affected files:
* Configuration.py
* Database.py
* HandHistoryConverter.py
* fpdb_import.py

and setup.py to a lesser extent.

Logging requires a configuration file when initialising the class. If we
are executing from outside the source tree, this file is not present.
Catch config parser's error and try to provide the logging config file
from debian package path.

Update symlink target to match python-support from latest Debian and the
oncoming Ubuntu versions.
2009-10-21 20:24:46 +03:00
sqlcoder
5beb033547 debug session stats 2009-10-18 12:19:22 +01:00
Worros
16d1f43c7e [NEWIMPORT] HandsPlayers.streetXAggr insert. 2009-10-14 23:55:51 +08:00
Worros
2350474d38 [NEWIMPORT] Start of HandsPlayers insert 2009-10-14 20:20:17 +08:00
Worros
f0f2bcda14 Merge branch 'master' of git://git.assembla.com/fpdb-sql 2009-10-14 12:06:01 +08:00
Worros
1fc015b09f [NEWIMPORT] Move db insert into SQL.py (store_hand) 2009-10-14 12:05:17 +08:00
sqlcoder
4b0a399ffd stop fpdb.py accessing fpdb_db directly 2009-10-13 21:53:51 +01:00
Worros
843bd754f6 [NEWIMPORT] Prep insert functions
Cleaned up storeHandsPlayers and added storeHudCacheNew

Haven't decided on the data structures to be passed in as yet so the functions only insert the bare minimum and have a list of commented out variables
2009-10-13 17:42:02 +08:00
Worros
00a8593631 Fix table re-create bug in fillDefaultData 2009-10-13 14:12:25 +08:00
Worros
1d0177f6d4 [NEWIMPORT] Finish up Hand import
Decided to leave streetXRaisesN alone for the moment
2009-10-13 14:04:19 +08:00
Worros
035b71b018 Merge branch 'master' of git://git.assembla.com/fpdb-sql 2009-10-12 10:20:22 +08:00
sqlcoder
b14fd2553c add some debug for session stats - I think there is a bug in here somewhere that makes it include too many hands sometimes ... 2009-10-11 23:34:05 +01:00
Worros
6d0ec5d831 [NEWIMPORT] Add playersAtStreetX to insert 2009-10-08 18:13:13 +08:00
Worros
cf6c3c8ad0 [NEWIMPOR] Fix playersVpi from last patch
Oops - forgot to add the argument
2009-10-08 18:07:54 +08:00
Worros
fdef5b12d9 Add playersVpi to NEWIMPORT code
Untested at the moment, moved the code from Hand.py into DerivedStats.
2009-10-06 18:30:52 +08:00
Worros
94af5b1ea8 Fix order bug for seats in NEWIMPORT 2009-10-06 12:08:20 +08:00
Worros
230eb32615 Merge branch 'master' of git://git.assembla.com/fpdb-sql 2009-10-06 11:11:58 +08:00
sqlcoder
8851b141a2 add dropdown to player name in filter 2009-10-05 22:12:35 +01:00
sqlcoder
5a0c83b60a debug session stats 2009-10-03 23:11:45 +01:00
Mika Bostrom
e4969820b8 Merge branch 'master' of git://trac-git.assembla.com/fpdb-sql 2009-09-30 20:27:17 +03:00
sqlcoder
2b7a42bf1d fix bug for tourneys in new code, modify part of hud menu to use checkmenuitems 2009-09-29 23:34:52 +01:00
Mika Bostrom
432c24173e Merge branch 'master' of git://trac-git.assembla.com/fpdb-sql 2009-09-29 09:11:33 +03:00
sqlcoder
16f8fffd68 add separate hud config for user and allow some user config in HUD menu (opponents still only via editing HUD_main.py) 2009-09-28 23:59:17 +01:00
Mika Bostrom
5260f5c384 Merge branch 'master' of git://trac-git.assembla.com/fpdb-sql
Conflicts:
	pyfpdb/Database.py

Resolve by reverting to sqlcoder's version; it uses the nice insert in
fillDefaultData for each case now and having the DB backends separate
might be good for the foreseeable future.
2009-09-28 18:07:08 +03:00
sqlcoder
b6ea02fd43 improve tourney importing 2009-09-28 00:44:55 +01:00
sqlcoder
7f47a753db cosmetic change to comment 2009-09-27 21:21:26 +01:00
sqlcoder
8353d0739b improve hudcache recalc when db is empty and avoid mysql long int problem 2009-09-27 13:36:45 +01:00
sqlcoder
01c33c26f8 fix tourneytypes insert for postgres again 2009-09-27 12:47:21 +01:00
sqlcoder
9a7d7267ff remove print 2009-09-27 10:42:33 +01:00
sqlcoder
6f75719ffe refine hero's player id derivation in empty db's 2009-09-27 02:06:07 +01:00
sqlcoder
c1711c4e2e refine new date option on hudcache rebuild 2009-09-27 01:42:26 +01:00
sqlcoder
e75d915120 allow hudcache rebuild to only start Hero's stats from chosen date :-) 2009-09-26 23:32:44 +01:00
sqlcoder
518fd9e039 merge from Eric 2009-09-26 11:45:05 +01:00
sqlcoder
ea74862a5a start changes to allow different hud choices for hero and opponents 2009-09-26 11:30:12 +01:00
sqlcoder
3d301718ae create/alter unique indexes and change inserts into tourneytypes and tourneysplayers 2009-09-25 23:10:58 +01:00
sqlcoder
a67830d92e 2 changes: move recognisePlayerIDs from fpdb_simple into Database, and make index on siteTourneyNo on Tourneys table unique and refine store_tourneys function to handle this 2009-09-24 02:12:04 -04:00
Mika Bostrom
6f536d29e7 Fix import on PostgreSQL
Database.py : fillDefaultData()

Remove manual 'id' from INSERT command. In database schema,
TourneyTypes.id is a primary key and thus autoincrement. In postgres,
autoincrements are implemented as sequences - inserting a value
"manually" bypasses the sequence generation, which resulted in a
remarkably weird error.

Namely, upon the first hand to import, the insert fails due to primary
key violation. The default value from an unused sequence is 1, but a
row with such an id already exists.

The solution is to create the single row of default data values with
unspecified TourneyTypes.id, hence allowing postgres to generate the
correct id from the sequence. This way the import works again.
2009-09-24 07:08:32 +03:00
sqlcoder
23f56ea2ae 2 changes: move recognisePlayerIDs from fpdb_simple into Database, and make index on siteTourneyNo on Tourneys table unique and refine store_tourneys function to handle this 2009-09-23 23:03:34 +01:00
Mika Bostrom
00f8b34fff Simplify database creation
Database.py : fillDefaultData()

Sql-coder had fixed the default data insert, and in the process changed
the default type ID. Since his works in general case, I can remove my
modifications.
2009-09-23 23:36:17 +03:00
Worros
a20bfe0921 Merge branch 'master' of git://git.assembla.com/fpdb-sql 2009-09-23 13:22:45 +08:00
Worros
4e361e383c Merge branch 'master' of git://repo.or.cz/fpbd-bostik 2009-09-23 13:22:35 +08:00
sqlcoder
e080ec3fd1 further fix to tourneytypes insert for postgres 2009-09-22 22:08:42 +01:00
sqlcoder
455e92e6f6 fix tourneytypes insert for postgres 2009-09-22 22:04:05 +01:00
Worros
89f86dd32b Merge branch 'master' of git://git.assembla.com/fpdb-eric 2009-09-22 12:35:11 +08:00
Mika Bostrom
1351cd6dd9 Use cleaner syntax in fillDefaultData 2009-09-21 15:31:19 +03:00
Worros
2cea6f01b9 Merge branch 'master' of git://repo.or.cz/fpbd-bostik 2009-09-19 19:25:01 +08:00
Worros
577beed942 Prep new function - commented out for the moment 2009-09-19 19:24:07 +08:00
Mika Bostrom
e54c45b7d1 Fix database creation with Postgres
* Database.py : fillDefaultData()

PostgreSQL has a rather annoying (mis)feature when dealing with boolean
data types: raw 1/0 input as integer is not automatically cast to
boolean values. Instead, one must use one of several other ways of
signifying true/false.
http://www.postgresql.org/docs/8.4/static/datatype-boolean.html
documents the available and understood formatting.

Fix by special-casing PostgreSQL and making all boolean values fed as
strings, '1' for true and '0' for false.
2009-09-19 11:44:06 +03:00
Eric Blade
a1783a37cb reflow init_hud_stat_vars exception handling 2009-09-15 21:04:00 -05:00