Merge branch 'master' of git://git.assembla.com/fpdboz.git
This commit is contained in:
commit
fcb04f879b
|
@ -149,6 +149,42 @@ class DerivedStats():
|
|||
for i, card in enumerate(hcs[:7], 1):
|
||||
self.handsplayers[player[1]]['card%s' % i] = Card.encodeCard(card)
|
||||
|
||||
# position,
|
||||
#Stud 3rd street card test
|
||||
# denny501: brings in for $0.02
|
||||
# s0rrow: calls $0.02
|
||||
# TomSludge: folds
|
||||
# Soroka69: calls $0.02
|
||||
# rdiezchang: calls $0.02 (Seat 8)
|
||||
# u.pressure: folds (Seat 1)
|
||||
# 123smoothie: calls $0.02
|
||||
# gashpor: calls $0.02
|
||||
# tourneyTypeId,
|
||||
# startCards,
|
||||
# street0_3BChance,street0_3BDone,
|
||||
# otherRaisedStreet1-4
|
||||
# foldToOtherRaisedStreet1-4
|
||||
# stealAttemptChance,stealAttempted,
|
||||
# foldBbToStealChance,foldedBbToSteal,
|
||||
# foldSbToStealChance,foldedSbToSteal,
|
||||
# foldToStreet1-4CBChance, foldToStreet1-4CBDone,
|
||||
# street1-4CheckCallRaiseChance, street1-4CheckCallRaiseDone,
|
||||
|
||||
# Additional stats
|
||||
# 3betSB, 3betBB
|
||||
# Squeeze, Ratchet?
|
||||
|
||||
|
||||
def getPosition(hand, seat):
|
||||
"""Returns position value like 'B', 'S', 0, 1, ..."""
|
||||
# Flop/Draw games with blinds
|
||||
# Need a better system???
|
||||
# -2 BB - B (all)
|
||||
# -1 SB - S (all)
|
||||
# 0 Button
|
||||
# 1 Cutoff
|
||||
# 2 Hijack
|
||||
|
||||
def assembleHudCache(self, hand):
|
||||
pass
|
||||
|
||||
|
|
|
@ -71,6 +71,8 @@ follow : whether to tail -f the input"""
|
|||
self.out_path = out_path
|
||||
|
||||
self.processedHands = []
|
||||
self.numHands = 0
|
||||
self.numErrors = 0
|
||||
|
||||
# Tourney object used to store TourneyInfo when called to deal with a Summary file
|
||||
self.tourney = None
|
||||
|
@ -135,17 +137,17 @@ Otherwise, finish at EOF.
|
|||
return
|
||||
|
||||
try:
|
||||
numHands = 0
|
||||
numErrors = 0
|
||||
self.numHands = 0
|
||||
self.numErrors = 0
|
||||
if self.follow:
|
||||
#TODO: See how summary files can be handled on the fly (here they should be rejected as before)
|
||||
log.info("Tailing '%s'" % self.in_path)
|
||||
for handText in self.tailHands():
|
||||
try:
|
||||
self.processHand(handText)
|
||||
numHands += 1
|
||||
self.numHands += 1
|
||||
except FpdbParseError, e:
|
||||
numErrors += 1
|
||||
self.numErrors += 1
|
||||
log.warning("Failed to convert hand %s" % e.hid)
|
||||
log.warning("Exception msg: '%s'" % str(e))
|
||||
log.debug(handText)
|
||||
|
@ -160,13 +162,13 @@ Otherwise, finish at EOF.
|
|||
try:
|
||||
self.processedHands.append(self.processHand(handText))
|
||||
except FpdbParseError, e:
|
||||
numErrors += 1
|
||||
self.numErrors += 1
|
||||
log.warning("Failed to convert hand %s" % e.hid)
|
||||
log.warning("Exception msg: '%s'" % str(e))
|
||||
log.debug(handText)
|
||||
numHands = len(handsList)
|
||||
self.numHands = len(handsList)
|
||||
endtime = time.time()
|
||||
log.info("Read %d hands (%d failed) in %.3f seconds" % (numHands, numErrors, endtime - starttime))
|
||||
log.info("Read %d hands (%d failed) in %.3f seconds" % (self.numHands, self.numErrors, endtime - starttime))
|
||||
else:
|
||||
self.parsedObjectType = "Summary"
|
||||
summaryParsingStatus = self.readSummaryInfo(handsList)
|
||||
|
|
|
@ -434,8 +434,12 @@ class Importer:
|
|||
self.pos_in_file[file] = hhc.getLastCharacterRead()
|
||||
|
||||
for hand in handlist:
|
||||
#try, except duplicates here?
|
||||
#hand.prepInsert()
|
||||
hand.insert(self.database)
|
||||
|
||||
errors = getattr(hhc, 'numErrors')
|
||||
stored = getattr(hhc, 'numHands')
|
||||
else:
|
||||
# conversion didn't work
|
||||
# TODO: appropriate response?
|
||||
|
|
|
@ -74,12 +74,52 @@ def testFlopImport():
|
|||
# """regression-test-files/tour/Stars/Flop/NLHE-USD-MTT-5r-200710.txt""", site="PokerStars")
|
||||
importer.addBulkImportImportFileOrDir(
|
||||
"""regression-test-files/cash/Stars/Flop/PLO8-6max-USD-0.01-0.02-200911.txt""", site="PokerStars")
|
||||
#HID - 36185273365
|
||||
# Besides the horrible play it contains lots of useful cases
|
||||
# Preflop: raise, then 3bet chance for seat 2
|
||||
# Flop: Checkraise by hero, 4bet chance not taken by villain
|
||||
# Turn: Turn continuation bet by hero, called
|
||||
# River: hero (continuation bets?) all-in and is not called
|
||||
importer.addBulkImportImportFileOrDir(
|
||||
"""regression-test-files/cash/Stars/Flop/NLHE-6max-USD-0.05-0.10-200912.Stats-comparision.txt""", site="PokerStars")
|
||||
importer.setCallHud(False)
|
||||
(stored, dups, partial, errs, ttime) = importer.runImport()
|
||||
print "DEBUG: stored: %s dups: %s partial: %s errs: %s ttime: %s" %(stored, dups, partial, errs, ttime)
|
||||
importer.clearFileList()
|
||||
|
||||
# Should actually do some testing here
|
||||
assert 1 == 1
|
||||
q = """SELECT
|
||||
s.name,
|
||||
g.category,
|
||||
g.base,
|
||||
g.type,
|
||||
g.limitType,
|
||||
g.hilo,
|
||||
round(g.smallBlind / 100.0,2) as sb,
|
||||
round(g.bigBlind / 100.0,2) as bb,
|
||||
round(g.smallBet / 100.0,2) as SB,
|
||||
round(g.bigBet / 100.0,2) as BB,
|
||||
s.currency,
|
||||
hp.playerId,
|
||||
hp.sawShowdown
|
||||
FROM
|
||||
Hands as h,
|
||||
Sites as s,
|
||||
Gametypes as g,
|
||||
HandsPlayers as hp,
|
||||
Players as p
|
||||
WHERE
|
||||
h.siteHandNo = 36185273365
|
||||
and g.id = h.gametypeid
|
||||
and hp.handid = h.id
|
||||
and p.id = hp.playerid
|
||||
and s.id = p.siteid"""
|
||||
c = db.get_cursor()
|
||||
c.execute(q)
|
||||
result = c.fetchall()
|
||||
print "DEBUG: result: %s" %result
|
||||
|
||||
|
||||
assert 1 == 0
|
||||
|
||||
def testStudImport():
|
||||
db.recreate_tables()
|
||||
|
|
Loading…
Reference in New Issue
Block a user