Commit Graph

160 Commits

Author SHA1 Message Date
steffen123
e46b0b7a0f renamed tourneyplayers to tourneysplayers in a few places 2010-06-21 17:12:20 +02:00
steffen123
e6fd3afbba renamed totalRebuys/AddOns to totalRebuyCount/AddOnCount 2010-06-21 16:45:15 +02:00
Worros
23ae26259b Steffen reported a FTP file in UTF-8 format.
Added it as the 3rd codec tested
2010-06-04 04:17:30 +08:00
Worros
6a17609040 FullTilt: Playernames can be 2 chars long
Found a hand history where the playername was 'OG'. The parser assumed player names were a minimum of 3 characters.
2010-03-02 15:51:40 +08:00
Gerko de Roo
af6dbc8d5f Copied same dead blind procedure from Pokerstars to Full Tilt 2010-02-18 22:32:53 +01:00
Gerko de Roo
35a604dcc6 Add support for posting dead small blind 2010-02-18 16:39:51 +01:00
Eratosthenes
64bfa9cd52 Import mucked cards. 2010-01-31 13:37:59 -05:00
Worros
28a7d1e353 Hopefully fully fix the FTP playername parsing.
Split hand text for FTP, as the regex matches the player names incorrectly, and differentiating the lines is non-trivial.

The split should ensure that only the first version is available
2010-01-28 23:38:52 +08:00
Eratosthenes
92e20bcd12 Add more chars to player name in prev commit. 2010-01-27 23:16:11 -05:00
Eratosthenes
d50e70fdd4 Another fix of FTP playername reg ex. 2010-01-27 20:10:07 -05:00
Worros
a9f2a261d4 Regex fix for Fulltilt player names
"Seat 7: moletrapper collected ($2.50)"
vs
"Seat 7: moletrapper ($2.50)"

The regex update should match the second and not the first.
2010-01-28 01:44:14 +08:00
Eratosthenes
2ad7e430a2 Merge branch 'master' of git://git.assembla.com/fpdboz 2010-01-27 09:49:14 -05:00
Eratosthenes
080b7f80c9 Compile the " collected" reg ex. 2010-01-27 09:23:12 -05:00
Worros
929e182a28 FulltiltToFpdb: Fix tourney player matching for players sitting out 2010-01-27 18:20:48 +08:00
Worros
8dea509245 FulltiltToFpdb: partially fix player ids
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry 'romatrifon (small blind) showed -1' for key 'name'")

Previous regex was matching past the name.
2010-01-27 18:02:30 +08:00
Eratosthenes
d75e5e3920 Fixed typos, pylint complaints, and obsolete TODOs. 2010-01-27 01:10:58 -05:00
Eratosthenes
30de5142db Ugly fix to ugly edge case where winner voluntarily showed cards. 2010-01-27 00:57:58 -05:00
unknown
a6b7292943 mostly None checkings fixed (== to is != to is not) 2009-11-03 14:30:52 -05:00
unknown
7667a39ded cleanup 2009-11-03 14:04:22 -05:00
Worros
d36d8f4249 From 7d5a3e81a5d41298ab1fa4d57bef25862a167350 Mon Sep 17 00:00:00 2001
From: lucktard <ntogden@gmail.com>
Date: Wed, 30 Sep 2009 12:16:06 -0500
Subject: [PATCH] Detect and import capped 6 max hands on FullTilt

and

From b35d23aba38935406cf1522ae07a49cd441318b3 Mon Sep 17 00:00:00 2001
From: lucktard <ntogden@gmail.com>
Date: Wed, 30 Sep 2009 12:21:34 -0500
Subject: [PATCH] Detect deep 6 max tables for HUD on FT
2009-10-01 10:49:59 +08:00
Eric Blade
226153f15f Revert "FTtoFPDB: readBlinds: cleanup exception handler"
This reverts commit 0938afb882.

Conflicts:

	pyfpdb/FulltiltToFpdb.py
2009-09-16 01:40:43 -05:00
Eric Blade
05267db38a i hate git, i hate git, yes i do 2009-09-16 01:36:34 -05:00
Eric Blade
fbceb6d7af bypass the changes made in readBlinds which somehow broke the hell out of stuff 2009-09-16 01:28:28 -05:00
Eric Blade
ded05cb290 put the regex search back into the try: in FT readBlinds() because it broke FL games somehow 2009-09-16 00:54:29 -05:00
Eric Blade
0938afb882 FTtoFPDB: readBlinds: cleanup exception handler
also deal with finishPositions not being accurate, by printing a message to that effect, instead of crashing an import
2009-09-15 23:32:23 -05:00
PassThePeas
4853b888a6 Correct oddity : self.status = status = self.getPlayersPosit... and status unused 2009-09-03 07:51:05 +02:00
PassThePeas
025c81b1e1 Tourney parsing : payinAmounts, countRebuys, countAddons and countKO are now defined by player (instead of being attached to the Tourney for Hero) 2009-09-03 02:11:38 +02:00
PassThePeas
4a0b2274f8 Tourney parsing : Use of "Decimal" insted of float2int / Handle amounts in cents four Tourney Object 2009-09-01 23:46:46 +02:00
PassThePeas
b00a58249f Tourney import : tRecogniseTourneyType implemented
modified:   Database.py
	* tRecogniseTourneyType : implemented
	modified:   FulltiltToFpdb.py
	* buyin, fee, rebuyAmount, addOnAmount : converted using fpdb_simple.float2int
	modified:   SQL.py
	* Added queries for Database.tRecogniseTourneyType (getTourneyTypeIdByTourneyNo modified to return all data, getTourneyTypeId and insertTourneyTypes added)
2009-09-01 02:35:52 +02:00
PassThePeas
b85f8ec155 Some fixes in FTP summary parsing and preparations for summary import in DB. No behaviour change expected
modified:   FulltiltToFpdb.py
	* Tourney Summary File parsing : add support for Madness tourneys
	* HH file parsing : enhance Tourney topline parsing to retrieve some info (HU, Rebuy, KO, Turbo, ...) and store it into Hand object
	modified:   Hand.py
	* Some attributes added to store tourney specific info
	modified:   SQL.py
	* Add a new request (getTourneyTypeIdByTourneyNo) to help finding a tourney already in db (preparation for Tourney Summary import)
	modified:   Tourney.py
	* Attribute tourneyComment added
	modified:   fpdb_parse_logic.py
	* Change parameters in call of fpdb_simple.recogniseTourneyTypeId
	modified:   fpdb_simple.py
	* recogniseTourneyTypeId : signature changed to allow for the search of a tourney id already in db prior to searching for tourneyTypeId
2009-08-26 01:13:34 +02:00
Ray
cb8bc13ceb Allow self.codepage to be a list of codecs to try. 2009-08-23 19:40:39 -04:00
Ray
2e0c743671 Detect and skip HHs flagged as partial. 2009-08-23 15:02:00 -04:00
Ray
4065eebabe Merge branch 'master' of git://git.assembla.com/fpt_fpdb 2009-08-21 19:31:58 -04:00
PassThePeas
4a1dd26db3 First attempt to parsing summary files from FTP
modified:   FulltiltToFpdb.py
		* Modified re_HandInfo regex to take into account Matrix Tournament Hands Histories
		* Add Regex for Tourney Summaries files parsing
		* New methods : readSummaryInfo, determineTourneyType, getPlayersPositionsAndWinnings

	modified:   HandHistoryConverter.py
		* Add a Tourney object in the attributes to allow storing the summary info retrieved and the ability to hand it over after parsing
		* Add a new attribut parsedObjectType (string : "HH" or "Summary")
		* In follow = False mode : read the first line to swicth between HH & Summary parsing
		* TO DO : Deal with parsing summary files in follow = True mode
		* New methods added : isSummary, getParsedObjectType (to be called in fpdb_import), readSummaryInfo : abstract (to be implemented in each specific HHC), getTourney (returns the new attribute)

	new file:   Tourney.py
		* New object
		* Lots of attributes regarding the tourney info (buy-in, fee, entries, speed, Rebuy/add-on info, starting chips, KnockOut info, isHeadsUp, isShootout, isMatrix, ...
		* List of players with finishing positions (when available) and winnings (when available)
		* Methods :
		  ** addPlayer(self, rank, name, winnings)
		  ** incrementPlayerWinnings(self, name, additionnalWinnings): used for KO tourneys when KO occured (for Hero only)
		  ** calculatePayinAmount : unused yet, should be necessary for DB storage
		  ** some Hand methods copied that are still to be done including : assemble and insert
		  ** TO DO : write the insert method for the object to be stored in DB. This will have to deal with the fact that the DB write can occur both before (Bulk Import) or after the HH file info has been stored (tourney might or might not already exist)

	modified:   fpdb_import.py
		* import_file_dict modified :
		  ** after the construction of the hhc, it now calls the new getParsedObjectType method of HHC in order to know what has been parsed by the HHC
		  ** If it's a hand history file (actual expected behaviour) : do as before
		  ** If it's a summary file, gets the tourney object that has been built from the hhc and calls the insert method on it (similar to NEWIMPORT=True for HH)
2009-08-22 00:09:34 +02:00
Ray
4a794f7f7a Merge branch 'master' of git://git.assembla.com/fpt_fpdb 2009-08-20 12:21:59 -04:00
PassThePeas
e403c18780 Patch the readPlayerStacks : different behaviours between tourney and ring hands
modified:   FulltiltToFpdb.py
In tourneys, players sitting out are considered as in the hand. That's not the case in ring games.
2009-08-18 21:17:00 +02:00
grindi
b8af93efb5 Merge branch 'master' of git://git.assembla.com/fpt_fpdb
Conflicts:
	pyfpdb/FulltiltToFpdb.py
2009-08-18 13:47:11 +04:00
PassThePeas
c5aedf321f Modification to FulltiltToFpdb.py mostly for tourneys contexts
modified:   FulltiltToFpdb.py
- Sitting out players are no longer considered out of a hand (in a tourney context, they can act even if out at the beggining of the hand)
- re_CollectPot modified to take into account Tournament context (no $ in the pot)
- Try to read buy-in/fee from topline in Tournament context
- Deal with commas in pot size (readCollectPot)
2009-08-16 20:01:36 +02:00
grindi
40b8ce799b Merge branch 'master' of git://git.assembla.com/free_poker_tools 2009-08-15 21:53:34 +04:00
Ray
46085cba5d Repair missing line in regex, comment out skipping tournaments. 2009-08-15 13:30:31 -04:00
grindi
442d96b862 Removed hack in FTP parser 2009-08-12 14:30:54 +04:00
grindi
dd17155aa9 Fixed bug 7 ( http://trac-git.assembla.com/free_poker_tools/ticket/7 ) 2009-08-12 12:47:18 +04:00
Matt Turnbull
a32d4e053a FulltiltToFpdb handles canceled hands
Better exception handling during parsing
FpdbParseEcxeption takes an optional HID
Stripped pointless __init__s from *ToFpdb subclasses
Logging now has logging.conf config - default is to log only INFO to
file but easily changed to DEBUG for devel work
2009-08-09 15:19:43 +01:00
eblade
f5ba0b5b7f Database: insert missing HandToWrite.payin_amounts var
EverleafToFpdb: remove DEBUG XXXXXXX line
FulltiltToFpdb: pass on converting tournament hands
Hand: add Hand.fee var that Database is looking for
fpdb_import: clean up file update scan code, queue files that have changed in the last 60 seconds for the next importer pass, instead of locking it up reading them now (not that this does anything since FT no longer updates the mtime until it closes the table, but maybe it works with Stars or others)
2009-07-30 21:50:08 -04:00
eblade
c400fd9ba7 FTtoFpdb: default buyin to $0.00+$0.00 and level to 0, they don't seem to be in the FT hh 2009-07-30 20:56:39 -04:00
Worros
68ac5ff554 Q&D hack to fix FTP file reads after update
Contributed by grindi on 2+2 http://forumserver.twoplustwo.com/showpost.php?p=12156328&postcount=166

Removes u'\xff\xfe' from the end of file if they exist.
2009-07-30 12:13:45 +08:00
Ray
94a030922a Clean up handling of mixed games on FTP. 2009-07-22 19:21:00 -04:00
Ray
b963ac0a3d Correct detection of hero in FTP stud games. 2009-07-22 14:06:05 -04:00
Ray
e7441021f2 Fix problem with detecting max on FullTilt. 2009-07-22 13:51:48 -04:00
Ray
9d803957cb Detect mixed games in FTP HH. Fix typos. 2009-07-22 10:24:29 -04:00
Ray
3e0b0e0873 Allow parsing of play money tables and fix some typos. 2009-07-22 08:54:30 -04:00
Ray
af19c3f365 Fix a bug in the Action regex. Thanks Carl. 2009-07-20 14:27:03 -04:00
Ray
10f454ae77 Guess maxseats when not supplied by SiteToFpdb. 2009-07-20 10:01:51 -04:00
Ray
3c64e67750 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-07-19 00:27:29 -04:00
Ray
cbbf820eb5 Add support for tournaments. 2009-07-18 21:33:00 -04:00
Ray
52ecc64505 Update to work with recent Hand.py changes. 2009-07-17 17:07:53 -04:00
Worros
34932c14ee Add index parameter to Plugins
Change constructor to HHC to accept an index arg, so that file reads can seek
2009-07-17 17:45:22 +08:00
Worros
1d6aed3250 Fix datetime.strptime v time.strptime issue 2009-06-09 22:53:09 +08:00
Worros
a261517175 Add additional siteids to db, move player select function 2009-06-01 17:14:31 +08:00
Matt Turnbull
a4ed3a2e68 (No function) Note about matching "FullTiltPoker" 2009-04-04 15:12:45 +01:00
Matt Turnbull
5cd5ad8fa6 Fix bug I introduced that caused empty hands corresponding to splits
between hands (blank lines) to be 'processed' by HHC in Everleaf, PS and
FTP converters.
2009-03-31 07:44:19 +01:00
Matt Turnbull
aca5dc9ed0 Parse another PokerStars datetime.
Make tail work:
  -log instead of print inode # change detected,
  -make sure splitter regexes have groups around them
  -fix a bug
  -increase buffering size to something >> a single hand

Conflicts:

	pyfpdb/HandHistoryConverter.py
2009-03-24 14:58:14 +00:00
Worros
40c17cffaa Recognise deep 6 tables at Full Tilt 2009-03-22 18:52:30 +09:00
Worros
1e788621a5 Merge branch 'master' of git://git.assembla.com/mctfpdb
Conflicts:

	pyfpdb/FulltiltToFpdb.py
2009-03-22 01:35:03 +09:00
Worros
86d350984e Dodgy 6 max fix to FTP converter 2009-03-22 01:31:36 +09:00
Matt Turnbull
e9fd354115 handinfo 2009-03-18 16:52:18 +00:00
Worros
6ebab06981 Make converters dynamically loadable in autoimport
Adds 1 restriction to the HHC sub classes, the classname must be the
same as the filename - ToFpdb.py

FulltiltToFpdb.py must contain a hhc class named Fulltilt
EverleafToFpdb.py must contain a hhc class named Everleaf
2009-03-14 05:00:12 +09:00
Worros
81df5a8919 Add Full Tilt flhe o supported games 2009-03-13 02:21:31 +09:00
Worros
d8a689b9fe Quick fix 2009-03-13 02:18:34 +09:00
Worros
76ca6beab0 Update Betfair importer a bit
No longer crashes on test file, but doesn't actually import anything
yet.
2009-03-12 15:17:46 +09:00
Worros
c582507b9f Quick fix for typo - Fixes FTP Razz import 2009-03-12 10:49:16 +09:00
Matt Turnbull
0058f47775 fulltilt razz. is this complete? can you check whether it imports? 2009-03-11 16:51:58 +00:00
Matt Turnbull
f714b25487 everleaf stud markstreets, antes, bringin
todo: completes
todo: strange pot bug :( maybe go away if we add bringin completes or
something
fulltilt: warning if bringin not found
2009-03-10 17:25:49 +00:00
Matt Turnbull
2c44d634f9 commit, time to pull carl's ftp stud stuff 2009-03-10 16:17:54 +00:00
Matt Turnbull
0dc1bafdeb gameinfo changes to fit db spec in docs/
some temporary bits, broken commit do not use.
2009-03-09 23:03:17 +00:00
Worros
da88e1b20c Merge branch 'master' of git://git.assembla.com/mctfpdb
Conflicts:

	pyfpdb/EverleafToFpdb.py
	pyfpdb/FulltiltToFpdb.py
2009-03-08 14:09:16 +09:00
Worros
b07823b372 Merge branch 'futz' from Matt
Conflicts:

	pyfpdb/EverleafToFpdb.py
	pyfpdb/FulltiltToFpdb.py
	pyfpdb/Hand.py
	pyfpdb/HandHistoryConverter.py
2009-03-08 00:43:33 +09:00
Worros
dee2c63a5d Syntax cleanups and optimisations 2009-03-07 23:35:52 +09:00
Worros
c505e98bcf Player regex interface updates from monkeyfutz 2009-03-07 18:06:52 +09:00
Matt Turnbull
ca6f6e513b message 2009-03-06 18:10:04 +00:00
Matt Turnbull
426b5c2db5 had a go at PokerStars -> PokerStars conversion...
fpt : bugfix
hand : DrawHand class, moved discardCards there
is 'studhi' = '7 Card Stud' in PokerStars string? was playing with
Natalie HORSE file
2009-03-06 01:24:38 +00:00
Worros
50a1ec1ccf Add logging function from futz 2009-03-05 01:46:01 +09:00
Worros
740fe92914 rename hand.string to hand.handText
Few other minor updates to match monkeyfutz
2009-03-05 00:10:08 +09:00
Worros
e8552023da Whitespace and comment updates from monkeyfutz 2009-03-04 23:29:13 +09:00
Matt Turnbull
7049a959ec I attempted to merge monkeyfutz into master.
Let me know how you get on.
I just remembered autoimport probably broken at this point, I have
changed the way HHC is called and only been testing standalone
filtering..
Just try it and then git checkout ^HEAD

Merge branch 'monkeyfutz'

Conflicts:

	pyfpdb/EverleafToFpdb.py
	pyfpdb/FulltiltToFpdb.py
	pyfpdb/Hand.py
2009-03-03 18:45:02 +00:00
Matt Turnbull
36befa43a8 More futzing
- made it so that Hand.__init__ calls the hhc readX methods in the right
  order for that kind of Hand (Stud or Holdem/Omaha)
- hhc.readX methods then callback Hand.addX methods
Why? WHY! I hear you ask. Actually I can see there's very little gain,
sorry about that; but it sort of makes sense. Now you just make the
right kind of Hand, give it the text and the right kind of HHC filter,
and it makes itself.
- apart from that, biggest actual thing done is probably in adding
  player cards for stud hands -- revamped and made it really clear (I
think) whats happening (see FullTilt.readStudPlayerCards)
When I run FullTiltToFpdf.py it goes through all the hands.
- Still have some print statements, have been changing them to
  logging.debug or logging.info as I come across them.
  You may find "tail -f logging.out" useful
Actually I'm not at all convinced about the use of logging except that
you can redirect it to stderr quite easily and then set the threshold
for what gets logged quite easily, so that might be a plus.
- Oh and the subclassing of Hand is getting clearer.
2009-03-02 21:48:30 +00:00
Worros
25ae39d7b5 Minor fixups: set->list and FullTilt lookup table 2009-03-03 00:10:15 +09:00
Worros
3fba85456c Fix button regex 2009-02-27 01:26:50 +09:00
Worros
6d862cff52 addPlayerCards done - now need to print it 2009-02-27 00:35:15 +09:00
Worros
440602198f Fix(?) HeroCards regex for stud 2009-02-26 01:48:41 +09:00
Worros
354a67c0e4 Some bringin code for stud/razz 2009-02-26 01:23:46 +09:00
Worros
a71be6ddd3 Add stud/razz ante for FullTilt converter 2009-02-26 00:45:46 +09:00
Matt Turnbull
65c34a7377 keeping Everleaf uptodate with FullSteamAhead changes
Also, made static regexes class-wide, so compile once on import
2009-02-25 14:35:28 +00:00
Matt Turnbull
abf489f0c6 need re.MULTILINE and not to have syntax errors 2009-02-25 14:14:42 +00:00
Matt Turnbull
bb4eece2f7 Merge branch 'master' of git://git.assembla.com/fpdboz
Only seemed to conflict the [ --> \[ in the HeroCards re

Conflicts:

	pyfpdb/FulltiltToFpdb.py
2009-02-25 12:36:45 +00:00
Worros
d500a9f9c5 More Razz - First pass through hh that doesn't crash 2009-02-25 21:34:05 +09:00
Matt Turnbull
8cccce512d regexs start at start of lines 2009-02-25 12:34:01 +00:00
Worros
3d9026da2c More razz updates 2009-02-25 19:32:12 +09:00
Worros
a4f0e9a1fd Fulltilt nlhe working, more razz stuff
Everleaf still broken - need to create/move button regex to new abstract
method
2009-02-25 02:05:51 +09:00
Worros
7fd90ce760 Thinko - use right regex 2009-02-25 01:27:10 +09:00