Merge branch 'master' of git://git.assembla.com/fpdb-sql
This commit is contained in:
		
						commit
						a1b3259db9
					
				|  | @ -880,37 +880,12 @@ class FpdbSQLQueries: | |||
|         elif(self.dbname == 'SQLite'): | ||||
|             self.query['set tx level'] = """ """ | ||||
| 
 | ||||
|         ################################ | ||||
|         # Queries used in GuiGraphViewer | ||||
|         ################################ | ||||
| 
 | ||||
| 
 | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL'): | ||||
|             self.query['getPlayerId'] = """SELECT id from Players where name = %s""" | ||||
|         elif(self.dbname == 'SQLite'): | ||||
|             self.query['getPlayerId'] = """SELECT id from Players where name = %s""" | ||||
| 
 | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL'): | ||||
|             self.query['getSiteId'] = """SELECT id from Sites where name = %s""" | ||||
|         elif(self.dbname == 'SQLite'): | ||||
|             self.query['getSiteId'] = """SELECT id from Sites where name = %s""" | ||||
| 
 | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL') or (self.dbname == 'SQLite'): | ||||
|             self.query['getRingProfitAllHandsPlayerIdSite'] = """ | ||||
|                 SELECT hp.handId, hp.totalProfit, hp.totalProfit, hp.totalProfit | ||||
|                 FROM HandsPlayers hp | ||||
|                 INNER JOIN Players pl      ON hp.playerId     = pl.id | ||||
|                 INNER JOIN Hands h         ON h.id            = hp.handId | ||||
|                 INNER JOIN Gametypes g     ON h.gametypeId    = g.id | ||||
|                 where pl.id in <player_test> | ||||
|                 AND   pl.siteId in <site_test> | ||||
|                 AND   h.handStart > '<startdate_test>' | ||||
|                 AND   h.handStart < '<enddate_test>' | ||||
|                 AND   g.bigBlind in <limit_test> | ||||
|                 AND   hp.tourneysPlayersId IS NULL | ||||
|                 GROUP BY h.handStart, hp.handId, hp.totalProfit | ||||
|                 ORDER BY h.handStart""" | ||||
| 
 | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL')  or (self.dbname == 'SQLite'): | ||||
|             self.query['getGames'] = """SELECT DISTINCT category from Gametypes""" | ||||
|          | ||||
|  | @ -918,311 +893,6 @@ class FpdbSQLQueries: | |||
|             self.query['getLimits'] = """SELECT DISTINCT bigBlind from Gametypes ORDER by bigBlind DESC""" | ||||
| 
 | ||||
| 
 | ||||
|         #################################### | ||||
|         # Queries to rebuild/modify hudcache | ||||
|         #################################### | ||||
|          | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL')  or (self.dbname == 'SQLite'): | ||||
|             self.query['clearHudCache'] = """DELETE FROM HudCache""" | ||||
|          | ||||
|         if(self.dbname == 'MySQL InnoDB') or (self.dbname == 'PostgreSQL')  or (self.dbname == 'SQLite'): | ||||
|             self.query['rebuildHudCache'] = """ | ||||
|                 INSERT INTO HudCache | ||||
|                 (gametypeId | ||||
|                 ,playerId | ||||
|                 ,activeSeats | ||||
|                 ,position | ||||
|                 ,tourneyTypeId | ||||
|                 ,styleKey | ||||
|                 ,HDs | ||||
|                 ,wonWhenSeenStreet1 | ||||
|                 ,wonAtSD | ||||
|                 ,street0VPI | ||||
|                 ,street0Aggr | ||||
|                 ,street0_3BChance | ||||
|                 ,street0_3BDone | ||||
|                 ,street1Seen | ||||
|                 ,street2Seen | ||||
|                 ,street3Seen | ||||
|                 ,street4Seen | ||||
|                 ,sawShowdown | ||||
|                 ,street1Aggr | ||||
|                 ,street2Aggr | ||||
|                 ,street3Aggr | ||||
|                 ,street4Aggr | ||||
|                 ,otherRaisedStreet1 | ||||
|                 ,otherRaisedStreet2 | ||||
|                 ,otherRaisedStreet3 | ||||
|                 ,otherRaisedStreet4 | ||||
|                 ,foldToOtherRaisedStreet1 | ||||
|                 ,foldToOtherRaisedStreet2 | ||||
|                 ,foldToOtherRaisedStreet3 | ||||
|                 ,foldToOtherRaisedStreet4 | ||||
|                 ,stealAttemptChance | ||||
|                 ,stealAttempted | ||||
|                 ,foldBbToStealChance | ||||
|                 ,foldedBbToSteal | ||||
|                 ,foldSbToStealChance | ||||
|                 ,foldedSbToSteal | ||||
|                 ,street1CBChance | ||||
|                 ,street1CBDone | ||||
|                 ,street2CBChance | ||||
|                 ,street2CBDone | ||||
|                 ,street3CBChance | ||||
|                 ,street3CBDone | ||||
|                 ,street4CBChance | ||||
|                 ,street4CBDone | ||||
|                 ,foldToStreet1CBChance | ||||
|                 ,foldToStreet1CBDone | ||||
|                 ,foldToStreet2CBChance | ||||
|                 ,foldToStreet2CBDone | ||||
|                 ,foldToStreet3CBChance | ||||
|                 ,foldToStreet3CBDone | ||||
|                 ,foldToStreet4CBChance | ||||
|                 ,foldToStreet4CBDone | ||||
|                 ,totalProfit | ||||
|                 ,street1CheckCallRaiseChance | ||||
|                 ,street1CheckCallRaiseDone | ||||
|                 ,street2CheckCallRaiseChance | ||||
|                 ,street2CheckCallRaiseDone | ||||
|                 ,street3CheckCallRaiseChance | ||||
|                 ,street3CheckCallRaiseDone | ||||
|                 ,street4CheckCallRaiseChance | ||||
|                 ,street4CheckCallRaiseDone | ||||
|                 ) | ||||
|                 SELECT h.gametypeId | ||||
|                       ,hp.playerId | ||||
|                       ,h.seats | ||||
|                       ,case when hp.position = 'B' then 'B' | ||||
|                             when hp.position = 'S' then 'S' | ||||
|                             when hp.position = '0' then 'D' | ||||
|                             when hp.position = '1' then 'C' | ||||
|                             when hp.position = '2' then 'M' | ||||
|                             when hp.position = '3' then 'M' | ||||
|                             when hp.position = '4' then 'M' | ||||
|                             when hp.position = '5' then 'E' | ||||
|                             when hp.position = '6' then 'E' | ||||
|                             when hp.position = '7' then 'E' | ||||
|                             when hp.position = '8' then 'E' | ||||
|                             when hp.position = '9' then 'E' | ||||
|                             else 'E' | ||||
|                        end                                            AS hc_position | ||||
|                       ,hp.tourneyTypeId | ||||
|                       ,date_format(h.handStart, 'd%y%m%d') | ||||
|                       ,count(1) | ||||
|                       ,sum(wonWhenSeenStreet1) | ||||
|                       ,sum(wonAtSD) | ||||
|                       ,sum(CAST(street0VPI as integer))  | ||||
|                       ,sum(CAST(street0Aggr as integer))  | ||||
|                       ,sum(CAST(street0_3BChance as integer))  | ||||
|                       ,sum(CAST(street0_3BDone as integer))  | ||||
|                       ,sum(CAST(street1Seen as integer))  | ||||
|                       ,sum(CAST(street2Seen as integer))  | ||||
|                       ,sum(CAST(street3Seen as integer))  | ||||
|                       ,sum(CAST(street4Seen as integer))  | ||||
|                       ,sum(CAST(sawShowdown as integer))  | ||||
|                       ,sum(CAST(street1Aggr as integer))  | ||||
|                       ,sum(CAST(street2Aggr as integer))  | ||||
|                       ,sum(CAST(street3Aggr as integer))  | ||||
|                       ,sum(CAST(street4Aggr as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet1 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet2 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet3 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet4 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet1 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet2 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet3 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet4 as integer))  | ||||
|                       ,sum(CAST(stealAttemptChance as integer))  | ||||
|                       ,sum(CAST(stealAttempted as integer))  | ||||
|                       ,sum(CAST(foldBbToStealChance as integer))  | ||||
|                       ,sum(CAST(foldedBbToSteal as integer))  | ||||
|                       ,sum(CAST(foldSbToStealChance as integer))  | ||||
|                       ,sum(CAST(foldedSbToSteal as integer))  | ||||
|                       ,sum(CAST(street1CBChance as integer))  | ||||
|                       ,sum(CAST(street1CBDone as integer))  | ||||
|                       ,sum(CAST(street2CBChance as integer))  | ||||
|                       ,sum(CAST(street2CBDone as integer))  | ||||
|                       ,sum(CAST(street3CBChance as integer))  | ||||
|                       ,sum(CAST(street3CBDone as integer))  | ||||
|                       ,sum(CAST(street4CBChance as integer))  | ||||
|                       ,sum(CAST(street4CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet1CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet1CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet2CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet2CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet3CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet3CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet4CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet4CBDone as integer))  | ||||
|                       ,sum(CAST(totalProfit as integer))  | ||||
|                       ,sum(CAST(street1CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street1CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street2CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street2CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street3CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street3CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street4CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street4CheckCallRaiseDone as integer))  | ||||
|                 FROM HandsPlayers hp | ||||
|                 INNER JOIN Hands h ON (h.id = hp.handId) | ||||
|                 GROUP BY h.gametypeId | ||||
|                         ,hp.playerId | ||||
|                         ,h.seats | ||||
|                         ,hc_position | ||||
|                         ,hp.tourneyTypeId | ||||
|                         ,date_format(h.handStart, 'd%y%m%d') | ||||
| """ | ||||
|         elif (self.dbname == 'PostgreSQL')  or (self.dbname == 'SQLite'): | ||||
|             self.query['rebuildHudCache'] = """ | ||||
|                 INSERT INTO HudCache | ||||
|                 (gametypeId | ||||
|                 ,playerId | ||||
|                 ,activeSeats | ||||
|                 ,position | ||||
|                 ,tourneyTypeId | ||||
|                 ,styleKey | ||||
|                 ,HDs | ||||
|                 ,wonWhenSeenStreet1 | ||||
|                 ,wonAtSD | ||||
|                 ,street0VPI | ||||
|                 ,street0Aggr | ||||
|                 ,street0_3BChance | ||||
|                 ,street0_3BDone | ||||
|                 ,street1Seen | ||||
|                 ,street2Seen | ||||
|                 ,street3Seen | ||||
|                 ,street4Seen | ||||
|                 ,sawShowdown | ||||
|                 ,street1Aggr | ||||
|                 ,street2Aggr | ||||
|                 ,street3Aggr | ||||
|                 ,street4Aggr | ||||
|                 ,otherRaisedStreet1 | ||||
|                 ,otherRaisedStreet2 | ||||
|                 ,otherRaisedStreet3 | ||||
|                 ,otherRaisedStreet4 | ||||
|                 ,foldToOtherRaisedStreet1 | ||||
|                 ,foldToOtherRaisedStreet2 | ||||
|                 ,foldToOtherRaisedStreet3 | ||||
|                 ,foldToOtherRaisedStreet4 | ||||
|                 ,stealAttemptChance | ||||
|                 ,stealAttempted | ||||
|                 ,foldBbToStealChance | ||||
|                 ,foldedBbToSteal | ||||
|                 ,foldSbToStealChance | ||||
|                 ,foldedSbToSteal | ||||
|                 ,street1CBChance | ||||
|                 ,street1CBDone | ||||
|                 ,street2CBChance | ||||
|                 ,street2CBDone | ||||
|                 ,street3CBChance | ||||
|                 ,street3CBDone | ||||
|                 ,street4CBChance | ||||
|                 ,street4CBDone | ||||
|                 ,foldToStreet1CBChance | ||||
|                 ,foldToStreet1CBDone | ||||
|                 ,foldToStreet2CBChance | ||||
|                 ,foldToStreet2CBDone | ||||
|                 ,foldToStreet3CBChance | ||||
|                 ,foldToStreet3CBDone | ||||
|                 ,foldToStreet4CBChance | ||||
|                 ,foldToStreet4CBDone | ||||
|                 ,totalProfit | ||||
|                 ,street1CheckCallRaiseChance | ||||
|                 ,street1CheckCallRaiseDone | ||||
|                 ,street2CheckCallRaiseChance | ||||
|                 ,street2CheckCallRaiseDone | ||||
|                 ,street3CheckCallRaiseChance | ||||
|                 ,street3CheckCallRaiseDone | ||||
|                 ,street4CheckCallRaiseChance | ||||
|                 ,street4CheckCallRaiseDone | ||||
|                 ) | ||||
|                 SELECT h.gametypeId | ||||
|                       ,hp.playerId | ||||
|                       ,h.seats | ||||
|                       ,case when hp.position = 'B' then 'B' | ||||
|                             when hp.position = 'S' then 'S' | ||||
|                             when hp.position = '0' then 'D' | ||||
|                             when hp.position = '1' then 'C' | ||||
|                             when hp.position = '2' then 'M' | ||||
|                             when hp.position = '3' then 'M' | ||||
|                             when hp.position = '4' then 'M' | ||||
|                             when hp.position = '5' then 'E' | ||||
|                             when hp.position = '6' then 'E' | ||||
|                             when hp.position = '7' then 'E' | ||||
|                             when hp.position = '8' then 'E' | ||||
|                             when hp.position = '9' then 'E' | ||||
|                             else 'E' | ||||
|                        end                                            AS hc_position | ||||
|                       ,hp.tourneyTypeId | ||||
|                       ,'d' || to_char(h.handStart, 'YYMMDD') | ||||
|                       ,count(1) | ||||
|                       ,sum(wonWhenSeenStreet1) | ||||
|                       ,sum(wonAtSD) | ||||
|                       ,sum(CAST(street0VPI as integer))  | ||||
|                       ,sum(CAST(street0Aggr as integer))  | ||||
|                       ,sum(CAST(street0_3BChance as integer))  | ||||
|                       ,sum(CAST(street0_3BDone as integer))  | ||||
|                       ,sum(CAST(street1Seen as integer))  | ||||
|                       ,sum(CAST(street2Seen as integer))  | ||||
|                       ,sum(CAST(street3Seen as integer))  | ||||
|                       ,sum(CAST(street4Seen as integer))  | ||||
|                       ,sum(CAST(sawShowdown as integer))  | ||||
|                       ,sum(CAST(street1Aggr as integer))  | ||||
|                       ,sum(CAST(street2Aggr as integer))  | ||||
|                       ,sum(CAST(street3Aggr as integer))  | ||||
|                       ,sum(CAST(street4Aggr as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet1 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet2 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet3 as integer))  | ||||
|                       ,sum(CAST(otherRaisedStreet4 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet1 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet2 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet3 as integer))  | ||||
|                       ,sum(CAST(foldToOtherRaisedStreet4 as integer))  | ||||
|                       ,sum(CAST(stealAttemptChance as integer))  | ||||
|                       ,sum(CAST(stealAttempted as integer))  | ||||
|                       ,sum(CAST(foldBbToStealChance as integer))  | ||||
|                       ,sum(CAST(foldedBbToSteal as integer))  | ||||
|                       ,sum(CAST(foldSbToStealChance as integer))  | ||||
|                       ,sum(CAST(foldedSbToSteal as integer))  | ||||
|                       ,sum(CAST(street1CBChance as integer))  | ||||
|                       ,sum(CAST(street1CBDone as integer))  | ||||
|                       ,sum(CAST(street2CBChance as integer))  | ||||
|                       ,sum(CAST(street2CBDone as integer))  | ||||
|                       ,sum(CAST(street3CBChance as integer))  | ||||
|                       ,sum(CAST(street3CBDone as integer))  | ||||
|                       ,sum(CAST(street4CBChance as integer))  | ||||
|                       ,sum(CAST(street4CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet1CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet1CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet2CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet2CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet3CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet3CBDone as integer))  | ||||
|                       ,sum(CAST(foldToStreet4CBChance as integer))  | ||||
|                       ,sum(CAST(foldToStreet4CBDone as integer))  | ||||
|                       ,sum(CAST(totalProfit as integer))  | ||||
|                       ,sum(CAST(street1CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street1CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street2CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street2CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street3CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street3CheckCallRaiseDone as integer))  | ||||
|                       ,sum(CAST(street4CheckCallRaiseChance as integer))  | ||||
|                       ,sum(CAST(street4CheckCallRaiseDone as integer))  | ||||
|                 FROM HandsPlayers hp | ||||
|                 INNER JOIN Hands h ON (h.id = hp.handId) | ||||
|                 GROUP BY h.gametypeId | ||||
|                         ,hp.playerId | ||||
|                         ,h.seats | ||||
|                         ,hc_position | ||||
|                         ,hp.tourneyTypeId | ||||
|                         ,to_char(h.handStart, 'YYMMDD') | ||||
| """ | ||||
| 
 | ||||
| 
 | ||||
| if __name__== "__main__": | ||||
|         from optparse import OptionParser | ||||
| 
 | ||||
|  |  | |||
|  | @ -38,20 +38,19 @@ except: | |||
|          and HUD are NOT affected by this problem.""" | ||||
| 
 | ||||
| import fpdb_import | ||||
| import fpdb_db | ||||
| import Database | ||||
| import Filters | ||||
| 
 | ||||
| class GuiGraphViewer (threading.Thread): | ||||
| 
 | ||||
|     def __init__(self, querylist, config, debug=True): | ||||
|         """Constructor for GraphViewer""" | ||||
|         self.debug=debug | ||||
|         #print "start of GraphViewer constructor" | ||||
|         self.db = fpdb_db.fpdb_db()   # sets self.fdb.db self.fdb.cursor and self.fdb.sql | ||||
|         self.db.do_connect(config) | ||||
| 
 | ||||
|         self.sql = querylist | ||||
|         self.conf = config | ||||
|         self.debug = debug | ||||
|         #print "start of GraphViewer constructor" | ||||
|         self.db = Database.Database(self.conf, sql=self.sql) | ||||
| 
 | ||||
| 
 | ||||
|         filters_display = { "Heroes"  :  True, | ||||
|                             "Sites"   :  True, | ||||
|  | @ -63,7 +62,7 @@ class GuiGraphViewer (threading.Thread): | |||
|                             "Button2" :  True | ||||
|                           } | ||||
| 
 | ||||
|         self.filters = Filters.Filters(self.db, config, querylist, display = filters_display) | ||||
|         self.filters = Filters.Filters(self.db, self.conf, self.sql, display = filters_display) | ||||
|         self.filters.registerButton1Name("Refresh Graph") | ||||
|         self.filters.registerButton1Callback(self.generateGraph) | ||||
|         self.filters.registerButton2Name("Export to File") | ||||
|  | @ -90,7 +89,7 @@ class GuiGraphViewer (threading.Thread): | |||
|         self.canvas = None | ||||
| 
 | ||||
| 
 | ||||
|         self.db.db.rollback() | ||||
|         self.db.rollback() | ||||
| 
 | ||||
| ################################# | ||||
| # | ||||
|  | @ -130,8 +129,7 @@ class GuiGraphViewer (threading.Thread): | |||
|         if self.canvas is not None: | ||||
|             self.canvas.destroy() | ||||
| 
 | ||||
|         if self.canvas == None: | ||||
|             self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea | ||||
|         self.canvas = FigureCanvas(self.fig)  # a gtk.DrawingArea | ||||
| 
 | ||||
|     def generateGraph(self, widget, data): | ||||
|         self.clearGraphData() | ||||
|  | @ -207,7 +205,7 @@ class GuiGraphViewer (threading.Thread): | |||
| #        print "DEBUG: getRingProfitGraph" | ||||
|         start_date, end_date = self.filters.getDates() | ||||
| 
 | ||||
|         #Buggered if I can find a way to do this 'nicely' take a list of intergers and longs | ||||
|         #Buggered if I can find a way to do this 'nicely' take a list of integers and longs | ||||
|         # and turn it into a tuple readale by sql. | ||||
|         # [5L] into (5) not (5,) and [5L, 2829L] into (5, 2829) | ||||
|         nametest = str(tuple(names)) | ||||
|  | @ -231,7 +229,7 @@ class GuiGraphViewer (threading.Thread): | |||
|         self.db.cursor.execute(tmp) | ||||
|         #returns (HandId,Winnings,Costs,Profit) | ||||
|         winnings = self.db.cursor.fetchall() | ||||
|         self.db.db.rollback() | ||||
|         self.db.rollback() | ||||
| 
 | ||||
|         if(winnings == ()): | ||||
|             return None | ||||
|  |  | |||
|  | @ -25,29 +25,28 @@ from numpy import diff, nonzero | |||
| 
 | ||||
| import Card | ||||
| import fpdb_import | ||||
| import fpdb_db | ||||
| import Database | ||||
| import Filters | ||||
| import FpdbSQLQueries | ||||
| 
 | ||||
| class GuiSessionViewer (threading.Thread): | ||||
|     def __init__(self, config, querylist, debug=True): | ||||
|         self.debug=debug | ||||
|         self.conf=config | ||||
|         self.debug = debug | ||||
|         self.conf = config | ||||
|         self.sql = querylist | ||||
|         self.MYSQL_INNODB   = 2 | ||||
|         self.PGSQL          = 3 | ||||
|         self.SQLITE         = 4 | ||||
|          | ||||
|         # create new db connection to avoid conflicts with other threads | ||||
|         self.db = fpdb_db.fpdb_db() | ||||
|         self.db.do_connect(self.conf) | ||||
|         self.cursor=self.db.cursor | ||||
|         self.sql = querylist | ||||
|         self.db = Database.Database(self.conf, sql=self.sql) | ||||
|         self.cursor = self.db.cursor | ||||
| 
 | ||||
|         settings = {} | ||||
|         settings.update(config.get_db_parameters()) | ||||
|         settings.update(config.get_tv_parameters()) | ||||
|         settings.update(config.get_import_parameters()) | ||||
|         settings.update(config.get_default_paths()) | ||||
|         settings.update(self.conf.get_db_parameters()) | ||||
|         settings.update(self.conf.get_tv_parameters()) | ||||
|         settings.update(self.conf.get_import_parameters()) | ||||
|         settings.update(self.conf.get_default_paths()) | ||||
| 
 | ||||
|         # text used on screen stored here so that it can be configured | ||||
|         self.filterText = {'handhead':'Hand Breakdown for all levels listed above' | ||||
|  | @ -66,7 +65,7 @@ class GuiSessionViewer (threading.Thread): | |||
|                             "Button2"  :  True | ||||
|                           } | ||||
| 
 | ||||
|         self.filters = Filters.Filters(self.db, settings, config, querylist, display = filters_display) | ||||
|         self.filters = Filters.Filters(self.db, self.conf, self.sql, display = filters_display) | ||||
|         self.filters.registerButton2Name("_Refresh") | ||||
|         self.filters.registerButton2Callback(self.refreshStats) | ||||
| 
 | ||||
|  | @ -195,7 +194,7 @@ class GuiSessionViewer (threading.Thread): | |||
|         flags = [True] | ||||
|         self.addTable(vbox1, 'playerDetailedStats', flags, playerids, sitenos, limits, seats) | ||||
| 
 | ||||
|         self.db.db.commit() | ||||
|         self.db.rollback() | ||||
|         print "Stats page displayed in %4.2f seconds" % (time() - starttime) | ||||
|     #end def fillStatsFrame(self, vbox): | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										319
									
								
								pyfpdb/SQL.py
									
									
									
									
									
								
							
							
						
						
									
										319
									
								
								pyfpdb/SQL.py
									
									
									
									
									
								
							|  | @ -1235,6 +1235,325 @@ class Sql: | |||
|             #elif(self.dbname == 'SQLite'): | ||||
|             #    self.query['playerStatsByPosition'] = """ """ | ||||
| 
 | ||||
|             self.query['getRingProfitAllHandsPlayerIdSite'] = """ | ||||
|                 SELECT hp.handId, hp.totalProfit, hp.totalProfit, hp.totalProfit | ||||
|                 FROM HandsPlayers hp | ||||
|                 INNER JOIN Players pl      ON  (hp.playerId  = pl.id) | ||||
|                 INNER JOIN Hands h         ON  (h.id         = hp.handId) | ||||
|                 INNER JOIN Gametypes g     ON  (h.gametypeId = g.id) | ||||
|                 where pl.id in <player_test> | ||||
|                 AND   pl.siteId in <site_test> | ||||
|                 AND   h.handStart > '<startdate_test>' | ||||
|                 AND   h.handStart < '<enddate_test>' | ||||
|                 AND   g.bigBlind in <limit_test> | ||||
|                 AND   hp.tourneysPlayersId IS NULL | ||||
|                 GROUP BY h.handStart, hp.handId, hp.totalProfit | ||||
|                 ORDER BY h.handStart""" | ||||
| 
 | ||||
| 
 | ||||
|             #################################### | ||||
|             # Queries to rebuild/modify hudcache | ||||
|             #################################### | ||||
|             | ||||
|             self.query['clearHudCache'] = """DELETE FROM HudCache""" | ||||
|             | ||||
|             if db_server == 'mysql': | ||||
|                 self.query['rebuildHudCache'] = """ | ||||
|                     INSERT INTO HudCache | ||||
|                     (gametypeId | ||||
|                     ,playerId | ||||
|                     ,activeSeats | ||||
|                     ,position | ||||
|                     ,tourneyTypeId | ||||
|                     ,styleKey | ||||
|                     ,HDs | ||||
|                     ,wonWhenSeenStreet1 | ||||
|                     ,wonAtSD | ||||
|                     ,street0VPI | ||||
|                     ,street0Aggr | ||||
|                     ,street0_3BChance | ||||
|                     ,street0_3BDone | ||||
|                     ,street1Seen | ||||
|                     ,street2Seen | ||||
|                     ,street3Seen | ||||
|                     ,street4Seen | ||||
|                     ,sawShowdown | ||||
|                     ,street1Aggr | ||||
|                     ,street2Aggr | ||||
|                     ,street3Aggr | ||||
|                     ,street4Aggr | ||||
|                     ,otherRaisedStreet1 | ||||
|                     ,otherRaisedStreet2 | ||||
|                     ,otherRaisedStreet3 | ||||
|                     ,otherRaisedStreet4 | ||||
|                     ,foldToOtherRaisedStreet1 | ||||
|                     ,foldToOtherRaisedStreet2 | ||||
|                     ,foldToOtherRaisedStreet3 | ||||
|                     ,foldToOtherRaisedStreet4 | ||||
|                     ,stealAttemptChance | ||||
|                     ,stealAttempted | ||||
|                     ,foldBbToStealChance | ||||
|                     ,foldedBbToSteal | ||||
|                     ,foldSbToStealChance | ||||
|                     ,foldedSbToSteal | ||||
|                     ,street1CBChance | ||||
|                     ,street1CBDone | ||||
|                     ,street2CBChance | ||||
|                     ,street2CBDone | ||||
|                     ,street3CBChance | ||||
|                     ,street3CBDone | ||||
|                     ,street4CBChance | ||||
|                     ,street4CBDone | ||||
|                     ,foldToStreet1CBChance | ||||
|                     ,foldToStreet1CBDone | ||||
|                     ,foldToStreet2CBChance | ||||
|                     ,foldToStreet2CBDone | ||||
|                     ,foldToStreet3CBChance | ||||
|                     ,foldToStreet3CBDone | ||||
|                     ,foldToStreet4CBChance | ||||
|                     ,foldToStreet4CBDone | ||||
|                     ,totalProfit | ||||
|                     ,street1CheckCallRaiseChance | ||||
|                     ,street1CheckCallRaiseDone | ||||
|                     ,street2CheckCallRaiseChance | ||||
|                     ,street2CheckCallRaiseDone | ||||
|                     ,street3CheckCallRaiseChance | ||||
|                     ,street3CheckCallRaiseDone | ||||
|                     ,street4CheckCallRaiseChance | ||||
|                     ,street4CheckCallRaiseDone | ||||
|                     ) | ||||
|                     SELECT h.gametypeId | ||||
|                           ,hp.playerId | ||||
|                           ,h.seats | ||||
|                           ,case when hp.position = 'B' then 'B' | ||||
|                                 when hp.position = 'S' then 'S' | ||||
|                                 when hp.position = '0' then 'D' | ||||
|                                 when hp.position = '1' then 'C' | ||||
|                                 when hp.position = '2' then 'M' | ||||
|                                 when hp.position = '3' then 'M' | ||||
|                                 when hp.position = '4' then 'M' | ||||
|                                 when hp.position = '5' then 'E' | ||||
|                                 when hp.position = '6' then 'E' | ||||
|                                 when hp.position = '7' then 'E' | ||||
|                                 when hp.position = '8' then 'E' | ||||
|                                 when hp.position = '9' then 'E' | ||||
|                                 else 'E' | ||||
|                            end                                            AS hc_position | ||||
|                           ,hp.tourneyTypeId | ||||
|                           ,date_format(h.handStart, 'd%y%m%d') | ||||
|                           ,count(1) | ||||
|                           ,sum(wonWhenSeenStreet1) | ||||
|                           ,sum(wonAtSD) | ||||
|                           ,sum(CAST(street0VPI as integer))  | ||||
|                           ,sum(CAST(street0Aggr as integer))  | ||||
|                           ,sum(CAST(street0_3BChance as integer))  | ||||
|                           ,sum(CAST(street0_3BDone as integer))  | ||||
|                           ,sum(CAST(street1Seen as integer))  | ||||
|                           ,sum(CAST(street2Seen as integer))  | ||||
|                           ,sum(CAST(street3Seen as integer))  | ||||
|                           ,sum(CAST(street4Seen as integer))  | ||||
|                           ,sum(CAST(sawShowdown as integer))  | ||||
|                           ,sum(CAST(street1Aggr as integer))  | ||||
|                           ,sum(CAST(street2Aggr as integer))  | ||||
|                           ,sum(CAST(street3Aggr as integer))  | ||||
|                           ,sum(CAST(street4Aggr as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet1 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet2 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet3 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet4 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet1 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet2 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet3 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet4 as integer))  | ||||
|                           ,sum(CAST(stealAttemptChance as integer))  | ||||
|                           ,sum(CAST(stealAttempted as integer))  | ||||
|                           ,sum(CAST(foldBbToStealChance as integer))  | ||||
|                           ,sum(CAST(foldedBbToSteal as integer))  | ||||
|                           ,sum(CAST(foldSbToStealChance as integer))  | ||||
|                           ,sum(CAST(foldedSbToSteal as integer))  | ||||
|                           ,sum(CAST(street1CBChance as integer))  | ||||
|                           ,sum(CAST(street1CBDone as integer))  | ||||
|                           ,sum(CAST(street2CBChance as integer))  | ||||
|                           ,sum(CAST(street2CBDone as integer))  | ||||
|                           ,sum(CAST(street3CBChance as integer))  | ||||
|                           ,sum(CAST(street3CBDone as integer))  | ||||
|                           ,sum(CAST(street4CBChance as integer))  | ||||
|                           ,sum(CAST(street4CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet1CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet1CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet2CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet2CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet3CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet3CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet4CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet4CBDone as integer))  | ||||
|                           ,sum(CAST(totalProfit as integer))  | ||||
|                           ,sum(CAST(street1CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street1CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street2CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street2CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street3CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street3CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street4CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street4CheckCallRaiseDone as integer))  | ||||
|                     FROM HandsPlayers hp | ||||
|                     INNER JOIN Hands h ON (h.id = hp.handId) | ||||
|                     GROUP BY h.gametypeId | ||||
|                             ,hp.playerId | ||||
|                             ,h.seats | ||||
|                             ,hc_position | ||||
|                             ,hp.tourneyTypeId | ||||
|                             ,date_format(h.handStart, 'd%y%m%d') | ||||
| """ | ||||
|             else:   # assume postgres | ||||
|                 self.query['rebuildHudCache'] = """ | ||||
|                     INSERT INTO HudCache | ||||
|                     (gametypeId | ||||
|                     ,playerId | ||||
|                     ,activeSeats | ||||
|                     ,position | ||||
|                     ,tourneyTypeId | ||||
|                     ,styleKey | ||||
|                     ,HDs | ||||
|                     ,wonWhenSeenStreet1 | ||||
|                     ,wonAtSD | ||||
|                     ,street0VPI | ||||
|                     ,street0Aggr | ||||
|                     ,street0_3BChance | ||||
|                     ,street0_3BDone | ||||
|                     ,street1Seen | ||||
|                     ,street2Seen | ||||
|                     ,street3Seen | ||||
|                     ,street4Seen | ||||
|                     ,sawShowdown | ||||
|                     ,street1Aggr | ||||
|                     ,street2Aggr | ||||
|                     ,street3Aggr | ||||
|                     ,street4Aggr | ||||
|                     ,otherRaisedStreet1 | ||||
|                     ,otherRaisedStreet2 | ||||
|                     ,otherRaisedStreet3 | ||||
|                     ,otherRaisedStreet4 | ||||
|                     ,foldToOtherRaisedStreet1 | ||||
|                     ,foldToOtherRaisedStreet2 | ||||
|                     ,foldToOtherRaisedStreet3 | ||||
|                     ,foldToOtherRaisedStreet4 | ||||
|                     ,stealAttemptChance | ||||
|                     ,stealAttempted | ||||
|                     ,foldBbToStealChance | ||||
|                     ,foldedBbToSteal | ||||
|                     ,foldSbToStealChance | ||||
|                     ,foldedSbToSteal | ||||
|                     ,street1CBChance | ||||
|                     ,street1CBDone | ||||
|                     ,street2CBChance | ||||
|                     ,street2CBDone | ||||
|                     ,street3CBChance | ||||
|                     ,street3CBDone | ||||
|                     ,street4CBChance | ||||
|                     ,street4CBDone | ||||
|                     ,foldToStreet1CBChance | ||||
|                     ,foldToStreet1CBDone | ||||
|                     ,foldToStreet2CBChance | ||||
|                     ,foldToStreet2CBDone | ||||
|                     ,foldToStreet3CBChance | ||||
|                     ,foldToStreet3CBDone | ||||
|                     ,foldToStreet4CBChance | ||||
|                     ,foldToStreet4CBDone | ||||
|                     ,totalProfit | ||||
|                     ,street1CheckCallRaiseChance | ||||
|                     ,street1CheckCallRaiseDone | ||||
|                     ,street2CheckCallRaiseChance | ||||
|                     ,street2CheckCallRaiseDone | ||||
|                     ,street3CheckCallRaiseChance | ||||
|                     ,street3CheckCallRaiseDone | ||||
|                     ,street4CheckCallRaiseChance | ||||
|                     ,street4CheckCallRaiseDone | ||||
|                     ) | ||||
|                     SELECT h.gametypeId | ||||
|                           ,hp.playerId | ||||
|                           ,h.seats | ||||
|                           ,case when hp.position = 'B' then 'B' | ||||
|                                 when hp.position = 'S' then 'S' | ||||
|                                 when hp.position = '0' then 'D' | ||||
|                                 when hp.position = '1' then 'C' | ||||
|                                 when hp.position = '2' then 'M' | ||||
|                                 when hp.position = '3' then 'M' | ||||
|                                 when hp.position = '4' then 'M' | ||||
|                                 when hp.position = '5' then 'E' | ||||
|                                 when hp.position = '6' then 'E' | ||||
|                                 when hp.position = '7' then 'E' | ||||
|                                 when hp.position = '8' then 'E' | ||||
|                                 when hp.position = '9' then 'E' | ||||
|                                 else 'E' | ||||
|                            end                                            AS hc_position | ||||
|                           ,hp.tourneyTypeId | ||||
|                           ,'d' || to_char(h.handStart, 'YYMMDD') | ||||
|                           ,count(1) | ||||
|                           ,sum(wonWhenSeenStreet1) | ||||
|                           ,sum(wonAtSD) | ||||
|                           ,sum(CAST(street0VPI as integer))  | ||||
|                           ,sum(CAST(street0Aggr as integer))  | ||||
|                           ,sum(CAST(street0_3BChance as integer))  | ||||
|                           ,sum(CAST(street0_3BDone as integer))  | ||||
|                           ,sum(CAST(street1Seen as integer))  | ||||
|                           ,sum(CAST(street2Seen as integer))  | ||||
|                           ,sum(CAST(street3Seen as integer))  | ||||
|                           ,sum(CAST(street4Seen as integer))  | ||||
|                           ,sum(CAST(sawShowdown as integer))  | ||||
|                           ,sum(CAST(street1Aggr as integer))  | ||||
|                           ,sum(CAST(street2Aggr as integer))  | ||||
|                           ,sum(CAST(street3Aggr as integer))  | ||||
|                           ,sum(CAST(street4Aggr as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet1 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet2 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet3 as integer))  | ||||
|                           ,sum(CAST(otherRaisedStreet4 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet1 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet2 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet3 as integer))  | ||||
|                           ,sum(CAST(foldToOtherRaisedStreet4 as integer))  | ||||
|                           ,sum(CAST(stealAttemptChance as integer))  | ||||
|                           ,sum(CAST(stealAttempted as integer))  | ||||
|                           ,sum(CAST(foldBbToStealChance as integer))  | ||||
|                           ,sum(CAST(foldedBbToSteal as integer))  | ||||
|                           ,sum(CAST(foldSbToStealChance as integer))  | ||||
|                           ,sum(CAST(foldedSbToSteal as integer))  | ||||
|                           ,sum(CAST(street1CBChance as integer))  | ||||
|                           ,sum(CAST(street1CBDone as integer))  | ||||
|                           ,sum(CAST(street2CBChance as integer))  | ||||
|                           ,sum(CAST(street2CBDone as integer))  | ||||
|                           ,sum(CAST(street3CBChance as integer))  | ||||
|                           ,sum(CAST(street3CBDone as integer))  | ||||
|                           ,sum(CAST(street4CBChance as integer))  | ||||
|                           ,sum(CAST(street4CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet1CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet1CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet2CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet2CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet3CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet3CBDone as integer))  | ||||
|                           ,sum(CAST(foldToStreet4CBChance as integer))  | ||||
|                           ,sum(CAST(foldToStreet4CBDone as integer))  | ||||
|                           ,sum(CAST(totalProfit as integer))  | ||||
|                           ,sum(CAST(street1CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street1CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street2CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street2CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street3CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street3CheckCallRaiseDone as integer))  | ||||
|                           ,sum(CAST(street4CheckCallRaiseChance as integer))  | ||||
|                           ,sum(CAST(street4CheckCallRaiseDone as integer))  | ||||
|                     FROM HandsPlayers hp | ||||
|                     INNER JOIN Hands h ON (h.id = hp.handId) | ||||
|                     GROUP BY h.gametypeId | ||||
|                             ,hp.playerId | ||||
|                             ,h.seats | ||||
|                             ,hc_position | ||||
|                             ,hp.tourneyTypeId | ||||
|                             ,to_char(h.handStart, 'YYMMDD') | ||||
| """ | ||||
| 
 | ||||
| if __name__== "__main__": | ||||
| #    just print the default queries and exit | ||||
|     s = Sql(game = 'razz', type = 'ptracks') | ||||
|  |  | |||
|  | @ -134,7 +134,7 @@ class fpdb: | |||
|     #end def dia_database_stats | ||||
| 
 | ||||
|     def dia_database_sessions(self, widget, data=None): | ||||
|         new_sessions_thread=GuiSessionViewer.GuiSessionViewer(self.config, self.querydict) | ||||
|         new_sessions_thread=GuiSessionViewer.GuiSessionViewer(self.config, self.sql) | ||||
|         self.threads.append(new_sessions_thread) | ||||
|         sessions_tab=new_sessions_thread.get_vbox() | ||||
|         self.add_and_display_tab(sessions_tab, "Sessions") | ||||
|  | @ -497,7 +497,7 @@ This program is licensed under the AGPL3, see docs"""+os.sep+"agpl-3.0.txt") | |||
|     def tabGraphViewer(self, widget, data=None): | ||||
|         """opens a graph viewer tab""" | ||||
|         #print "start of tabGraphViewer" | ||||
|         new_gv_thread = GuiGraphViewer.GuiGraphViewer(self.querydict, self.config) | ||||
|         new_gv_thread = GuiGraphViewer.GuiGraphViewer(self.sql, self.config) | ||||
|         self.threads.append(new_gv_thread) | ||||
|         gv_tab=new_gv_thread.get_vbox() | ||||
|         self.add_and_display_tab(gv_tab, "Graphs") | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user