* 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
This commit is contained in:
parent
a7f3b1326f
commit
925db93157
|
@ -1967,6 +1967,53 @@ class Database:
|
|||
#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
|
||||
c = self.get_cursor()
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<FreePokerToolsConfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FreePokerToolsConfig.xsd">
|
||||
|
||||
<import callFpdbHud = "True" interval = "10" fastStoreHudCache="False" hhArchiveBase="~/.fpdb/HandHistories/" saveActions="True" cacheSessions="True"></import>
|
||||
<import callFpdbHud = "True" interval = "10" fastStoreHudCache="False" hhArchiveBase="~/.fpdb/HandHistories/" saveActions="True" cacheSessions="False"></import>
|
||||
|
||||
<!-- These values determine what stats are displayed in the HUD
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
config_difficulty="expert"
|
||||
/>
|
||||
|
||||
<import callFpdbHud = "True" interval = "10" fastStoreHudCache="False" hhArchiveBase="~/.fpdb/HandHistories/" saveActions="True" cacheSessions="True"></import>
|
||||
<import callFpdbHud = "True" interval = "10" fastStoreHudCache="False" hhArchiveBase="~/.fpdb/HandHistories/" saveActions="True" cacheSessions="False"></import>
|
||||
|
||||
<gui_cash_stats>
|
||||
<col col_name="game" disp_all="True" disp_posn="True" col_title="Game" xalignment="0.0" field_format="%s" field_type="str" />
|
||||
|
|
|
@ -279,6 +279,9 @@ db: a connected Database object"""
|
|||
def updateHudCache(self, db):
|
||||
db.storeHudCache(self.dbid_gt, self.dbid_pids, self.startTime, self.stats.getHandsPlayers())
|
||||
|
||||
def updateSessionsCache(self, db):
|
||||
db.storeSessionsCache(self.dbid_pids, self.startTime, self.stats.getHandsPlayers())
|
||||
|
||||
def select(self, handId):
|
||||
""" Function to create Hand object from database """
|
||||
c = cnxn.cursor()
|
||||
|
|
|
@ -496,6 +496,13 @@ class Importer:
|
|||
hand.updateHudCache(self.database)
|
||||
self.database.commit()
|
||||
|
||||
# Call sessionsCache update
|
||||
if self.cacheSessions:
|
||||
for hand in handlist:
|
||||
if hand is not None and not hand.is_duplicate:
|
||||
hand.updateSessionsCache(self.database)
|
||||
self.database.commit()
|
||||
|
||||
#pipe the Hands.id out to the HUD
|
||||
if self.caller:
|
||||
for hid in to_hud:
|
||||
|
|
Loading…
Reference in New Issue
Block a user