git19 (REIMPORT needed) - updated everything to use new action counting method -> it half works, but fails to store (or print) a substantial proportion of the action_nos

removed bunch of commented prints from fpdb_parse
This commit is contained in:
steffen123
2008-08-08 22:03:43 +01:00
parent bf691fe9e7
commit 0e84dceb1f
16 changed files with 147 additions and 212 deletions
+8 -20
View File
@@ -28,7 +28,7 @@ def mainParser(db, cursor, site, category, hand):
lineStreets=[] #char, valid values: (predeal, preflop, flop, turn, river)
cardValues, cardSuits, boardValues, boardSuits=[],[],[],[]
antes, actionTypes, actionAmounts, seatLines, winnings, rakes=[],[],[],[],[],[]
antes, actionTypes, actionAmounts, actionNos, seatLines, winnings, rakes=[], [],[],[],[],[],[]
#part 1: read hand no and check for duplicate
siteHandNo=fpdb_simple.parseSiteHandNo(hand[0])
@@ -42,49 +42,36 @@ def mainParser(db, cursor, site, category, hand):
raise fpdb_simple.FpdbError("tourneys are only supported on PS right now")
siteTourneyNo=fpdb_simple.parseTourneyNo(hand[0])
buyin=fpdb_simple.parseBuyin(hand[0])
#print "Buyin:", buyin
fee=fpdb_simple.parseFee(hand[0])
#print "Fee:", fee
entries=-1 #todo: parse this
prizepool=-1 #todo: parse this
tourneyStartTime=handStartTime #todo: read tourney start time
#print "gametypeID:",gametypeID
fpdb_simple.isAlreadyInDB(cursor, gametypeID, siteHandNo)
#part 2: classify lines by type (e.g. cards, action, win, sectionchange) and street
fpdb_simple.classifyLines(hand, category, lineTypes, lineStreets)
#for i in range (len(hand)):
# print "i:",i,"lineTypes[i]:",lineTypes[i],"hand[i]:",hand[i]
#part 3: read basic player info
#3a read player names, startcashes
for i in range (len(hand)): #todo: use maxseats+1 here.
if (lineTypes[i]=="name"):
seatLines.append(hand[i])
#print "seatLines:",seatLines
#print "hand:",hand
names=fpdb_simple.parseNames(seatLines)
#print "names:",names
playerIDs = fpdb_simple.recognisePlayerIDs(cursor, names, siteID)
startCashes=fpdb_simple.parseCashes(seatLines, site)
fpdb_simple.createArrays(category, len(names), cardValues, cardSuits, antes, winnings, rakes, actionTypes, actionAmounts)
fpdb_simple.createArrays(category, len(names), cardValues, cardSuits, antes, winnings, rakes, actionTypes, actionAmounts, actionNos)
#3b remove people who sitout before cards are dealt (e.g. sitout instead of paying blinds)
#PS doesnt have a nameline for sitouts so for PS this can be skipped. havent tried FTP yet
#3c read positions
#3b read positions
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
positions = fpdb_simple.parsePositions (hand, names)
#part 4: take appropriate action for each line based on linetype
for i in range(len(hand)):
if (lineTypes[i]=="cards"):
#print "hand[i]:",hand[i]
fpdb_simple.parseCardLine (site, category, lineStreets[i], hand[i], names, cardValues, cardSuits, boardValues, boardSuits)
#print "cardValues:",cardValues
elif (lineTypes[i]=="action"):
fpdb_simple.parseActionLine (hand[i], lineStreets[i], names, actionTypes, actionAmounts, site)
fpdb_simple.parseActionLine (site, hand[i], lineStreets[i], names, actionTypes, actionAmounts, actionNos)
elif (lineTypes[i]=="win"):
fpdb_simple.parseWinLine (hand[i], site, names, winnings, isTourney)
elif (lineTypes[i]=="rake"):
@@ -99,7 +86,6 @@ def mainParser(db, cursor, site, category, hand):
fpdb_simple.parseAnteLine(hand[i], site, names, antes)
else:
raise fpdb_simple.FpdbError("unrecognised lineType:"+lineTypes[i])
#print "end of part4 cardValues:",cardValues,"cardSuits:",cardSuits
#part 5: final preparations, then call fpdb_save_to_db.saveHoldem with
# the arrays as they are - that file will fill them.
@@ -110,7 +96,7 @@ def mainParser(db, cursor, site, category, hand):
fpdb_simple.checkPositions(positions)
cursor.execute("SELECT limit_type FROM gametypes WHERE id=%s",(gametypeID, ))
limit_type=cursor.fetchone()[0] #todo: remove this unnecessary database access
limit_type=cursor.fetchone()[0]
fpdb_simple.convert3B4B(site, category, limit_type, actionTypes, actionAmounts)
totalWinnings=0
@@ -119,6 +105,7 @@ def mainParser(db, cursor, site, category, hand):
hudImportData=fpdb_simple.calculateHudImport(playerIDs, category, actionTypes, winnings, totalWinnings)
if isTourney:
raise fpdb_simple.FpdbError ("tourneys are currently broken")
payin_amounts=fpdb_simple.calcPayin(len(names), buyin, fee)
ranks=[]
for i in range (len(names)):
@@ -142,8 +129,9 @@ def mainParser(db, cursor, site, category, hand):
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
result = fpdb_save_to_db.ring_holdem_omaha(cursor, category, siteHandNo, gametypeID,
handStartTime, names, playerIDs, startCashes, positions, cardValues,
cardSuits, boardValues, boardSuits, winnings, rakes, actionTypes, actionAmounts, hudImportData)
cardSuits, boardValues, boardSuits, winnings, rakes, actionTypes, actionAmounts, actionNos, hudImportData)
elif (category=="razz" or category=="studhi" or category=="studhilo"):
raise fpdb_simple.FpdbError ("stud/razz are currently broken")
result = fpdb_save_to_db.ring_stud(cursor, category, siteHandNo, gametypeID,
handStartTime, names, playerIDs, startCashes, antes, cardValues,
cardSuits, winnings, rakes, actionTypes, actionAmounts, hudImportData)