From 925db93157eb64152fbf8ddb8c5df94fa7848077 Mon Sep 17 00:00:00 2001 From: Chaz Date: Thu, 2 Dec 2010 01:58:02 -0500 Subject: [PATCH] * Added 'cacheSessions' flag * Added a cacheSessions update call to import_file_dict() in fpdb_import.py * Added updateSessionsCache() method to Hands * Added storeSessionsCache() to Database --- WORK IN PROGRESS and set to pass TO DOs - add sessions queries to SQL - complete storeSessionsCache() so it works like we've discussed (save for adding sessionId to HP) - add SessionsCache keys - add SessionsCache to the default table creation and deletion methods in Database.py - update storeSessionsCache() and all the relevant db & sql code so it writes a sessionId to HP --- pyfpdb/Database.py | 47 +++++++++++++++++++++++++++++++++++ pyfpdb/HUD_config.test.xml | 2 +- pyfpdb/HUD_config.xml.example | 2 +- pyfpdb/Hand.py | 3 +++ pyfpdb/fpdb_import.py | 7 ++++++ 5 files changed, 59 insertions(+), 2 deletions(-) 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 964be208..f62a13bf 100644 --- a/pyfpdb/HUD_config.test.xml +++ b/pyfpdb/HUD_config.test.xml @@ -2,7 +2,7 @@ - +