diff --git a/pyfpdb/Configuration.py b/pyfpdb/Configuration.py index 4e01b796..ed12f7a4 100644 --- a/pyfpdb/Configuration.py +++ b/pyfpdb/Configuration.py @@ -479,12 +479,13 @@ class Import: self.hhArchiveBase = node.getAttribute("hhArchiveBase") self.hhBulkPath = node.getAttribute("hhBulkPath") self.saveActions = string_to_bool(node.getAttribute("saveActions"), default=False) + self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions"), default=False) self.fastStoreHudCache = string_to_bool(node.getAttribute("fastStoreHudCache"), default=False) self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH"), default=False) def __str__(self): return " interval = %s\n callFpdbHud = %s\n hhArchiveBase = %s\n saveActions = %s\n fastStoreHudCache = %s\n" \ - % (self.interval, self.callFpdbHud, self.hhArchiveBase, self.saveActions, self.fastStoreHudCache) + % (self.interval, self.callFpdbHud, self.hhArchiveBase, self.saveActions, self.cacheSessions, self.fastStoreHudCache) class HudUI: def __init__(self, node): @@ -1259,6 +1260,9 @@ class Config: try: imp['saveActions'] = self.imp.saveActions except: imp['saveActions'] = False + + try: imp['cacheSessions'] = self.imp.cacheSessions + except: imp['cacheSessions'] = False try: imp['saveStarsHH'] = self.imp.saveStarsHH except: imp['saveStarsHH'] = False diff --git a/pyfpdb/Database.py b/pyfpdb/Database.py index c90b5fcb..b644cbd5 100644 --- a/pyfpdb/Database.py +++ b/pyfpdb/Database.py @@ -1966,6 +1966,53 @@ class Database: else: #print "DEBUG: Successfully updated HudCacho using UPDATE" pass + + def storeSessionsCache(self, pids, starttime, pdata): + """Update cached sessions. If update fails because no record exists, do an insert.""" + #In development + pass + + #update_sessionscache = self.sql.query['update_sessionscache'] + #update_sessionscache = update_sessionscache.replace('%s', self.sql.query['placeholder']) + #insert_sessionscache = self.sql.query['insert_sessionscache'] + #insert_sessionscache = insert_sessionscache.replace('%s', self.sql.query['placeholder']) + #merge_sessionscache = self.sql.query['merge_sessionscache'] + #merge_sessionscache = merge_sessionscache.replace('%s', self.sql.query['placeholder']) + + #print "DEBUG: %s %s %s" %(hid, pids, pdata) + #inserts = [] + #for p in pdata: + #line = [0]*5 + + #line[0] = 1 # HDs + #line[1] = pdata[p]['totalProfit'] + + #line[2] = pids[p] # playerId + #line[3] = sessionStart + #line[4] = sessionEnd + #inserts.append(line) + + + #cursor = self.get_cursor() + + #for row in inserts: + # Try to do the update first: + #num = cursor.execute(update_sessionscache, row) + #print "DEBUG: values: %s" % row[-3:] + # Test statusmessage to see if update worked, do insert if not + # num is a cursor in sqlite + #if ((self.backend == self.PGSQL and cursor.statusmessage != "UPDATE 1") + #or (self.backend == self.MYSQL_INNODB and num == 0) + #or (self.backend == self.SQLITE and num.rowcount == 0)): + #move the last 6 items in WHERE clause of row from the end of the array + # to the beginning for the INSERT statement + #print "DEBUG: using INSERT: %s" % num + #row = row[-3:] + row[:-3] + #num = cursor.execute(insert_sessionscache, row) + #print "DEBUG: Successfully(?: %s) updated HudCacho using INSERT" % num + #else: + #print "DEBUG: Successfully updated HudCacho using UPDATE" + #pass def isDuplicate(self, gametypeID, siteHandNo): dup = False diff --git a/pyfpdb/HUD_config.test.xml b/pyfpdb/HUD_config.test.xml index 556bbede..f62a13bf 100644 --- a/pyfpdb/HUD_config.test.xml +++ b/pyfpdb/HUD_config.test.xml @@ -2,7 +2,7 @@ - +