Commit Graph

216 Commits

Author SHA1 Message Date
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
Ray
0a1e6e57b5 Merge branch 'master' of git://git.assembla.com/fpdboz 2009-08-08 09:29:41 -04:00
grindi
25be578e7d Fixed imported hands accounting 2009-08-06 21:26:55 +04:00
grindi
30ae9da2df Fixed hung up on incorrect hand history 2009-08-06 19:15:55 +04:00
Worros
a37adde67e Catch up to Eric - fix markStreets regex 2009-08-06 11:30:21 +08:00
Ray
71aaf62c40 Fix my last fix of previous commit. 2009-08-05 23:25:43 -04:00
Ray
ee01deb852 Fix problem with previous commit. 2009-08-05 23:20:28 -04:00
Ray
74d64eca9b Uncomment the new lines to calculate some stats. 2009-08-05 19:11:46 -04:00
Worros
73e6666cbc Add auto folder creation to HHC
Contributed by grindi on 2+2 http://forumserver.twoplustwo.com/showpost.php?p=12156328&postcount=1666

Creates the sub folders of hhArchiveBase for placing the converted files in.
2009-07-30 11:40:16 +08:00
Ray
ba42a7c453 Get rid of debuggin output. 2009-07-22 19:27:12 -04:00
Ray
9d803957cb Detect mixed games in FTP HH. Fix typos. 2009-07-22 10:24:29 -04:00
Ray
10f454ae77 Guess maxseats when not supplied by SiteToFpdb. 2009-07-20 10:01:51 -04:00
Worros
d546557ef7 Make new db insert code "usable"
Next step, make the players insert. Function doesn't exist at the moment and crashes when NEWIMPROT set to true
2009-07-19 15:45:18 +08: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
0d5af4c974 Make Win2day client use updated readHeroCards api 2009-07-16 12:58:39 +08:00
Worros
83f21e822d Merge branch 'master' of git://git.assembla.com/mctfpdb
Conflicts:
	pyfpdb/fpdb_db.py
2009-07-15 23:09:25 +08:00
Worros
521e17f856 Add some boilerplate stuff for Boss Media/Win2day plugin 2009-07-15 12:22:46 +08:00
Matt Turnbull
35a5cffb77 Working on PS HORSE file now.. 2009-07-15 00:26:53 +01:00
Matt Turnbull
79ca83c95a Merge from ray, minor conflicts 2009-07-15 00:20:26 +01:00
Matt Turnbull
b252e350d6 fix my breakage.. 2009-07-14 23:34:47 +01:00
Ray
21d2276679 Get rid of intermediate hand obj print. 2009-07-06 12:01:39 -04:00
sqlcoder
0a7c340656 Added timing info for index drop/create. Some small mods to output during import (obviously just change any you don't like) 2009-06-07 22:21:58 +01:00
Matt Turnbull
b2ac60de82 tailhands also had the wrong regex. Corrected. 2009-04-02 21:20:41 +01:00
Matt Turnbull
d81627da3f Really fix handcount bug? 2009-04-02 21:16:36 +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
Matt Turnbull
51444f2ac4 print a showdown section if anyone showed any kind of hand (obv logic
not 100%, people can show cards without a showdown, but legacy importer
expects cards there, right?)

slight change to get through the horse test file
2009-03-14 15:02:23 +00:00
Worros
2d849c69e7 Refactor HHC call a bit, make sure out_fh gets closed 2009-03-13 00:31:29 +09:00
Worros
c523fce123 Merge branch 'master' of git://git.assembla.com/mctfpdb
Conflicts:

	pyfpdb/fpdb_import.py
2009-03-12 22:57:43 +09:00
Matt Turnbull
76e467a5d4 get rid of thread 2009-03-12 12:24:23 +00:00
Worros
2bb4593672 Compare determineGameType to readSupportedGames
Allows us to parse the header (and test it) and still skip the file.

May produce empty files in autoimport...
2009-03-12 19:43:28 +09:00
Matt Turnbull
cd3d4ef835 no longer 'safely' appends -- will now overwrite out_path. 2009-03-12 03:58:42 +00:00
Matt Turnbull
22df50327a Everleaf stud hands are passed if not instantiated with debugging=True
(this is default from cmdline but not from fpdb_import)
Eerleaf gametype tests... added one.
Everleaf action fixed to capture bet amounts, I hope. The 'complete to'
has a problematic . at the end, so we must handle
[ $ 1.40 USD ]
[ $ 1 USD ]
$1.40.
$1. (haven't seen this one yet)
Sorry I've kind of destroyed the sanityCheck thing, some of it belongs
in fpdb_simple where the paths are made. I've retained check for
in_path!=out_path.
2009-03-10 21:49:23 +00:00
Matt Turnbull
2c2d912c6e Merge branch 'master' of git://git.assembla.com/fpdboz
Conflicts:

	pyfpdb/EverleafToFpdb.py
	pyfpdb/Hand.py
	pyfpdb/HandHistoryConverter.py
2009-03-10 16:52:18 +00:00
Matt Turnbull
2c44d634f9 commit, time to pull carl's ftp stud stuff 2009-03-10 16:17:54 +00:00
Worros
88cadd36ad Fix Everleaf to start parsing 7 Card Stud games
Still missing readAntes
2009-03-11 00:57:13 +09:00
Worros
e87118e9ae Make PLO work on Everleaf again 2009-03-11 00:14:23 +09: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
d6b5f5d019 Merge branch 'master' of git://git.assembla.com/fpdb-eric
Conflicts:

	pyfpdb/Configuration.py
2009-03-09 19:22:54 +09: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
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
eblade
4f1697d390 HHC: fix missing second arg to determineGameType 2009-03-05 10:17:17 -05:00
Matt Turnbull
75dcf002f9 Configuration: _getframe(0) so that GuiAutoImport can run standalone
(stack not deep enough to go one deeper)
fpdb_import: Everleaf plumbing back in place.
GuiAutoImport.py: run standalone.
2009-03-05 01:12:15 +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
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
703fa40073 Merge branch 'master' of git://git.assembla.com/fpdboz
Conflicts:

	pyfpdb/Hand.py
2009-03-03 12:24:42 +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
Matt Turnbull
5c26bb028d Merge branch 'master' into monkeyfutz
Everleaf converts hands
Moved process hand logic into the hand subclass that knows what it
wants, it calls back to the hhc (which knows about the format) to populate itself

Conflicts:

	pyfpdb/EverleafToFpdb.py
	pyfpdb/Hand.py
	pyfpdb/HandHistoryConverter.py
2009-03-01 23:22:47 +00:00
Worros
3cf8239cc9 Fix bug inmporting Everleaf PLO 2009-03-01 23:05:21 +09:00
Matt Turnbull
7087ede374 temp commit 2009-02-27 18:42:53 +00:00
Matt Turnbull
da602b2908 temp 2009-02-26 15:36:23 +00:00
Matt Turnbull
0986e36648 work in progress!
- command line options
  Try the following
  ./Everleaf --help
  cat everleaf.txt | ./Everleaf -i - -o -
  Try using -i -, and pasting in a hand. Be aware it needs an EOF
<ctrl>-d (unless you specify --follow, which isn't done yet)
- HHC is a thread
- hand gametypes per hand
- lots of stupid little things just to cause trouble
- added logging

Not yet done:
- tail -f mode
- integration into fpdb_import. Two options for grand plan here:
  1)  recently modified files get a HHC filter attached
      when the HHC runs out of pipe it waits
      runUpdated finds modified files and notifies the thread
  2)  the thread follows independently, when it runs out of input it
sleeps and then tries again at intervals
I like both, 1) involves bigger changes to fpdb_import whilst with 2) we
just point the existing fpdb_import code at the filter output (the way
we currently do filtering has to be altered though)

Comments welcome of course.
2009-02-26 00:59:36 +00: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
Worros
8b9b77edb9 Merge branch 'master' of git://git.assembla.com/fpdb-eric 2009-02-25 20:40:55 +09:00
eblade
cda897608c EverleafToFpdb: should at least recognise Stud, once the HandInfo regex is fixed. Not that it'll do anything good with it.
HHC: return doing nothing but printing a warning message to output, if determineGameType() returns None
2009-02-25 06:01:44 -05:00
Worros
3d9026da2c More razz updates 2009-02-25 19:32:12 +09:00
Worros
dd6c23ad85 Move markStreets outside of if statement in main processing loop 2009-02-25 02:12:45 +09:00
Worros
b38c62367a Preliminary razz support for Fulltilt
Breaks stuff
2009-02-25 01:17:25 +09:00
Worros
232c0df33a determineGameType fixed for FTP, PLO working 2009-02-22 18:07:11 +09:00
Worros
baae7af5e0 Remove a tonne of debug, neaten output 2009-02-22 14:37:38 +09:00
Worros
5c6793d373 Add sanity check to HHC
Make sure input file and output file are different so we dont overwrite
the source.
2009-02-21 22:06:10 +09:00
eblade
824f6a3129 Merge branch 'master' of git://git.assembla.com/mctfpdb.git
Conflicts:
	pyfpdb/HandHistoryConverter.py
2009-02-20 15:58:00 -05:00
Matt Turnbull
483e177346 Explicit matching of player names
About the only place where we are guaranteed to get all the players'
names correctly is in the seating plan in the hand header. We extract
the names and build a regex that matches only the names. We only do this
if the current regex is out of date, to avoid recompiling them too
often.
I also did away with self.rexx because it seemed unnecessary and was
difficult to work with.
2009-02-20 16:29:52 +00:00
eblade
f0dc69250c Merge branch 'master' of git://git.assembla.com/fpdboz.git 2009-02-20 02:30:41 -05:00
Worros
e5ab933659 Fix major bug in fpdb_import
Hat tip to Eric
2009-02-20 16:06:22 +09:00
eblade
71b47c237a Merge branch 'master' of git://git.assembla.com/fpdboz.git
Conflicts:
	pyfpdb/HandHistoryConverter.py
2009-02-19 16:59:28 -05:00
eblade
14cf64f81b HHC will return without generating python errors if given an empty input, commented out echoing the input 2009-02-19 16:56:37 -05:00
Worros
08a4d568cc Fix parseHandStartTime for FullTilt
Doesn't come close to fixing Full Tilt tourneys as far as i can tell.
2009-02-20 02:26:29 +09:00
Worros
bc8f1b56b6 Remove Unicode mode from file read.
Hope this fixes the issue with Erics source file getting nuked
2009-02-19 22:58:29 +09:00
eblade
d2159b6430 changes to make auto-import recursive, and to get the converter thingee kind of working 2009-02-19 05:38:51 -05:00
Worros
6214131713 Small change - note we should error check 2009-02-05 18:50:50 +09:00
Worros
315d010311 Make Everleaf converter actually function.
Makes HandHistoryConverter actually write out a file to
$hhArchiveBase/sitename/

Adds code in importer call the functions in EverleafToFpdb
2009-02-05 18:28:18 +09:00
Matt Turnbull
58411a1ae3 use python datetime handling functions : strptime strftime 2008-12-16 23:23:33 +00:00
Matt Turnbull
1f1332b849 a bit more FTP; works? on 7 hand sample. No regression test of Everleaf
:(
2008-12-16 21:08:10 +00:00
Matt Turnbull
8bd58e849e some generality changes for FTP support 2008-12-16 17:14:37 +00:00
Matt Turnbull
988a7e3eb5 Added 'and is all-in' logic.
Altered to read actions in correct street order. hand.streetList must be
set correctly for different types of games.
2008-12-16 04:29:11 +00:00
Matt Turnbull
9c5d0f4598 Writes hands to stderr, miscellanous crap to stdout; usuable as cmdline
filter: ./Everleaf 'hhfile' 1>/dev/null 2>outfile

Holecards are sets -- should work on Omaha hi hands also.

Successfully imported Speed_Kuala_full.txt to fpdb.

Added gettext.

cards strings are handled a little better (one fewer regex)

Testfile can be supplied as first cmd line arg.
2008-12-15 23:56:19 +00:00
Matt Turnbull
3dbb0e8376 Everleaf uncalled bets; pot total; rake 2008-12-14 22:05:51 +00:00
Matt Turnbull
7926ac9def multiple 'collected pots' handles side pots, rake calculated from
totalbets - totalcollected.
2008-12-14 19:25:04 +00:00
Matt Turnbull
b34c0e1300 setting holecards for a player is now idempotent 2008-12-11 17:35:44 +00:00
Matt Turnbull
7500bcdf92 Everleaf sometimes shows the entire winning hand without reporting holecards seperately. 2008-12-11 17:31:58 +00:00
Matt Turnbull
dda88b76ba cosmetics, comments, some value checking
added mucked / folded / shown summary lines
2008-12-10 16:30:57 +00:00
Matt Turnbull
3ff2ec2106 removed read board cards from markStreets 2008-12-10 00:58:10 +00:00
Matt Turnbull
91105824bd wasn't printing bets
and fixed last fix
2008-12-10 00:48:45 +00:00
Matt Turnbull
c9cb2ea7dd takes care of weirdness with everleaf saying:
player folds
but also
player: bets

takes care of double spaces and other junk where stack size is usually reported.
2008-12-09 23:58:38 +00:00
Matt Turnbull
e8810839f9 bit less mess 2008-12-09 23:38:16 +00:00
Matt Turnbull
6b0dcc37d4 I set it up with Speed_Kuala_full.txt and now it's time to go through them all fixing the bugs. 2008-12-09 23:30:58 +00:00
Matt Turnbull
7ac433fede 2 decimal places for rake 2008-12-09 15:35:16 +00:00
Matt Turnbull
2d6412c8a7 pseudo stars! 2008-12-09 15:32:37 +00:00
Matt Turnbull
4f44eff3da getting somewhere, very messy, using pokereval, not sure if this is right direction, comments please 2008-12-08 06:23:50 +00:00
Matt Turnbull
72addde510 whitespace 2008-12-06 14:15:41 +00:00
Matt Turnbull
95f43dfd74 pot total and rake 2008-12-06 14:13:38 +00:00
Matt Turnbull
862502cdc0 Hand class keeping track of pot total / bet amounts
Began to turn hand.printHand into the writeHand method but this may not be necessary after all
2008-12-05 02:40:04 +00:00
Matt Turnbull
92656ae6a0 hole cards / community cards extracted and added to printout 2008-12-03 23:57:20 +00:00
Worros
fed3374901 Start output of action lines for Super class 2008-11-27 21:29:19 +09:00
Worros
b495387d94 Move Everleaf updates - action now parsed 2008-11-27 20:54:42 +09:00
Worros
55332d4983 More Everleaf updates, may have a functional regex for action in NLHE 2008-11-16 13:44:16 +09:00
Worros
6e182831ac Everleaf update - Holecards read 2008-11-12 14:12:18 +10:00
Worros
2bdc7f5057 Everleaf converter update - blinds posting 2008-11-11 18:54:24 +10:00
Worros
45b2b4b212 Fix sb/bb - no need to convert 2008-11-11 08:22:33 +10:00
Worros
d112c39c1c More Everleaf updates - parse player stacks and seats 2008-11-11 00:19:45 +10:00
Worros
da83795e5a Fix 'duh' error and grab button position 2008-11-10 23:29:49 +10:00
Worros
816a9e3b58 More Everleaf converter updates, now parsing some hand info 2008-11-10 23:02:56 +10:00
Worros
0bbf801d89 Bit more Everleaf 2008-11-10 16:41:04 +10:00
Worros
d4038c3f19 Lots of changes. Fixes the hud for auto-import - at least for me.
Does configer Importer to use the Config class.
2008-11-09 21:57:58 +10:00
Worros
c53d78491a Minor update to Carbon poker - read gametype + sb/bb 2008-11-09 16:27:27 +10:00
Worros
43f8620dea Remove FpdbRegex until functional 2008-11-09 15:33:42 +10:00
Worros
7bc686c859 Add Regex file pokerstars_cash.py from pokerstats package (http://bostik.iki.fi/pokerstats/)
Intend to turn into a class plugins can subclass and override the various regexes
2008-11-09 13:29:58 +10:00
Worros
f3224f87cc Add sanity check function, creates ~/.fpdb/HandHistories/<sitename> if it doens't exist.
Fixes hhbase and hhdir interpretation.
2008-11-09 12:58:46 +10:00
Worros
328bba2d23 Updates
- change HH object init call.
- override carbon readFile function and hack so minidom can read it
2008-11-09 10:46:14 +10:00
Worros
7df572895b Work on plugin initialisation, add Carbon poker plugin 2008-11-09 09:49:05 +10:00
Worros
70f9e6edca Make Everleaf actully inherit from the super class 2008-11-07 23:19:18 +13:00
Worros
7e41c73742 Add initial versions of Hand Converter class, and initial implementation. 2008-11-07 21:47:00 +13:00