TOURNEY: DB.createOrUpdateTourney fills in missing fields now
This commit is contained in:
parent
40088d6cf3
commit
85cc5a5471
|
@ -2033,12 +2033,31 @@ class Database:
|
|||
|
||||
def createOrUpdateTourney(self, hand, source):#note: this method is used on Hand and TourneySummary objects
|
||||
cursor = self.get_cursor()
|
||||
cursor.execute (self.sql.query['getTourneyIdByTourneyNo'].replace('%s', self.sql.query['placeholder']),
|
||||
cursor.execute (self.sql.query['getTourneyByTourneyNo'].replace('%s', self.sql.query['placeholder']),
|
||||
(hand.siteId, hand.tourNo))
|
||||
columnNames=[desc[0] for desc in cursor.description]
|
||||
result=cursor.fetchone()
|
||||
|
||||
if result != None and len(result)==1:
|
||||
tourneyId = result[0]
|
||||
if result != None:
|
||||
expectedValues = ('comment', 'tourneyName', 'matrixIdProcessed', 'totalRebuyCount', 'totalAddOnCount',
|
||||
'prizepool', 'startTime', 'entries', 'commentTs', 'endTime')
|
||||
updateDb=False
|
||||
resultDict = dict(zip(columnNames, result))
|
||||
|
||||
tourneyId = resultDict["id"]
|
||||
if source=="TS":
|
||||
for ev in expectedValues :
|
||||
if getattr(hand, ev)==None and resultDict[ev]!=None:#DB has this value but object doesnt, so update object
|
||||
setattr(hand, ev, resultDict[ev])
|
||||
elif getattr(hand, ev)!=None and resultDict[ev]==None:#object has this value but DB doesnt, so update DB
|
||||
updateDb=True
|
||||
elif ev=="startTime":
|
||||
if (resultDict[ev] < hand.startTime):
|
||||
hand.startTime=resultDict[ev]
|
||||
if updateDb:
|
||||
cursor.execute (self.sql.query['updateTourney'].replace('%s', self.sql.query['placeholder']),
|
||||
(hand.entries, hand.prizepool, hand.startTime, hand.endTime, hand.tourneyName,
|
||||
hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount, hand.comment, hand.commentTs, tourneyId))
|
||||
else:
|
||||
if source=="HHC":
|
||||
cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']),
|
||||
|
@ -2046,8 +2065,8 @@ class Database:
|
|||
hand.startTime, None, None, None, None, None))
|
||||
elif source=="TS":
|
||||
cursor.execute (self.sql.query['insertTourney'].replace('%s', self.sql.query['placeholder']),
|
||||
(hand.tourneyTypeId, hand.tourNo, hand.entries, hand.prizepool,
|
||||
hand.startTime, hand.endTime, hand.tourneyName, hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount))
|
||||
(hand.tourneyTypeId, hand.tourNo, hand.entries, hand.prizepool, hand.startTime,
|
||||
hand.endTime, hand.tourneyName, hand.matrixIdProcessed, hand.totalRebuyCount, hand.totalAddOnCount))
|
||||
else:
|
||||
raise FpdbParseError("invalid source in Database.createOrUpdateTourney")
|
||||
tourneyId = self.get_last_insert_id(cursor)
|
||||
|
|
|
@ -3700,7 +3700,7 @@ class Sql:
|
|||
VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
|
||||
"""
|
||||
|
||||
self.query['getTourneyIdByTourneyNo'] = """SELECT t.id
|
||||
self.query['getTourneyByTourneyNo'] = """SELECT t.*
|
||||
FROM Tourneys t
|
||||
INNER JOIN TourneyTypes tt ON (t.tourneyTypeId = tt.id)
|
||||
WHERE tt.siteId=%s AND t.siteTourneyNo=%s
|
||||
|
@ -3714,8 +3714,7 @@ class Sql:
|
|||
"""
|
||||
|
||||
self.query['updateTourney'] = """UPDATE Tourneys
|
||||
SET tourneyTypeId = %s,
|
||||
entries = %s,
|
||||
SET entries = %s,
|
||||
prizepool = %s,
|
||||
startTime = %s,
|
||||
endTime = %s,
|
||||
|
|
|
@ -93,6 +93,8 @@ class TourneySummary(object):
|
|||
self.isDoubleOrNothing = False
|
||||
self.guarantee = 0
|
||||
self.gametype = {'category':None, 'limitType':None}
|
||||
self.comment = None
|
||||
self.commentTs = None
|
||||
|
||||
# Collections indexed by player names
|
||||
self.playerIds = {}
|
||||
|
@ -151,7 +153,9 @@ class TourneySummary(object):
|
|||
("SNG", self.isSng),
|
||||
("SATELLITE", self.isSatellite),
|
||||
("DOUBLE OR NOTHING", self.isDoubleOrNothing),
|
||||
("GUARANTEE", self.guarantee)
|
||||
("GUARANTEE", self.guarantee),
|
||||
("COMMENT", self.comment),
|
||||
("COMMENT TIMESTAMP", self.commentTs)
|
||||
)
|
||||
|
||||
structs = ( ("PLAYER IDS", self.playerIds),
|
||||
|
|
Loading…
Reference in New Issue
Block a user