Merge branch 'master' of git://git.assembla.com/fpdboz.git
This commit is contained in:
		
						commit
						84dc935f1a
					
				|  | @ -27,8 +27,8 @@ Approx. 200 changesets (excl. merges) have gone in since 0.21-rc1. Some of the i | ||||||
| 
 | 
 | ||||||
| Where to get it | Where to get it | ||||||
| =============== | =============== | ||||||
| Please note that you will have to either recreate your database or use a new one if you're updating from 0.21-rc1 or older. | Please note that you will have to either recreate your database or use a new one if you're updating from 0.21-rc1 or older. Config files from 0.20 and later should work. Please report if you have problems with config files from that version or later. | ||||||
| Config files from 0.20 and later should work. Please report if you have problems with config files from that version or later. | You can find checksums (MD5 and SHA512) in the download folder. | ||||||
| To download: http://sourceforge.net/projects/fpdb/files/fpdb/Snapshots/ | To download: http://sourceforge.net/projects/fpdb/files/fpdb/Snapshots/ | ||||||
| To be notified by email of new versions you can subscribe to our announce mailing list here: https://lists.sourceforge.net/lists/listinfo/fpdb-announce | To be notified by email of new versions you can subscribe to our announce mailing list here: https://lists.sourceforge.net/lists/listinfo/fpdb-announce | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										104
									
								
								pyfpdb/Aux_Hud.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								pyfpdb/Aux_Hud.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,104 @@ | ||||||
|  | #!/usr/bin/env python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | """Mucked.py | ||||||
|  | 
 | ||||||
|  | Mucked cards display for FreePokerTools HUD. | ||||||
|  | """ | ||||||
|  | #    Copyright 2008-2010,  Ray E. Barker | ||||||
|  | #     | ||||||
|  | #    This program is free software; you can redistribute it and/or modify | ||||||
|  | #    it under the terms of the GNU General Public License as published by | ||||||
|  | #    the Free Software Foundation; either version 2 of the License, or | ||||||
|  | #    (at your option) any later version. | ||||||
|  | #     | ||||||
|  | #    This program is distributed in the hope that it will be useful, | ||||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #    GNU General Public License for more details. | ||||||
|  | #     | ||||||
|  | #    You should have received a copy of the GNU General Public License | ||||||
|  | #    along with this program; if not, write to the Free Software | ||||||
|  | #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||||
|  | 
 | ||||||
|  | ######################################################################## | ||||||
|  | 
 | ||||||
|  | #    to do | ||||||
|  | 
 | ||||||
|  | #    Standard Library modules | ||||||
|  | 
 | ||||||
|  | #    pyGTK modules | ||||||
|  | import gtk | ||||||
|  | import gobject | ||||||
|  | 
 | ||||||
|  | #    FreePokerTools modules | ||||||
|  | import Mucked | ||||||
|  | import Stats | ||||||
|  | class Stat_Window(Mucked.Seat_Window): | ||||||
|  |     """Simple window class for stat windows.""" | ||||||
|  | 
 | ||||||
|  |     def create_contents(self, i): | ||||||
|  |         self.grid = gtk.Table(rows = self.aw.nrows, columns = self.aw.ncols, homogeneous = False) | ||||||
|  |         self.add(self.grid) | ||||||
|  | 
 | ||||||
|  |         self.stat_box = [ [None]*self.aw.ncols for i in range(self.aw.nrows) ] | ||||||
|  |         for r in xrange(self.aw.nrows): | ||||||
|  |             for c in xrange(self.aw.ncols): | ||||||
|  |                 self.stat_box[r][c] = Simple_stat(self.aw.stats[r][c]) | ||||||
|  |                 self.grid.attach(self.stat_box[r][c].widget, c, c+1, r, r+1, xpadding = self.aw.xpad, ypadding = self.aw.ypad) | ||||||
|  | 
 | ||||||
|  |     def update_contents(self, i): | ||||||
|  |         if i == "common": return | ||||||
|  |         player_id = self.aw.get_id_from_seat(i) | ||||||
|  |         if player_id is None: return | ||||||
|  |         for r in xrange(self.aw.nrows): | ||||||
|  |             for c in xrange(self.aw.ncols): | ||||||
|  |                 self.stat_box[r][c].update(player_id, self.aw.hud.stat_dict) | ||||||
|  | 
 | ||||||
|  | class Simple_HUD(Mucked.Aux_Seats): | ||||||
|  |     """A simple HUD class based on the Aux_Window interface.""" | ||||||
|  | 
 | ||||||
|  |     def __init__(self, hud, config, params): | ||||||
|  |         super(Simple_HUD, self).__init__(hud, config, params) | ||||||
|  | #    Save everything you need to know about the hud as attrs. | ||||||
|  | #    That way a subclass doesn't have to grab them. | ||||||
|  |         self.poker_game = self.hud.poker_game | ||||||
|  |         self.game_params = self.hud.config.get_game_parameters(self.hud.poker_game) | ||||||
|  |         self.game = self.hud.config.supported_games[self.hud.poker_game] | ||||||
|  |         self.max = self.hud.max | ||||||
|  |         self.nrows = self.game_params['rows'] | ||||||
|  |         self.ncols = self.game_params['cols'] | ||||||
|  |         self.xpad = self.game_params['xpad'] | ||||||
|  |         self.ypad = self.game_params['ypad'] | ||||||
|  |         self.xshift = self.game_params['xshift'] | ||||||
|  |         self.yshift = self.game_params['yshift'] | ||||||
|  |          | ||||||
|  |         self.aw_window_type = Stat_Window | ||||||
|  | 
 | ||||||
|  | #    layout is handled by superclass! | ||||||
|  |         self.stats = [ [None]*self.ncols for i in range(self.nrows) ] | ||||||
|  |         for stat in self.game.stats: | ||||||
|  |             self.stats[self.config.supported_games[self.poker_game].stats[stat].row] \ | ||||||
|  |                       [self.config.supported_games[self.poker_game].stats[stat].col] = \ | ||||||
|  |                       self.config.supported_games[self.poker_game].stats[stat].stat_name | ||||||
|  | 
 | ||||||
|  |     def create_contents(self, container, i): | ||||||
|  |         container.create_contents(i) | ||||||
|  | 
 | ||||||
|  |     def update_contents(self, container, i): | ||||||
|  |         container.update_contents(i) | ||||||
|  | 
 | ||||||
|  | class Simple_stat(object): | ||||||
|  |     """A simple class for displaying a single stat.""" | ||||||
|  |     def __init__(self, stat): | ||||||
|  |         self.stat = stat | ||||||
|  |         self.eb = Simple_eb(); | ||||||
|  |         self.lab = Simple_label(self.stat) | ||||||
|  |         self.eb.add(self.lab) | ||||||
|  |         self.widget = self.eb | ||||||
|  | 
 | ||||||
|  |     def update(self, player_id, stat_dict): | ||||||
|  |         self.lab.set_text( str(Stats.do_stat(stat_dict, player_id, self.stat)[1]) ) | ||||||
|  | 
 | ||||||
|  | #    Override thise methods to customize your eb or label | ||||||
|  | class Simple_eb(gtk.EventBox): pass | ||||||
|  | class Simple_label(gtk.Label): pass | ||||||
|  | @ -231,6 +231,8 @@ class Layout: | ||||||
| 
 | 
 | ||||||
|         self.max    = int( node.getAttribute('max') ) |         self.max    = int( node.getAttribute('max') ) | ||||||
|         if node.hasAttribute('fav_seat'): self.fav_seat = int( node.getAttribute('fav_seat') ) |         if node.hasAttribute('fav_seat'): self.fav_seat = int( node.getAttribute('fav_seat') ) | ||||||
|  |         if node.hasAttribute('name'): self.name = node.getAttribute('name') | ||||||
|  |         else: self.name = None | ||||||
|         self.width    = int( node.getAttribute('width') ) |         self.width    = int( node.getAttribute('width') ) | ||||||
|         self.height   = int( node.getAttribute('height') ) |         self.height   = int( node.getAttribute('height') ) | ||||||
| 
 | 
 | ||||||
|  | @ -244,7 +246,11 @@ class Layout: | ||||||
|                 self.common = (int( location_node.getAttribute('x') ), int( location_node.getAttribute('y'))) |                 self.common = (int( location_node.getAttribute('x') ), int( location_node.getAttribute('y'))) | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         temp = "    Layout = %d max, width= %d, height = %d" % (self.max, self.width, self.height) |         if hasattr(self, 'name'): | ||||||
|  |             name = self.name + ",   " | ||||||
|  |         else: | ||||||
|  |             name = "" | ||||||
|  |         temp = "    Layout = %s%d max, width= %d, height = %d" % (name, self.max, self.width, self.height) | ||||||
|         if hasattr(self, 'fav_seat'): temp = temp + ", fav_seat = %d\n" % self.fav_seat |         if hasattr(self, 'fav_seat'): temp = temp + ", fav_seat = %d\n" % self.fav_seat | ||||||
|         else: temp = temp + "\n" |         else: temp = temp + "\n" | ||||||
|         if hasattr(self, "common"): |         if hasattr(self, "common"): | ||||||
|  | @ -477,6 +483,7 @@ class Import: | ||||||
|         self.interval    = node.getAttribute("interval") |         self.interval    = node.getAttribute("interval") | ||||||
|         self.callFpdbHud   = node.getAttribute("callFpdbHud") |         self.callFpdbHud   = node.getAttribute("callFpdbHud") | ||||||
|         self.hhArchiveBase = node.getAttribute("hhArchiveBase") |         self.hhArchiveBase = node.getAttribute("hhArchiveBase") | ||||||
|  |         self.ResultsDirectory = node.getAttribute("ResultsDirectory") | ||||||
|         self.hhBulkPath = node.getAttribute("hhBulkPath") |         self.hhBulkPath = node.getAttribute("hhBulkPath") | ||||||
|         self.saveActions = string_to_bool(node.getAttribute("saveActions"), default=False) |         self.saveActions = string_to_bool(node.getAttribute("saveActions"), default=False) | ||||||
|         self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions"), default=False) |         self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions"), default=False) | ||||||
|  | @ -485,8 +492,8 @@ class Import: | ||||||
|         self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH"), default=False) |         self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH"), default=False) | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return "    interval = %s\n    callFpdbHud = %s\n    hhArchiveBase = %s\n    saveActions = %s\n    fastStoreHudCache = %s\n" \ |         return "    interval = %s\n    callFpdbHud = %s\n    hhArchiveBase = %s\n    saveActions = %s\n    fastStoreHudCache = %s\nResultsDirectory = %s" \ | ||||||
|             % (self.interval, self.callFpdbHud, self.hhArchiveBase, self.saveActions, self.cacheSessions, self.sessionTimeout, self.fastStoreHudCache) |             % (self.interval, self.callFpdbHud, self.hhArchiveBase, self.saveActions, self.cacheSessions, self.sessionTimeout, self.fastStoreHudCache, self.ResultsDirectory) | ||||||
| 
 | 
 | ||||||
| class HudUI: | class HudUI: | ||||||
|     def __init__(self, node): |     def __init__(self, node): | ||||||
|  | @ -1255,6 +1262,14 @@ class Config: | ||||||
|         try:    imp['hhArchiveBase']    = self.imp.hhArchiveBase |         try:    imp['hhArchiveBase']    = self.imp.hhArchiveBase | ||||||
|         except:  imp['hhArchiveBase']    = "~/.fpdb/HandHistories/" |         except:  imp['hhArchiveBase']    = "~/.fpdb/HandHistories/" | ||||||
| 
 | 
 | ||||||
|  |         # ResultsDirectory is the local cache for downloaded results | ||||||
|  |         # NOTE: try: except: doesn'tseem to be triggering | ||||||
|  |         #       using if instead | ||||||
|  |         if self.imp.ResultsDirectory != '': | ||||||
|  |             imp['ResultsDirectory']    = self.imp.ResultsDirectory | ||||||
|  |         else: | ||||||
|  |             imp['ResultsDirectory']    = "~/.fpdb/Results/" | ||||||
|  | 
 | ||||||
|         # hhBulkPath is the default location for bulk imports (if set) |         # hhBulkPath is the default location for bulk imports (if set) | ||||||
|         try:    imp['hhBulkPath']    = self.imp.hhBulkPath |         try:    imp['hhBulkPath']    = self.imp.hhBulkPath | ||||||
|         except:  imp['hhBulkPath']    = "" |         except:  imp['hhBulkPath']    = "" | ||||||
|  | @ -1485,7 +1500,7 @@ if __name__== "__main__": | ||||||
|     print "----------- END POPUP WINDOW FORMATS -----------" |     print "----------- END POPUP WINDOW FORMATS -----------" | ||||||
| 
 | 
 | ||||||
|     print "\n----------- IMPORT -----------" |     print "\n----------- IMPORT -----------" | ||||||
|     print c.imp | #    print c.imp    # Need to add an str method for imp to print | ||||||
|     print "----------- END IMPORT -----------" |     print "----------- END IMPORT -----------" | ||||||
| 
 | 
 | ||||||
|     c.edit_layout("PokerStars", 6, locations=( (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6) )) |     c.edit_layout("PokerStars", 6, locations=( (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6) )) | ||||||
|  |  | ||||||
|  | @ -73,7 +73,7 @@ except ImportError: | ||||||
|     use_numpy = False |     use_numpy = False | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| DB_VERSION = 147 | DB_VERSION = 149 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| # Variance created as sqlite has a bunch of undefined aggregate functions. | # Variance created as sqlite has a bunch of undefined aggregate functions. | ||||||
|  | @ -125,7 +125,8 @@ class Database: | ||||||
|                   {'tab':'Gametypes',       'col':'siteId',            'drop':0} |                   {'tab':'Gametypes',       'col':'siteId',            'drop':0} | ||||||
|                 , {'tab':'Hands',           'col':'gametypeId',        'drop':0} # mct 22/3/09 |                 , {'tab':'Hands',           'col':'gametypeId',        'drop':0} # mct 22/3/09 | ||||||
|                 #, {'tab':'Hands',           'col':'siteHandNo',        'drop':0}  unique indexes not dropped |                 #, {'tab':'Hands',           'col':'siteHandNo',        'drop':0}  unique indexes not dropped | ||||||
|                 , {'tab':'HandsActions',    'col':'handsPlayerId',     'drop':0} |                 , {'tab':'HandsActions',    'col':'handId',            'drop':1} | ||||||
|  |                 , {'tab':'HandsActions',    'col':'playerId',          'drop':1} | ||||||
|                 , {'tab':'HandsActions',    'col':'actionId',          'drop':1} |                 , {'tab':'HandsActions',    'col':'actionId',          'drop':1} | ||||||
|                 , {'tab':'HandsPlayers',    'col':'handId',            'drop':1} |                 , {'tab':'HandsPlayers',    'col':'handId',            'drop':1} | ||||||
|                 , {'tab':'HandsPlayers',    'col':'playerId',          'drop':1} |                 , {'tab':'HandsPlayers',    'col':'playerId',          'drop':1} | ||||||
|  | @ -150,7 +151,8 @@ class Database: | ||||||
|                 , {'tab':'HandsPlayers',    'col':'handId',            'drop':0} |                 , {'tab':'HandsPlayers',    'col':'handId',            'drop':0} | ||||||
|                 , {'tab':'HandsPlayers',    'col':'playerId',          'drop':0} |                 , {'tab':'HandsPlayers',    'col':'playerId',          'drop':0} | ||||||
|                 , {'tab':'HandsPlayers',    'col':'tourneysPlayersId', 'drop':0} |                 , {'tab':'HandsPlayers',    'col':'tourneysPlayersId', 'drop':0} | ||||||
|                 , {'tab':'HandsActions',    'col':'handsPlayerId',     'drop':0} |                 , {'tab':'HandsActions',    'col':'handId',            'drop':0} | ||||||
|  |                 , {'tab':'HandsActions',    'col':'playerId',          'drop':0} | ||||||
|                 , {'tab':'HandsActions',    'col':'actionId',          'drop':1} |                 , {'tab':'HandsActions',    'col':'actionId',          'drop':1} | ||||||
|                 , {'tab':'HudCache',        'col':'gametypeId',        'drop':1} |                 , {'tab':'HudCache',        'col':'gametypeId',        'drop':1} | ||||||
|                 , {'tab':'HudCache',        'col':'playerId',          'drop':0} |                 , {'tab':'HudCache',        'col':'playerId',          'drop':0} | ||||||
|  | @ -174,7 +176,8 @@ class Database: | ||||||
|                     , {'fktab':'HandsPlayers', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} |                     , {'fktab':'HandsPlayers', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsPlayers', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} |                     , {'fktab':'HandsPlayers', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsPlayers', 'fkcol':'tourneysPlayersId','rtab':'TourneysPlayers','rcol':'id', 'drop':1} |                     , {'fktab':'HandsPlayers', 'fkcol':'tourneysPlayersId','rtab':'TourneysPlayers','rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsActions', 'fkcol':'handsPlayerId', 'rtab':'HandsPlayers',  'rcol':'id', 'drop':1} |                     , {'fktab':'HandsActions', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} | ||||||
|  |                     , {'fktab':'HandsActions', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsActions', 'fkcol':'actionId',      'rtab':'Actions',       'rcol':'id', 'drop':1} |                     , {'fktab':'HandsActions', 'fkcol':'actionId',      'rtab':'Actions',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} |                     , {'fktab':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HudCache',     'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':0} |                     , {'fktab':'HudCache',     'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':0} | ||||||
|  | @ -184,7 +187,8 @@ class Database: | ||||||
|                       {'fktab':'Hands',        'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} |                       {'fktab':'Hands',        'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsPlayers', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} |                     , {'fktab':'HandsPlayers', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsPlayers', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} |                     , {'fktab':'HandsPlayers', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsActions', 'fkcol':'handsPlayerId', 'rtab':'HandsPlayers',  'rcol':'id', 'drop':1} |                     , {'fktab':'HandsActions', 'fkcol':'handId',        'rtab':'Hands',         'rcol':'id', 'drop':1} | ||||||
|  |                     , {'fktab':'HandsActions', 'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HandsActions', 'fkcol':'actionId',      'rtab':'Actions',       'rcol':'id', 'drop':1} |                     , {'fktab':'HandsActions', 'fkcol':'actionId',      'rtab':'Actions',       'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} |                     , {'fktab':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} | ||||||
|                     , {'fktab':'HudCache',     'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':0} |                     , {'fktab':'HudCache',     'fkcol':'playerId',      'rtab':'Players',       'rcol':'id', 'drop':0} | ||||||
|  | @ -450,7 +454,7 @@ class Database: | ||||||
|                 self.connection = sqlite3.connect(self.db_path, detect_types=sqlite3.PARSE_DECLTYPES ) |                 self.connection = sqlite3.connect(self.db_path, detect_types=sqlite3.PARSE_DECLTYPES ) | ||||||
|                 self.__connected = True |                 self.__connected = True | ||||||
|                 sqlite3.register_converter("bool", lambda x: bool(int(x))) |                 sqlite3.register_converter("bool", lambda x: bool(int(x))) | ||||||
|                 sqlite3.register_adapter(bool, lambda x: "1" if x else "0") |                 sqlite3.register_adapter(bool, lambda x: 1 if x else 0) | ||||||
|                 self.connection.create_function("floor", 1, math.floor) |                 self.connection.create_function("floor", 1, math.floor) | ||||||
|                 tmp = sqlitemath() |                 tmp = sqlitemath() | ||||||
|                 self.connection.create_function("mod", 2, tmp.mod) |                 self.connection.create_function("mod", 2, tmp.mod) | ||||||
|  | @ -634,6 +638,18 @@ class Database: | ||||||
|         return c.fetchone()[0] |         return c.fetchone()[0] | ||||||
|     #end def getTourneyCount |     #end def getTourneyCount | ||||||
| 
 | 
 | ||||||
|  |     def getSiteTourneyNos(self, site): | ||||||
|  |         c = self.connection.cursor() | ||||||
|  |         # FIXME: Take site and actually fetch siteId from that | ||||||
|  |         # Fixed to Winamax atm | ||||||
|  |         q = self.sql.query['getSiteTourneyNos'] | ||||||
|  |         q = q.replace('%s', self.sql.query['placeholder']) | ||||||
|  |         c.execute(q, (14,)) | ||||||
|  |         alist = [] | ||||||
|  |         for row in c.fetchall(): | ||||||
|  |             alist.append(row) | ||||||
|  |         return alist | ||||||
|  | 
 | ||||||
|     def get_actual_seat(self, hand_id, name): |     def get_actual_seat(self, hand_id, name): | ||||||
|         c = self.connection.cursor() |         c = self.connection.cursor() | ||||||
|         c.execute(self.sql.query['get_actual_seat'], (hand_id, name)) |         c.execute(self.sql.query['get_actual_seat'], (hand_id, name)) | ||||||
|  | @ -1507,6 +1523,7 @@ class Database: | ||||||
|         c.execute("INSERT INTO Sites (name,code) VALUES ('PKR', 'PK')") |         c.execute("INSERT INTO Sites (name,code) VALUES ('PKR', 'PK')") | ||||||
|         c.execute("INSERT INTO Sites (name,code) VALUES ('iPoker', 'IP')") |         c.execute("INSERT INTO Sites (name,code) VALUES ('iPoker', 'IP')") | ||||||
|         c.execute("INSERT INTO Sites (name,code) VALUES ('Winamax', 'WM')") |         c.execute("INSERT INTO Sites (name,code) VALUES ('Winamax', 'WM')") | ||||||
|  |         c.execute("INSERT INTO Sites (name,code) VALUES ('Everest', 'EP')") | ||||||
|         #Fill Actions |         #Fill Actions | ||||||
|         c.execute("INSERT INTO Actions (name,code) VALUES ('ante', 'A')") |         c.execute("INSERT INTO Actions (name,code) VALUES ('ante', 'A')") | ||||||
|         c.execute("INSERT INTO Actions (name,code) VALUES ('small blind', 'SB')") |         c.execute("INSERT INTO Actions (name,code) VALUES ('small blind', 'SB')") | ||||||
|  | @ -1714,9 +1731,10 @@ class Database: | ||||||
| 
 | 
 | ||||||
|         c.execute(q, ( |         c.execute(q, ( | ||||||
|                 p['tableName'], |                 p['tableName'], | ||||||
|                 p['gametypeId'], |  | ||||||
|                 p['siteHandNo'], |                 p['siteHandNo'], | ||||||
|                 p['tourneyId'], |                 p['tourneyId'], | ||||||
|  |                 p['gametypeId'], | ||||||
|  |                 p['sessionId'],                 | ||||||
|                 p['startTime'],                 |                 p['startTime'],                 | ||||||
|                 datetime.utcnow(), #importtime |                 datetime.utcnow(), #importtime | ||||||
|                 p['seats'], |                 p['seats'], | ||||||
|  | @ -1747,7 +1765,7 @@ class Database: | ||||||
|         return self.get_last_insert_id(c) |         return self.get_last_insert_id(c) | ||||||
|     # def storeHand |     # def storeHand | ||||||
| 
 | 
 | ||||||
|     def storeHandsPlayers(self, hid, pids, pdata, printdata = False): |     def storeHandsPlayers(self, hid, pids, pdata, hp_bulk = None, insert = False, printdata = False): | ||||||
|         #print "DEBUG: %s %s %s" %(hid, pids, pdata) |         #print "DEBUG: %s %s %s" %(hid, pids, pdata) | ||||||
|         if printdata: |         if printdata: | ||||||
|             import pprint |             import pprint | ||||||
|  | @ -1755,7 +1773,6 @@ class Database: | ||||||
|             pp.pprint(pdata) |             pp.pprint(pdata) | ||||||
| 
 | 
 | ||||||
|         inserts = [] |         inserts = [] | ||||||
|         hpid = {} |  | ||||||
|         for p in pdata: |         for p in pdata: | ||||||
|             inserts.append( (hid, |             inserts.append( (hid, | ||||||
|                              pids[p], |                              pids[p], | ||||||
|  | @ -1813,8 +1830,15 @@ class Database: | ||||||
|                              pdata[p]['street0_3BDone'], |                              pdata[p]['street0_3BDone'], | ||||||
|                              pdata[p]['street0_4BChance'], |                              pdata[p]['street0_4BChance'], | ||||||
|                              pdata[p]['street0_4BDone'], |                              pdata[p]['street0_4BDone'], | ||||||
|                              pdata[p]['other3BStreet0'], |                              pdata[p]['street0_C4BChance'], | ||||||
|                              pdata[p]['other4BStreet0'], |                              pdata[p]['street0_C4BDone'], | ||||||
|  |                              pdata[p]['street0_FoldTo3BChance'], | ||||||
|  |                              pdata[p]['street0_FoldTo3BDone'], | ||||||
|  |                              pdata[p]['street0_FoldTo4BChance'], | ||||||
|  |                              pdata[p]['street0_FoldTo4BDone'], | ||||||
|  |                              pdata[p]['street0_SqueezeChance'], | ||||||
|  |                              pdata[p]['street0_SqueezeDone'], | ||||||
|  |                              pdata[p]['success_Steal'], | ||||||
|                              pdata[p]['otherRaisedStreet0'], |                              pdata[p]['otherRaisedStreet0'], | ||||||
|                              pdata[p]['otherRaisedStreet1'], |                              pdata[p]['otherRaisedStreet1'], | ||||||
|                              pdata[p]['otherRaisedStreet2'], |                              pdata[p]['otherRaisedStreet2'], | ||||||
|  | @ -1854,23 +1878,16 @@ class Database: | ||||||
|                              pdata[p]['street4Raises'] |                              pdata[p]['street4Raises'] | ||||||
|                             ) ) |                             ) ) | ||||||
| 
 | 
 | ||||||
|  |         if insert: | ||||||
|  |             hp_bulk += inserts | ||||||
|             q = self.sql.query['store_hands_players'] |             q = self.sql.query['store_hands_players'] | ||||||
|             q = q.replace('%s', self.sql.query['placeholder']) |             q = q.replace('%s', self.sql.query['placeholder']) | ||||||
| 
 |  | ||||||
|         #print "DEBUG: inserts: %s" %inserts |  | ||||||
|         #print "DEBUG: q: %s" % q |  | ||||||
|             c = self.get_cursor() |             c = self.get_cursor() | ||||||
|  |             c.executemany(q, hp_bulk) | ||||||
|              |              | ||||||
|         if self.import_options['saveActions']: |         return inserts | ||||||
|             for r in inserts: |  | ||||||
|                 c.execute(q, r) |  | ||||||
|                 hpid[(r[0], r[1])] = self.get_last_insert_id(c) |  | ||||||
|         else: |  | ||||||
|             c.executemany(q, inserts) |  | ||||||
| 
 | 
 | ||||||
|         return hpid |     def storeHandsActions(self, hid, pids, adata, ha_bulk = None, insert = False, printdata = False): | ||||||
| 
 |  | ||||||
|     def storeHandsActions(self, hid, pids, hpid, adata, printdata = False): |  | ||||||
|         #print "DEBUG: %s %s %s" %(hid, pids, adata) |         #print "DEBUG: %s %s %s" %(hid, pids, adata) | ||||||
| 
 | 
 | ||||||
|         # This can be used to generate test data. Currently unused |         # This can be used to generate test data. Currently unused | ||||||
|  | @ -1881,8 +1898,8 @@ class Database: | ||||||
| 
 | 
 | ||||||
|         inserts = [] |         inserts = [] | ||||||
|         for a in adata: |         for a in adata: | ||||||
|             inserts.append( (hpid[(hid, pids[adata[a]['player']])], |             inserts.append( (hid, | ||||||
|                             #self.getHandsPlayerId(self.hid, pids[adata[a]['player']]), |                              pids[adata[a]['player']], | ||||||
|                              adata[a]['street'], |                              adata[a]['street'], | ||||||
|                              adata[a]['actionNo'], |                              adata[a]['actionNo'], | ||||||
|                              adata[a]['streetActionNo'], |                              adata[a]['streetActionNo'], | ||||||
|  | @ -1895,11 +1912,14 @@ class Database: | ||||||
|                              adata[a]['allIn'] |                              adata[a]['allIn'] | ||||||
|                             ) ) |                             ) ) | ||||||
| 
 | 
 | ||||||
|  |         if insert: | ||||||
|  |             ha_bulk += inserts | ||||||
|             q = self.sql.query['store_hands_actions'] |             q = self.sql.query['store_hands_actions'] | ||||||
|             q = q.replace('%s', self.sql.query['placeholder']) |             q = q.replace('%s', self.sql.query['placeholder']) | ||||||
| 
 |  | ||||||
|             c = self.get_cursor() |             c = self.get_cursor() | ||||||
|         c.executemany(q, inserts) |             c.executemany(q, ha_bulk) | ||||||
|  | 
 | ||||||
|  |         return inserts | ||||||
| 
 | 
 | ||||||
|     def storeHudCache(self, gid, pids, starttime, pdata): |     def storeHudCache(self, gid, pids, starttime, pdata): | ||||||
|         """Update cached statistics. If update fails because no record exists, do an insert.""" |         """Update cached statistics. If update fails because no record exists, do an insert.""" | ||||||
|  | @ -1926,95 +1946,103 @@ class Database: | ||||||
|         #print "DEBUG: %s %s %s" %(hid, pids, pdata) |         #print "DEBUG: %s %s %s" %(hid, pids, pdata) | ||||||
|         inserts = [] |         inserts = [] | ||||||
|         for p in pdata: |         for p in pdata: | ||||||
|             line = [0]*85 |             #NOTE: Insert new stats at right place because SQL needs strict order | ||||||
|  |             line = [] | ||||||
| 
 | 
 | ||||||
|             line[0] = 1 # HDs |             line.append(1)  # HDs | ||||||
|             if pdata[p]['street0VPI']:                  line[1] = 1 |             line.append(pdata[p]['street0VPI']) | ||||||
|             if pdata[p]['street0Aggr']:                 line[2] = 1 |             line.append(pdata[p]['street0Aggr'])                  | ||||||
|             if pdata[p]['street0_3BChance']:            line[3] = 1 |             line.append(pdata[p]['street0_3BChance'])             | ||||||
|             if pdata[p]['street0_3BDone']:              line[4] = 1 |             line.append(pdata[p]['street0_3BDone'])               | ||||||
|             if pdata[p]['street0_4BChance']:            line[5] = 1 |             line.append(pdata[p]['street0_4BChance'])             | ||||||
|             if pdata[p]['street0_4BDone']:              line[6] = 1 |             line.append(pdata[p]['street0_4BDone'])               | ||||||
|             if pdata[p]['other3BStreet0']:              line[7] = 1 |             line.append(pdata[p]['street0_C4BChance'])               | ||||||
|             if pdata[p]['other4BStreet0']:              line[8] = 1 |             line.append(pdata[p]['street0_C4BDone'])               | ||||||
|             if pdata[p]['street1Seen']:                 line[9] = 1 |             line.append(pdata[p]['street0_FoldTo3BChance'])       | ||||||
|             if pdata[p]['street2Seen']:                 line[10] = 1 |             line.append(pdata[p]['street0_FoldTo3BDone'])         | ||||||
|             if pdata[p]['street3Seen']:                 line[11] = 1 |             line.append(pdata[p]['street0_FoldTo4BChance'])       | ||||||
|             if pdata[p]['street4Seen']:                 line[12] = 1 |             line.append(pdata[p]['street0_FoldTo4BDone'])         | ||||||
|             if pdata[p]['sawShowdown']:                 line[13] = 1 |             line.append(pdata[p]['street0_SqueezeChance'])         | ||||||
|             if pdata[p]['street1Aggr']:                 line[14] = 1 |             line.append(pdata[p]['street0_SqueezeDone'])         | ||||||
|             if pdata[p]['street2Aggr']:                 line[15] = 1 |             line.append(pdata[p]['success_Steal'])         | ||||||
|             if pdata[p]['street3Aggr']:                 line[16] = 1 |             line.append(pdata[p]['street1Seen'])                  | ||||||
|             if pdata[p]['street4Aggr']:                 line[17] = 1 |             line.append(pdata[p]['street2Seen'])                  | ||||||
|             if pdata[p]['otherRaisedStreet0']:          line[18] = 1 |             line.append(pdata[p]['street3Seen'])                  | ||||||
|             if pdata[p]['otherRaisedStreet1']:          line[19] = 1 |             line.append(pdata[p]['street4Seen'])                  | ||||||
|             if pdata[p]['otherRaisedStreet2']:          line[20] = 1 |             line.append(pdata[p]['sawShowdown'])                  | ||||||
|             if pdata[p]['otherRaisedStreet3']:          line[21] = 1 |             line.append(pdata[p]['street1Aggr'])                  | ||||||
|             if pdata[p]['otherRaisedStreet4']:          line[22] = 1 |             line.append(pdata[p]['street2Aggr'])                  | ||||||
|             if pdata[p]['foldToOtherRaisedStreet0']:    line[23] = 1 |             line.append(pdata[p]['street3Aggr'])                  | ||||||
|             if pdata[p]['foldToOtherRaisedStreet1']:    line[24] = 1 |             line.append(pdata[p]['street4Aggr'])                  | ||||||
|             if pdata[p]['foldToOtherRaisedStreet2']:    line[25] = 1 |             line.append(pdata[p]['otherRaisedStreet0'])           | ||||||
|             if pdata[p]['foldToOtherRaisedStreet3']:    line[26] = 1 |             line.append(pdata[p]['otherRaisedStreet1'])           | ||||||
|             if pdata[p]['foldToOtherRaisedStreet4']:    line[27] = 1 |             line.append(pdata[p]['otherRaisedStreet2'])           | ||||||
|             line[28] = pdata[p]['wonWhenSeenStreet1'] |             line.append(pdata[p]['otherRaisedStreet3'])           | ||||||
|             line[29] = pdata[p]['wonWhenSeenStreet2'] |             line.append(pdata[p]['otherRaisedStreet4'])           | ||||||
|             line[30] = pdata[p]['wonWhenSeenStreet3'] |             line.append(pdata[p]['foldToOtherRaisedStreet0'])     | ||||||
|             line[31] = pdata[p]['wonWhenSeenStreet4'] |             line.append(pdata[p]['foldToOtherRaisedStreet1'])     | ||||||
|             line[32] = pdata[p]['wonAtSD'] |             line.append(pdata[p]['foldToOtherRaisedStreet2'])     | ||||||
|             if pdata[p]['raiseFirstInChance']:          line[33] = 1 |             line.append(pdata[p]['foldToOtherRaisedStreet3'])     | ||||||
|             if pdata[p]['raisedFirstIn']:               line[34] = 1 |             line.append(pdata[p]['foldToOtherRaisedStreet4'])     | ||||||
|             if pdata[p]['foldBbToStealChance']:         line[35] = 1 |             line.append(pdata[p]['wonWhenSeenStreet1']) | ||||||
|             if pdata[p]['foldedBbToSteal']:             line[36] = 1 |             line.append(pdata[p]['wonWhenSeenStreet2']) | ||||||
|             if pdata[p]['foldSbToStealChance']:         line[37] = 1 |             line.append(pdata[p]['wonWhenSeenStreet3']) | ||||||
|             if pdata[p]['foldedSbToSteal']:             line[38] = 1 |             line.append(pdata[p]['wonWhenSeenStreet4']) | ||||||
|             if pdata[p]['street1CBChance']:             line[39] = 1 |             line.append(pdata[p]['wonAtSD']) | ||||||
|             if pdata[p]['street1CBDone']:               line[40] = 1 |             line.append(pdata[p]['raiseFirstInChance'])           | ||||||
|             if pdata[p]['street2CBChance']:             line[41] = 1 |             line.append(pdata[p]['raisedFirstIn'])                | ||||||
|             if pdata[p]['street2CBDone']:               line[42] = 1 |             line.append(pdata[p]['foldBbToStealChance'])          | ||||||
|             if pdata[p]['street3CBChance']:             line[43] = 1 |             line.append(pdata[p]['foldedBbToSteal'])              | ||||||
|             if pdata[p]['street3CBDone']:               line[44] = 1 |             line.append(pdata[p]['foldSbToStealChance'])          | ||||||
|             if pdata[p]['street4CBChance']:             line[45] = 1 |             line.append(pdata[p]['foldedSbToSteal'])              | ||||||
|             if pdata[p]['street4CBDone']:               line[46] = 1 |             line.append(pdata[p]['street1CBChance'])              | ||||||
|             if pdata[p]['foldToStreet1CBChance']:       line[47] = 1 |             line.append(pdata[p]['street1CBDone'])                | ||||||
|             if pdata[p]['foldToStreet1CBDone']:         line[48] = 1 |             line.append(pdata[p]['street2CBChance'])              | ||||||
|             if pdata[p]['foldToStreet2CBChance']:       line[49] = 1 |             line.append(pdata[p]['street2CBDone'])                | ||||||
|             if pdata[p]['foldToStreet2CBDone']:         line[50] = 1 |             line.append(pdata[p]['street3CBChance'])              | ||||||
|             if pdata[p]['foldToStreet3CBChance']:       line[51] = 1 |             line.append(pdata[p]['street3CBDone'])                | ||||||
|             if pdata[p]['foldToStreet3CBDone']:         line[52] = 1 |             line.append(pdata[p]['street4CBChance'])              | ||||||
|             if pdata[p]['foldToStreet4CBChance']:       line[53] = 1 |             line.append(pdata[p]['street4CBDone'])                | ||||||
|             if pdata[p]['foldToStreet4CBDone']:         line[54] = 1 |             line.append(pdata[p]['foldToStreet1CBChance'])        | ||||||
|             line[55] = pdata[p]['totalProfit'] |             line.append(pdata[p]['foldToStreet1CBDone'])          | ||||||
|             if pdata[p]['street1CheckCallRaiseChance']: line[56] = 1 |             line.append(pdata[p]['foldToStreet2CBChance'])        | ||||||
|             if pdata[p]['street1CheckCallRaiseDone']:   line[57] = 1 |             line.append(pdata[p]['foldToStreet2CBDone'])          | ||||||
|             if pdata[p]['street2CheckCallRaiseChance']: line[58] = 1 |             line.append(pdata[p]['foldToStreet3CBChance'])        | ||||||
|             if pdata[p]['street2CheckCallRaiseDone']:   line[59] = 1 |             line.append(pdata[p]['foldToStreet3CBDone'])          | ||||||
|             if pdata[p]['street3CheckCallRaiseChance']: line[60] = 1 |             line.append(pdata[p]['foldToStreet4CBChance'])        | ||||||
|             if pdata[p]['street3CheckCallRaiseDone']:   line[61] = 1 |             line.append(pdata[p]['foldToStreet4CBDone'])          | ||||||
|             if pdata[p]['street4CheckCallRaiseChance']: line[62] = 1 |             line.append(pdata[p]['totalProfit']) | ||||||
|             if pdata[p]['street4CheckCallRaiseDone']:   line[63] = 1 |             line.append(pdata[p]['street1CheckCallRaiseChance'])  | ||||||
|             if pdata[p]['street0Calls']:                line[64] = 1 |             line.append(pdata[p]['street1CheckCallRaiseDone'])    | ||||||
|             if pdata[p]['street1Calls']:                line[65] = 1 |             line.append(pdata[p]['street2CheckCallRaiseChance'])  | ||||||
|             if pdata[p]['street2Calls']:                line[66] = 1 |             line.append(pdata[p]['street2CheckCallRaiseDone'])    | ||||||
|             if pdata[p]['street3Calls']:                line[67] = 1 |             line.append(pdata[p]['street3CheckCallRaiseChance'])  | ||||||
|             if pdata[p]['street4Calls']:                line[68] = 1 |             line.append(pdata[p]['street3CheckCallRaiseDone'])    | ||||||
|             if pdata[p]['street0Bets']:                 line[69] = 1 |             line.append(pdata[p]['street4CheckCallRaiseChance'])  | ||||||
|             if pdata[p]['street1Bets']:                 line[70] = 1 |             line.append(pdata[p]['street4CheckCallRaiseDone'])    | ||||||
|             if pdata[p]['street2Bets']:                 line[71] = 1 |             line.append(pdata[p]['street0Calls'])                 | ||||||
|             if pdata[p]['street3Bets']:                 line[72] = 1 |             line.append(pdata[p]['street1Calls'])                 | ||||||
|             if pdata[p]['street4Bets']:                 line[73] = 1 |             line.append(pdata[p]['street2Calls'])                 | ||||||
|             if pdata[p]['street0Raises']:               line[74] = 1 |             line.append(pdata[p]['street3Calls'])                 | ||||||
|             if pdata[p]['street1Raises']:               line[75] = 1 |             line.append(pdata[p]['street4Calls'])                 | ||||||
|             if pdata[p]['street2Raises']:               line[76] = 1 |             line.append(pdata[p]['street0Bets'])                  | ||||||
|             if pdata[p]['street3Raises']:               line[77] = 1 |             line.append(pdata[p]['street1Bets'])                  | ||||||
|             if pdata[p]['street4Raises']:               line[78] = 1 |             line.append(pdata[p]['street2Bets'])                  | ||||||
|  |             line.append(pdata[p]['street3Bets'])                  | ||||||
|  |             line.append(pdata[p]['street4Bets'])                  | ||||||
|  |             line.append(pdata[p]['street0Raises'])                | ||||||
|  |             line.append(pdata[p]['street1Raises'])                | ||||||
|  |             line.append(pdata[p]['street2Raises'])                | ||||||
|  |             line.append(pdata[p]['street3Raises'])                | ||||||
|  |             line.append(pdata[p]['street4Raises'])                | ||||||
| 
 | 
 | ||||||
|             line[79] = gid    # gametypeId |             line.append(gid)          # gametypeId | ||||||
|             line[80] = pids[p]    # playerId |             line.append(pids[p])      # playerId | ||||||
|             line[81] = len(pids)    # activeSeats |             line.append(len(pids))    # activeSeats | ||||||
|             pos = {'B':'B', 'S':'S', 0:'D', 1:'C', 2:'M', 3:'M', 4:'M', 5:'E', 6:'E', 7:'E', 8:'E', 9:'E' } |             pos = {'B':'B', 'S':'S', 0:'D', 1:'C', 2:'M', 3:'M', 4:'M', 5:'E', 6:'E', 7:'E', 8:'E', 9:'E' } | ||||||
|             line[82] = pos[pdata[p]['position']] |             line.append(pos[pdata[p]['position']]) | ||||||
|             line[83] = pdata[p]['tourneyTypeId'] |             line.append(pdata[p]['tourneyTypeId']) | ||||||
|             line[84] = styleKey    # styleKey |             line.append(styleKey)    # styleKey | ||||||
|             inserts.append(line) |             inserts.append(line) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -2040,10 +2068,9 @@ class Database: | ||||||
|                 pass |                 pass | ||||||
|              |              | ||||||
|     def storeSessionsCache(self, pids, startTime, game, pdata): |     def storeSessionsCache(self, pids, startTime, game, pdata): | ||||||
|         """Update cached sessions. If update fails because no record exists, do an insert""" |         """Update cached sessions. If no record exists, do an insert""" | ||||||
|          |          | ||||||
|         THRESHOLD = timedelta(seconds=int(self.sessionTimeout * 60)) |         THRESHOLD = timedelta(seconds=int(self.sessionTimeout * 60)) | ||||||
|         bigBet = int(Decimal(game['bb'])*200) |  | ||||||
|          |          | ||||||
|         select_sessionscache = self.sql.query['select_sessionscache'] |         select_sessionscache = self.sql.query['select_sessionscache'] | ||||||
|         select_sessionscache = select_sessionscache.replace('%s', self.sql.query['placeholder']) |         select_sessionscache = select_sessionscache.replace('%s', self.sql.query['placeholder']) | ||||||
|  | @ -2066,6 +2093,9 @@ class Database: | ||||||
|         delete_sessions = self.sql.query['delete_sessions'] |         delete_sessions = self.sql.query['delete_sessions'] | ||||||
|         delete_sessions = delete_sessions.replace('%s', self.sql.query['placeholder']) |         delete_sessions = delete_sessions.replace('%s', self.sql.query['placeholder']) | ||||||
|          |          | ||||||
|  |         update_hands_sessionid = self.sql.query['update_hands_sessionid'] | ||||||
|  |         update_hands_sessionid = update_hands_sessionid.replace('%s', self.sql.query['placeholder']) | ||||||
|  |          | ||||||
|         #Grab playerIds using hero names in HUD_Config.xml |         #Grab playerIds using hero names in HUD_Config.xml | ||||||
|         try: |         try: | ||||||
|             # derive list of program owner's player ids |             # derive list of program owner's player ids | ||||||
|  | @ -2095,29 +2125,32 @@ class Database: | ||||||
|      |      | ||||||
|                 if (game['type']=='ring'): line[0] = 1 # count ring hands |                 if (game['type']=='ring'): line[0] = 1 # count ring hands | ||||||
|                 if (game['type']=='tour'): line[1] = 1 # count tour hands |                 if (game['type']=='tour'): line[1] = 1 # count tour hands | ||||||
|                 if (game['type']=='ring'): line[2] = pdata[p]['totalProfit'] #sum of profit |                 if (game['type']=='ring' and game['currency']=='USD'): line[2] = pdata[p]['totalProfit'] #sum of ring profit in USD | ||||||
|                 if (game['type']=='ring'): line[3] = 0 #float(Decimal(pdata[p]['totalProfit'])/Decimal(bigBet)) #sum of big bets won |                 if (game['type']=='ring' and game['currency']=='EUR'): line[3] = pdata[p]['totalProfit'] #sum of ring profit in EUR | ||||||
|                 line[4] = startTime |                 line[4] = startTime | ||||||
|                 inserts.append(line) |                 inserts.append(line) | ||||||
| 
 | 
 | ||||||
|         cursor = self.get_cursor() |         cursor = self.get_cursor() | ||||||
|  |         id = None | ||||||
| 
 | 
 | ||||||
|         for row in inserts: |         for row in inserts: | ||||||
|             threshold = [] |             threshold = [] | ||||||
|             threshold.append(row[-1]-THRESHOLD) |             threshold.append(row[-1]-THRESHOLD) | ||||||
|             threshold.append(row[-1]+THRESHOLD) |             threshold.append(row[-1]+THRESHOLD) | ||||||
|             cursor.execute(select_sessionscache, threshold) |             cursor.execute(select_sessionscache, threshold) | ||||||
|             num = cursor.rowcount |             session_records = cursor.fetchall() | ||||||
|  |             num = len(session_records) | ||||||
|             if (num == 1): |             if (num == 1): | ||||||
|  |                 id = session_records[0][0] #grab the sessionId | ||||||
|                 # Try to do the update first: |                 # Try to do the update first: | ||||||
|                 #print "DEBUG: found 1 record to update" |                 #print "DEBUG: found 1 record to update" | ||||||
|                 update_mid = row + row[-1:] |                 update_mid = row + row[-1:] | ||||||
|                 cursor.execute(select_sessionscache_mid, update_mid[-2:]) |                 cursor.execute(select_sessionscache_mid, update_mid[-2:]) | ||||||
|                 mid = cursor.rowcount |                 mid = len(cursor.fetchall()) | ||||||
|                 if (mid == 0): |                 if (mid == 0): | ||||||
|                     update_startend = row[-1:] + row + threshold |                     update_startend = row[-1:] + row + threshold | ||||||
|                     cursor.execute(select_sessionscache_start, update_startend[-3:]) |                     cursor.execute(select_sessionscache_start, update_startend[-3:]) | ||||||
|                     start = cursor.rowcount |                     start = len(cursor.fetchall()) | ||||||
|                     if (start == 0): |                     if (start == 0): | ||||||
|                         #print "DEBUG:", start, " start record found. Update stats and start time" |                         #print "DEBUG:", start, " start record found. Update stats and start time" | ||||||
|                         cursor.execute(update_sessionscache_end, update_startend)                  |                         cursor.execute(update_sessionscache_end, update_startend)                  | ||||||
|  | @ -2128,27 +2161,23 @@ class Database: | ||||||
|                     #print "DEBUG: update stats mid-session" |                     #print "DEBUG: update stats mid-session" | ||||||
|                     cursor.execute(update_sessionscache_mid, update_mid) |                     cursor.execute(update_sessionscache_mid, update_mid) | ||||||
|             elif (num > 1): |             elif (num > 1): | ||||||
|  |                 session_ids = [session_records[0][0], session_records[1][0]] | ||||||
|  |                 session_ids.sort() | ||||||
|                 # Multiple matches found - merge them into one session and update: |                 # Multiple matches found - merge them into one session and update: | ||||||
|                 #print "DEBUG:", num, "matches found" |                 # - Obtain the session start and end times for the new combined session | ||||||
|                 cursor.execute(merge_sessionscache, threshold) |                 cursor.execute(merge_sessionscache, session_ids) | ||||||
|                 merge = cursor.fetchone() |                 merge = cursor.fetchone() | ||||||
|                 cursor.execute(delete_sessions, threshold) |                 # - Delete the old records | ||||||
|  |                 for id in session_ids: | ||||||
|  |                     cursor.execute(delete_sessions, id) | ||||||
|  |                 # - Insert the new updated record | ||||||
|                 cursor.execute(insert_sessionscache, merge) |                 cursor.execute(insert_sessionscache, merge) | ||||||
|  |                 # - Obtain the new sessionId and write over the old ids in Hands | ||||||
|  |                 id = self.get_last_insert_id(cursor) #grab the sessionId | ||||||
|  |                 update_hands = [id] + session_ids | ||||||
|  |                 cursor.execute(update_hands_sessionid, update_hands) | ||||||
|  |                 # - Update the newly combined record in SessionsCache with data from this hand | ||||||
|                 update_mid = row + row[-1:] |                 update_mid = row + row[-1:] | ||||||
|                 cursor.execute(select_sessionscache_mid, update_mid[-2:]) |  | ||||||
|                 mid = cursor.rowcount |  | ||||||
|                 if (mid == 0): |  | ||||||
|                     update_startend = row[-1:] + row + threshold |  | ||||||
|                     cursor.execute(select_sessionscache_start, update_startend[-3:]) |  | ||||||
|                     start = cursor.rowcount |  | ||||||
|                     if (start == 0): |  | ||||||
|                         #print "DEBUG:", start, " start record found. Update stats and start time" |  | ||||||
|                         cursor.execute(update_sessionscache_end, update_startend)                  |  | ||||||
|                     else: |  | ||||||
|                         #print "DEBUG: 1 end record found. Update stats and end time time" |  | ||||||
|                         cursor.execute(update_sessionscache_start, update_startend)  |  | ||||||
|                 else: |  | ||||||
|                     #print "DEBUG: update stats mid-session" |  | ||||||
|                 cursor.execute(update_sessionscache_mid, update_mid) |                 cursor.execute(update_sessionscache_mid, update_mid) | ||||||
|             elif (num == 0): |             elif (num == 0): | ||||||
|                 # No matches found, insert new session: |                 # No matches found, insert new session: | ||||||
|  | @ -2156,10 +2185,13 @@ class Database: | ||||||
|                 insert = insert[-2:] + insert[:-2] |                 insert = insert[-2:] + insert[:-2] | ||||||
|                 #print "DEBUG: No matches found. Insert record", insert |                 #print "DEBUG: No matches found. Insert record", insert | ||||||
|                 cursor.execute(insert_sessionscache, insert) |                 cursor.execute(insert_sessionscache, insert) | ||||||
|  |                 id = self.get_last_insert_id(cursor) #grab the sessionId | ||||||
|             else: |             else: | ||||||
|                 # Something bad happened |                 # Something bad happened | ||||||
|                 pass |                 pass | ||||||
|          |          | ||||||
|  |         return id  | ||||||
|  | 
 | ||||||
|     def isDuplicate(self, gametypeID, siteHandNo): |     def isDuplicate(self, gametypeID, siteHandNo): | ||||||
|         dup = False |         dup = False | ||||||
|         c = self.get_cursor() |         c = self.get_cursor() | ||||||
|  |  | ||||||
|  | @ -30,62 +30,76 @@ class DerivedStats(): | ||||||
|         self.hands        = {} |         self.hands        = {} | ||||||
|         self.handsplayers = {} |         self.handsplayers = {} | ||||||
|         self.handsactions = {} |         self.handsactions = {} | ||||||
|  |         self._initStats = DerivedStats._buildStatsInitializer() | ||||||
| 
 | 
 | ||||||
|     def getStats(self, hand): |     @staticmethod | ||||||
|          |     def _buildStatsInitializer(): | ||||||
|         for player in hand.players: |         init = {} | ||||||
|             self.handsplayers[player[1]] = {} |  | ||||||
|         #Init vars that may not be used, but still need to be inserted. |         #Init vars that may not be used, but still need to be inserted. | ||||||
|         # All stud street4 need this when importing holdem |         # All stud street4 need this when importing holdem | ||||||
|             self.handsplayers[player[1]]['winnings']    = 0 |         init['winnings']    = 0 | ||||||
|             self.handsplayers[player[1]]['rake']        = 0 |         init['rake']        = 0 | ||||||
|             self.handsplayers[player[1]]['totalProfit'] = 0 |         init['totalProfit'] = 0 | ||||||
|             self.handsplayers[player[1]]['street4Aggr'] = False |         init['street4Aggr'] = False | ||||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet1'] = 0.0 |         init['wonWhenSeenStreet1'] = 0.0 | ||||||
|             self.handsplayers[player[1]]['sawShowdown'] = False |         init['sawShowdown'] = False | ||||||
|             self.handsplayers[player[1]]['wonAtSD']     = 0.0 |         init['wonAtSD']     = 0.0 | ||||||
|             self.handsplayers[player[1]]['startCards']  = 0 |         init['startCards']  = 0 | ||||||
|             self.handsplayers[player[1]]['position']            = 2 |         init['position']            = 2 | ||||||
|             self.handsplayers[player[1]]['street0_3BChance']    = False |         init['street0_3BChance']    = False | ||||||
|             self.handsplayers[player[1]]['street0_3BDone']      = False |         init['street0_3BDone']      = False | ||||||
|             self.handsplayers[player[1]]['street0_4BChance']    = False #FIXME: this might not actually be implemented |         init['street0_4BChance']    = False | ||||||
|             self.handsplayers[player[1]]['street0_4BDone']      = False #FIXME: this might not actually be implemented |         init['street0_4BDone']      = False | ||||||
|             self.handsplayers[player[1]]['raiseFirstInChance']  = False |         init['street0_C4BChance']   = False | ||||||
|             self.handsplayers[player[1]]['raisedFirstIn']       = False |         init['street0_C4BDone']     = False | ||||||
|             self.handsplayers[player[1]]['foldBbToStealChance'] = False |         init['street0_FoldTo3BChance']= False | ||||||
|             self.handsplayers[player[1]]['foldSbToStealChance'] = False |         init['street0_FoldTo3BDone']= False | ||||||
|             self.handsplayers[player[1]]['foldedSbToSteal']     = False |         init['street0_FoldTo4BChance']= False | ||||||
|             self.handsplayers[player[1]]['foldedBbToSteal']     = False |         init['street0_FoldTo4BDone']= False | ||||||
|             self.handsplayers[player[1]]['tourneyTypeId']       = None |         init['street0_SqueezeChance']= False | ||||||
|             self.handsplayers[player[1]]['street1Seen']         = False |         init['street0_SqueezeDone'] = False | ||||||
|             self.handsplayers[player[1]]['street2Seen']         = False |         init['success_Steal']       = False | ||||||
|             self.handsplayers[player[1]]['street3Seen']         = False |         init['raiseFirstInChance']  = False | ||||||
|             self.handsplayers[player[1]]['street4Seen']         = False |         init['raisedFirstIn']       = False | ||||||
|  |         init['foldBbToStealChance'] = False | ||||||
|  |         init['foldSbToStealChance'] = False | ||||||
|  |         init['foldedSbToSteal']     = False | ||||||
|  |         init['foldedBbToSteal']     = False | ||||||
|  |         init['tourneyTypeId']       = None | ||||||
|  |         init['street1Seen']         = False | ||||||
|  |         init['street2Seen']         = False | ||||||
|  |         init['street3Seen']         = False | ||||||
|  |         init['street4Seen']         = False | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         for i in range(5): |         for i in range(5): | ||||||
|                 self.handsplayers[player[1]]['street%dCalls' % i] = 0 |             init['street%dCalls' % i] = 0 | ||||||
|                 self.handsplayers[player[1]]['street%dBets' % i] = 0 |             init['street%dBets' % i] = 0 | ||||||
|                 self.handsplayers[player[1]]['street%dRaises' % i] = 0 |             init['street%dRaises' % i] = 0 | ||||||
|         for i in range(1,5): |         for i in range(1,5): | ||||||
|                 self.handsplayers[player[1]]['street%dCBChance' %i] = False |             init['street%dCBChance' %i] = False | ||||||
|                 self.handsplayers[player[1]]['street%dCBDone' %i] = False |             init['street%dCBDone' %i] = False | ||||||
|                 self.handsplayers[player[1]]['street%dCheckCallRaiseChance' %i] = False |             init['street%dCheckCallRaiseChance' %i] = False | ||||||
|                 self.handsplayers[player[1]]['street%dCheckCallRaiseDone' %i]   = False |             init['street%dCheckCallRaiseDone' %i]   = False | ||||||
|                 self.handsplayers[player[1]]['otherRaisedStreet%d' %i]          = False |             init['otherRaisedStreet%d' %i]          = False | ||||||
|                 self.handsplayers[player[1]]['foldToOtherRaisedStreet%d' %i]    = False |             init['foldToOtherRaisedStreet%d' %i]    = False | ||||||
| 
 | 
 | ||||||
|         #FIXME - Everything below this point is incomplete. |         #FIXME - Everything below this point is incomplete. | ||||||
|             self.handsplayers[player[1]]['other3BStreet0']              = False |         init['other3BStreet0']              = False | ||||||
|             self.handsplayers[player[1]]['other4BStreet0']              = False |         init['other4BStreet0']              = False | ||||||
|             self.handsplayers[player[1]]['otherRaisedStreet0']          = False |         init['otherRaisedStreet0']          = False | ||||||
|             self.handsplayers[player[1]]['foldToOtherRaisedStreet0']    = False |         init['foldToOtherRaisedStreet0']    = False | ||||||
|         for i in range(1,5): |         for i in range(1,5): | ||||||
|                 self.handsplayers[player[1]]['foldToStreet%dCBChance' %i]       = False |             init['foldToStreet%dCBChance' %i]       = False | ||||||
|                 self.handsplayers[player[1]]['foldToStreet%dCBDone' %i]         = False |             init['foldToStreet%dCBDone' %i]         = False | ||||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet2'] = 0.0 |         init['wonWhenSeenStreet2'] = 0.0 | ||||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet3'] = 0.0 |         init['wonWhenSeenStreet3'] = 0.0 | ||||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet4'] = 0.0 |         init['wonWhenSeenStreet4'] = 0.0 | ||||||
|  |         return init | ||||||
|  | 
 | ||||||
|  |     def getStats(self, hand): | ||||||
|  |         for player in hand.players: | ||||||
|  |             self.handsplayers[player[1]] = self._initStats.copy() | ||||||
| 
 | 
 | ||||||
|         self.assembleHands(self.hand) |         self.assembleHands(self.hand) | ||||||
|         self.assembleHandsPlayers(self.hand) |         self.assembleHandsPlayers(self.hand) | ||||||
|  | @ -106,6 +120,7 @@ class DerivedStats(): | ||||||
|         self.hands['tableName']  = hand.tablename |         self.hands['tableName']  = hand.tablename | ||||||
|         self.hands['siteHandNo'] = hand.handid |         self.hands['siteHandNo'] = hand.handid | ||||||
|         self.hands['gametypeId'] = None                     # Leave None, handled later after checking db |         self.hands['gametypeId'] = None                     # Leave None, handled later after checking db | ||||||
|  |         self.hands['sessionId']  = None                     # Leave None, added later if caching sessions | ||||||
|         self.hands['startTime']  = hand.startTime           # format this! |         self.hands['startTime']  = hand.startTime           # format this! | ||||||
|         self.hands['importTime'] = None |         self.hands['importTime'] = None | ||||||
|         self.hands['seats']      = self.countPlayers(hand)  |         self.hands['seats']      = self.countPlayers(hand)  | ||||||
|  | @ -413,8 +428,10 @@ class DerivedStats(): | ||||||
|             #print "\naction:", action[0], posn, type(posn), steal_attempt, act |             #print "\naction:", action[0], posn, type(posn), steal_attempt, act | ||||||
|             if posn == 'B': |             if posn == 'B': | ||||||
|                 #NOTE: Stud games will never hit this section |                 #NOTE: Stud games will never hit this section | ||||||
|                 self.handsplayers[pname]['foldBbToStealChance'] = steal_attempt |                 if steal_attempt: | ||||||
|                 self.handsplayers[pname]['foldedBbToSteal'] = steal_attempt and act == 'folds' |                     self.handsplayers[pname]['foldBbToStealChance'] = True | ||||||
|  |                     self.handsplayers[pname]['foldedBbToSteal'] = act == 'folds' | ||||||
|  |                     self.handsplayers[stealer]['success_Steal'] = act == 'folds' | ||||||
|                 break |                 break | ||||||
|             elif posn == 'S': |             elif posn == 'S': | ||||||
|                 self.handsplayers[pname]['foldSbToStealChance'] = steal_attempt |                 self.handsplayers[pname]['foldSbToStealChance'] = steal_attempt | ||||||
|  | @ -430,6 +447,7 @@ class DerivedStats(): | ||||||
|                     raised = True |                     raised = True | ||||||
|                     if posn in steal_positions: |                     if posn in steal_positions: | ||||||
|                         steal_attempt = True |                         steal_attempt = True | ||||||
|  |                         stealer = pname | ||||||
|                 if act == 'calls': |                 if act == 'calls': | ||||||
|                     break |                     break | ||||||
|              |              | ||||||
|  | @ -439,16 +457,48 @@ class DerivedStats(): | ||||||
|     def calc34BetStreet0(self, hand): |     def calc34BetStreet0(self, hand): | ||||||
|         """Fills street0_(3|4)B(Chance|Done), other(3|4)BStreet0""" |         """Fills street0_(3|4)B(Chance|Done), other(3|4)BStreet0""" | ||||||
|         bet_level = 1 # bet_level after 3-bet is equal to 3 |         bet_level = 1 # bet_level after 3-bet is equal to 3 | ||||||
|  |         squeeze_chance = 0 | ||||||
|         for action in hand.actions[hand.actionStreets[1]]: |         for action in hand.actions[hand.actionStreets[1]]: | ||||||
|             # FIXME: fill other(3|4)BStreet0 - i have no idea what does it mean |             pname, act, aggr = action[0], action[1], action[1] in ('raises', 'bets') | ||||||
|             pname, aggr = action[0], action[1] in ('raises', 'bets') |             if bet_level == 1: | ||||||
|             self.handsplayers[pname]['street0_3BChance'] = self.handsplayers[pname]['street0_3BChance'] or bet_level == 2 |  | ||||||
|             self.handsplayers[pname]['street0_4BChance'] = bet_level == 3 |  | ||||||
|             self.handsplayers[pname]['street0_3BDone'] =  self.handsplayers[pname]['street0_3BDone'] or (aggr and self.handsplayers[pname]['street0_3BChance']) |  | ||||||
|             self.handsplayers[pname]['street0_4BDone'] =  aggr and (self.handsplayers[pname]['street0_4BChance']) |  | ||||||
|                 if aggr: |                 if aggr: | ||||||
|  |                     first_agressor = pname | ||||||
|                     bet_level += 1 |                     bet_level += 1 | ||||||
| 
 |                 continue | ||||||
|  |             elif bet_level == 2: | ||||||
|  |                 self.handsplayers[pname]['street0_3BChance'] = True | ||||||
|  |                 self.handsplayers[pname]['street0_SqueezeChance'] = squeeze_chance | ||||||
|  |                 if not squeeze_chance and act == 'calls': | ||||||
|  |                     squeeze_chance = 1 | ||||||
|  |                     continue | ||||||
|  |                 if aggr: | ||||||
|  |                     self.handsplayers[pname]['street0_3BDone'] = True | ||||||
|  |                     self.handsplayers[pname]['street0_SqueezeDone'] = squeeze_chance | ||||||
|  |                     second_agressor = pname | ||||||
|  |                     bet_level += 1 | ||||||
|  |                 continue | ||||||
|  |             elif bet_level == 3: | ||||||
|  |                 if pname == first_agressor: | ||||||
|  |                     self.handsplayers[pname]['street0_4BChance'] = True | ||||||
|  |                     self.handsplayers[pname]['street0_FoldTo3BChance'] = True | ||||||
|  |                     if aggr: | ||||||
|  |                         self.handsplayers[pname]['street0_4BDone'] = True | ||||||
|  |                         bet_level += 1 | ||||||
|  |                     elif act == 'folds': | ||||||
|  |                         self.handsplayers[pname]['street0_FoldTo3BDone'] = True | ||||||
|  |                         break | ||||||
|  |                 else: | ||||||
|  |                     self.handsplayers[pname]['street0_C4BChance'] = True | ||||||
|  |                     if aggr: | ||||||
|  |                         self.handsplayers[pname]['street0_C4BDone'] = True | ||||||
|  |                         bet_level += 1 | ||||||
|  |                 continue | ||||||
|  |             elif bet_level == 4: | ||||||
|  |                 if pname == second_agressor:  | ||||||
|  |                     self.handsplayers[pname]['street0_FoldTo4BChance'] = True | ||||||
|  |                     if act == 'folds': | ||||||
|  |                         self.handsplayers[pname]['street0_FoldTo4BDone'] = True | ||||||
|  |                     break | ||||||
| 
 | 
 | ||||||
|     def calcCBets(self, hand): |     def calcCBets(self, hand): | ||||||
|         """Fill streetXCBChance, streetXCBDone, foldToStreetXCBDone, foldToStreetXCBChance |         """Fill streetXCBChance, streetXCBDone, foldToStreetXCBDone, foldToStreetXCBChance | ||||||
|  |  | ||||||
							
								
								
									
										254
									
								
								pyfpdb/EverestToFpdb.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										254
									
								
								pyfpdb/EverestToFpdb.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,254 @@ | ||||||
|  | #!/usr/bin/env python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # | ||||||
|  | #    Copyright 2011, Carl Gherardi | ||||||
|  | #     | ||||||
|  | #    This program is free software; you can redistribute it and/or modify | ||||||
|  | #    it under the terms of the GNU General Public License as published by | ||||||
|  | #    the Free Software Foundation; either version 2 of the License, or | ||||||
|  | #    (at your option) any later version. | ||||||
|  | #     | ||||||
|  | #    This program is distributed in the hope that it will be useful, | ||||||
|  | #    but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #    GNU General Public License for more details. | ||||||
|  | #     | ||||||
|  | #    You should have received a copy of the GNU General Public License | ||||||
|  | #    along with this program; if not, write to the Free Software | ||||||
|  | #    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||||
|  | 
 | ||||||
|  | ######################################################################## | ||||||
|  | 
 | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
|  | import sys | ||||||
|  | import logging | ||||||
|  | from HandHistoryConverter import * | ||||||
|  | from decimal import Decimal | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Everest(HandHistoryConverter): | ||||||
|  |     sitename = "Everest" | ||||||
|  |     filetype = "text" | ||||||
|  |     codepage = "utf8" | ||||||
|  |     siteID   = 15 | ||||||
|  | 
 | ||||||
|  |     substitutions = { | ||||||
|  |                         'LS' : u"\$|\xe2\x82\xac|\u20ac|", | ||||||
|  |                        'TAB' : u"-\u2013'\s\da-zA-Z",       # legal characters for tablename | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |     # Static regexes | ||||||
|  |     re_SplitHands = re.compile(r'</HAND>\n+(?=<HAND)') | ||||||
|  |     re_TailSplitHands = re.compile(r'(</game>)') | ||||||
|  |     re_GameInfo = re.compile(u"""<SESSION\stime="\d+"\s | ||||||
|  |                                     tableName="(?P<TABLE>[%(TAB)s]+)"\s | ||||||
|  |                                     id="[\d\.]+"\s | ||||||
|  |                                     type="(?P<TYPE>[a-zA-Z ]+)"\s | ||||||
|  |                                     money="(?P<CURRENCY>[%(LS)s])"\s | ||||||
|  |                                     screenName="[a-zA-Z]+"\s | ||||||
|  |                                     game="(?P<GAME>[-a-zA-Z ]+)"\s | ||||||
|  |                                     gametype="(?P<LIMIT>[-a-zA-Z ]+)"/> | ||||||
|  |                                 """ % substitutions, re.VERBOSE|re.MULTILINE) | ||||||
|  |     re_HandInfo = re.compile(r'<HAND time="(?P<DATETIME>[0-9]+)" id="(?P<HID>[0-9]+)" index="\d+" blinds="((?P<SB>\d+) (?P<CURRENCY>[%(LS)s])/(?P<BB>\d+))' % substitutions, re.MULTILINE) | ||||||
|  |     re_Button = re.compile(r'<DEALER position="(?P<BUTTON>[0-9]+)"\/>') | ||||||
|  |     re_PlayerInfo = re.compile(r'<SEAT position="(?P<SEAT>[0-9]+)" name="(?P<PNAME>.+)" balance="(?P<CASH>[.0-9]+)"/>', re.MULTILINE) | ||||||
|  |     re_Board = re.compile(r'(?P<CARDS>.+)<\/COMMUNITY>', re.MULTILINE) | ||||||
|  | 
 | ||||||
|  |     # The following are also static regexes: there is no need to call | ||||||
|  |     # compilePlayerRegexes (which does nothing), since players are identified | ||||||
|  |     # not by name but by seat number | ||||||
|  |     re_PostXB = re.compile(r'<BLIND position="(?P<PSEAT>[0-9]+)" amount="(?P<XB>[0-9]+)" penalty="(?P<PENALTY>[0-9]+)"\/>', re.MULTILINE) | ||||||
|  |     #re_Antes = ??? | ||||||
|  |     #re_BringIn = ??? | ||||||
|  |     re_HeroCards = re.compile(r'<cards type="HOLE" cards="(?P<CARDS>.+)" player="(?P<PSEAT>[0-9])"', re.MULTILINE) | ||||||
|  |     re_Action = re.compile(r'<(?P<ATYPE>FOLD|BET) position="(?P<PSEAT>[0-9])"( amount="(?P<BET>[.0-9]+)")?\/>', re.MULTILINE) | ||||||
|  |     re_ShowdownAction = re.compile(r'<cards type="SHOWN" cards="(?P<CARDS>..,..)" player="(?P<PSEAT>[0-9])"/>', re.MULTILINE) | ||||||
|  |     re_CollectPot = re.compile(r'<WIN position="(?P<PSEAT>[0-9])" amount="(?P<POT>[.0-9]+)" pot="[0-9]+"', re.MULTILINE) | ||||||
|  |     re_SitsOut = re.compile(r'<event sequence="[0-9]+" type="SIT_OUT" player="(?P<PSEAT>[0-9])"/>', re.MULTILINE) | ||||||
|  |     re_ShownCards = re.compile(r'<cards type="(SHOWN|MUCKED)" cards="(?P<CARDS>..,..)" player="(?P<PSEAT>[0-9])"/>', re.MULTILINE) | ||||||
|  | 
 | ||||||
|  |     def compilePlayerRegexs(self, hand): | ||||||
|  |         pass | ||||||
|  | 
 | ||||||
|  |     def playerNameFromSeatNo(self, seatNo, hand): | ||||||
|  |         # Actions recorded by seat number, not by the player's name | ||||||
|  |         for p in hand.players: | ||||||
|  |             if p[0] == seatNo: | ||||||
|  |                 return p[1] | ||||||
|  | 
 | ||||||
|  |     def readSupportedGames(self): | ||||||
|  |         return [ | ||||||
|  |                 ["ring", "hold", "nl"], | ||||||
|  |                 ["ring", "hold", "pl"], | ||||||
|  |                 #["tour", "hold", "nl"] | ||||||
|  |                ] | ||||||
|  | 
 | ||||||
|  |     def determineGameType(self, handText): | ||||||
|  |         m = self.re_GameInfo.search(handText) | ||||||
|  |         m2 = self.re_HandInfo.search(handText) | ||||||
|  |         if not m: | ||||||
|  |             # Information about the game type appears only at the beginning of | ||||||
|  |             # a hand history file; hence it is not supplied with the second | ||||||
|  |             # and subsequent hands. In these cases we use the value previously | ||||||
|  |             # stored. | ||||||
|  |             try: | ||||||
|  |                 self.info | ||||||
|  |                 return self.info | ||||||
|  |             except AttributeError: | ||||||
|  |                 tmp = handText[0:100] | ||||||
|  |                 log.error(_("determineGameType: Unable to recognise gametype from: '%s'") % tmp) | ||||||
|  |                 log.error(_("determineGameType: Raising FpdbParseError")) | ||||||
|  |                 raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) | ||||||
|  | 
 | ||||||
|  |         if not m2: | ||||||
|  |             tmp = handText[0:100] | ||||||
|  |             raise FpdbParseError(_("Unable to recognise handinfo from: '%s'") % tmp) | ||||||
|  | 
 | ||||||
|  |         self.info = {} | ||||||
|  |         mg = m.groupdict() | ||||||
|  |         mg.update(m2.groupdict()) | ||||||
|  |         print "DEBUG: mg: %s" % mg | ||||||
|  | 
 | ||||||
|  |         limits = { 'No Limit':'nl', 'No Limit ':'nl', 'Limit':'fl', 'pot-limit':'pl' } | ||||||
|  |         games = {              # base, category | ||||||
|  |                     'Holdem' : ('hold','holdem'), | ||||||
|  |          'Holdem Tournament' : ('hold','holdem'), | ||||||
|  |                   'omaha-hi' : ('hold','omahahi'), | ||||||
|  |                 } | ||||||
|  | 
 | ||||||
|  |         if 'LIMIT' in mg: | ||||||
|  |             self.info['limitType'] = limits[mg['LIMIT']] | ||||||
|  |         if 'GAME' in mg: | ||||||
|  |             (self.info['base'], self.info['category']) = games[mg['GAME']] | ||||||
|  |         if 'SB' in mg: | ||||||
|  |             self.info['sb'] = mg['SB'] | ||||||
|  |         if 'BB' in mg: | ||||||
|  |             self.info['bb'] = mg['BB'] | ||||||
|  | 
 | ||||||
|  |         self.info['type'] = 'ring' | ||||||
|  |         if mg['CURRENCY'] == u'\u20ac': | ||||||
|  |             self.info['currency'] = 'EUR' | ||||||
|  | 
 | ||||||
|  |         # HACK - tablename not in every hand. | ||||||
|  |         self.info['TABLENAME'] = mg['TABLE'] | ||||||
|  | 
 | ||||||
|  |         print "DEBUG: self.info: %s" % self.info | ||||||
|  | 
 | ||||||
|  |         return self.info | ||||||
|  | 
 | ||||||
|  |     def readHandInfo(self, hand): | ||||||
|  |         m = self.re_HandInfo.search(hand.handText) | ||||||
|  |         if m is None: | ||||||
|  |             logging.info(_("Didn't match re_HandInfo")) | ||||||
|  |             logging.info(hand.handText) | ||||||
|  |             raise FpdbParseError(_("No match in readHandInfo.")) | ||||||
|  |         hand.handid = m.group('HID') | ||||||
|  |         hand.tablename = self.info['TABLENAME'] | ||||||
|  |         hand.maxseats = None | ||||||
|  |         #FIXME: u'DATETIME': u'1291155932' | ||||||
|  |         hand.startTime = datetime.datetime.strptime('201102091158', '%Y%m%d%H%M') | ||||||
|  |         #hand.startTime = datetime.datetime.strptime(m.group('DATETIME')[:12], '%Y%m%d%H%M') | ||||||
|  | 
 | ||||||
|  |     def readPlayerStacks(self, hand): | ||||||
|  |         m = self.re_PlayerInfo.finditer(hand.handText) | ||||||
|  |         for a in m: | ||||||
|  |             hand.addPlayer(a.group('SEAT'), a.group('PNAME'), a.group('CASH')) | ||||||
|  | 
 | ||||||
|  |     def markStreets(self, hand): | ||||||
|  |         #if hand.gametype['base'] == 'hold': | ||||||
|  |          | ||||||
|  |         m =  re.search(r"<DEALER (?P<PREFLOP>.+?(?=<COMMUNITY>)|.+)" | ||||||
|  |                        r"(<COMMUNITY>(?P<FLOP>\S\S, \S\S, \S\S<\/COMMUNITY>.+?(?=<COMMUNITY>)|.+))?" | ||||||
|  |                        r"(<COMMUNITY>(?P<TURN>\S\S<\/COMMUNITY>.+?(?=<COMMUNITY>)|.+))?" | ||||||
|  |                        r"(<COMMUNITY>(?P<RIVER>\S\S<\/COMMUNITY>.+))?", hand.handText,re.DOTALL) | ||||||
|  |         #import pprint | ||||||
|  |         #pp = pprint.PrettyPrinter(indent=4) | ||||||
|  |         #pp.pprint(m.groupdict()) | ||||||
|  |         hand.addStreets(m) | ||||||
|  | 
 | ||||||
|  |     def readCommunityCards(self, hand, street): | ||||||
|  |         m = self.re_Board.search(hand.streets[street]) | ||||||
|  |         if street == 'FLOP': | ||||||
|  |             hand.setCommunityCards(street, m.group('CARDS').split(',')) | ||||||
|  |         elif street in ('TURN','RIVER'): | ||||||
|  |             hand.setCommunityCards(street, [m.group('CARDS').split(',')[-1]]) | ||||||
|  | 
 | ||||||
|  |     def readAntes(self, hand): | ||||||
|  |         pass # ??? | ||||||
|  | 
 | ||||||
|  |     def readBringIn(self, hand): | ||||||
|  |         pass # ??? | ||||||
|  | 
 | ||||||
|  |     def readBlinds(self, hand): | ||||||
|  |         for a in self.re_PostXB.finditer(hand.handText): | ||||||
|  |             amount = "%.2f" % float(int(a.group('XB'))/100) | ||||||
|  |             print "DEBUG: readBlinds amount: %s" % amount | ||||||
|  |             if Decimal(a.group('XB'))/100 == Decimal(self.info['sb']): | ||||||
|  |                 hand.addBlind(self.playerNameFromSeatNo(a.group('PSEAT'), hand),'small blind', amount) | ||||||
|  |             elif Decimal(a.group('XB'))/100 == Decimal(self.info['bb']): | ||||||
|  |                 hand.addBlind(self.playerNameFromSeatNo(a.group('PSEAT'), hand),'big blind', amount) | ||||||
|  | 
 | ||||||
|  |     def readButton(self, hand): | ||||||
|  |         hand.buttonpos = int(self.re_Button.search(hand.handText).group('BUTTON')) | ||||||
|  | 
 | ||||||
|  |     def readHeroCards(self, hand): | ||||||
|  |         m = self.re_HeroCards.search(hand.handText) | ||||||
|  |         if m: | ||||||
|  |             hand.hero = self.playerNameFromSeatNo(m.group('PSEAT'), hand) | ||||||
|  |             cards = m.group('CARDS').split(',') | ||||||
|  |             hand.addHoleCards('PREFLOP', hand.hero, closed=cards, shown=False, | ||||||
|  |                               mucked=False, dealt=True) | ||||||
|  | 
 | ||||||
|  |     def readAction(self, hand, street): | ||||||
|  |         print "DEBUG: readAction (%s)" % street | ||||||
|  |         m = self.re_Action.finditer(hand.streets[street]) | ||||||
|  |         curr_pot = Decimal('0') | ||||||
|  |         for action in m: | ||||||
|  |             print " DEBUG: %s %s" % (action.group('ATYPE'), action.groupdict()) | ||||||
|  |             player = self.playerNameFromSeatNo(action.group('PSEAT'), hand) | ||||||
|  |             if action.group('ATYPE') == 'BET': | ||||||
|  |                 amount = Decimal(action.group('BET')) | ||||||
|  |                 amountstr = "%.2f" % float(int(action.group('BET'))/100) | ||||||
|  |                 #Gah! BET can mean check, bet, call or raise... | ||||||
|  |                 if amount > 0 and curr_pot == 0: | ||||||
|  |                     # Open | ||||||
|  |                     curr_pot = amount | ||||||
|  |                     hand.addBet(street, player, amountstr) | ||||||
|  |                 elif Decimal(action.group('BET')) > 0 and curr_pot > 0: | ||||||
|  |                     # Raise or call | ||||||
|  |                     if amount > curr_pot: | ||||||
|  |                         # Raise | ||||||
|  |                         curr_pot = amount | ||||||
|  |                         hand.addCallandRaise(street, player, amountstr) | ||||||
|  |                     elif amount <= curr_pot: | ||||||
|  |                         # Call | ||||||
|  |                         hand.addCall(street, player, amountstr) | ||||||
|  |                 if action.group('BET') == '0': | ||||||
|  |                     hand.addCheck(street, player) | ||||||
|  |             elif action.group('ATYPE') in ('FOLD', 'SIT_OUT'): | ||||||
|  |                 hand.addFold(street, player) | ||||||
|  |             else: | ||||||
|  |                 print (_("Unimplemented readAction: %s %s" % (action.group('PSEAT'),action.group('ATYPE'),))) | ||||||
|  |                 logging.debug(_("Unimplemented readAction: %s %s" | ||||||
|  |                               % (action.group('PSEAT'),action.group('ATYPE'),))) | ||||||
|  | 
 | ||||||
|  |     def readShowdownActions(self, hand): | ||||||
|  |         for shows in self.re_ShowdownAction.finditer(hand.handText): | ||||||
|  |             cards = shows.group('CARDS').split(',') | ||||||
|  |             hand.addShownCards(cards, | ||||||
|  |                                self.playerNameFromSeatNo(shows.group('PSEAT'), | ||||||
|  |                                                          hand)) | ||||||
|  | 
 | ||||||
|  |     def readCollectPot(self, hand): | ||||||
|  |         for m in self.re_CollectPot.finditer(hand.handText): | ||||||
|  |             player = self.playerNameFromSeatNo(m.group('PSEAT'), hand) | ||||||
|  |             print "DEBUG: %s collects %s" % (player, m.group('POT')) | ||||||
|  |             hand.addCollectPot(player, str(int(m.group('POT'))/100)) | ||||||
|  | 
 | ||||||
|  |     def readShownCards(self, hand): | ||||||
|  |         for m in self.re_ShownCards.finditer(hand.handText): | ||||||
|  |             cards = m.group('CARDS').split(',') | ||||||
|  |             hand.addShownCards(cards=cards, player=self.playerNameFromSeatNo(m.group('PSEAT'), hand)) | ||||||
|  | 
 | ||||||
|  | @ -57,7 +57,7 @@ class Filters(threading.Thread): | ||||||
|                           ,'groupstitle':_('Grouping:'), 'posnshow':_('Show Position Stats') |                           ,'groupstitle':_('Grouping:'), 'posnshow':_('Show Position Stats') | ||||||
|                           ,'datestitle':_('Date:') |                           ,'datestitle':_('Date:') | ||||||
|                           ,'groupsall':_('All Players') |                           ,'groupsall':_('All Players') | ||||||
|                           ,'limitsFL':'FL', 'limitsNL':'NL', 'limitsPL':'PL', 'ring':_('Ring'), 'tour':_('Tourney') |                           ,'limitsFL':'FL', 'limitsNL':'NL', 'limitsPL':'PL', 'limitsCN':'CAP', 'ring':_('Ring'), 'tour':_('Tourney') | ||||||
|                           } |                           } | ||||||
| 
 | 
 | ||||||
|         gen = self.conf.get_general_params() |         gen = self.conf.get_general_params() | ||||||
|  | @ -66,10 +66,20 @@ class Filters(threading.Thread): | ||||||
|         if 'day_start' in gen: |         if 'day_start' in gen: | ||||||
|             self.day_start = float(gen['day_start']) |             self.day_start = float(gen['day_start']) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|  |         self.sw = gtk.ScrolledWindow() | ||||||
|  |         self.sw.set_border_width(0) | ||||||
|  |         self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) | ||||||
|  |         self.sw.set_size_request(370, 300) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|         # Outer Packing box |         # Outer Packing box | ||||||
|         self.mainVBox = gtk.VBox(False, 0) |         self.mainVBox = gtk.VBox(False, 0) | ||||||
|  |         self.sw.add_with_viewport(self.mainVBox) | ||||||
|  |         self.sw.show() | ||||||
|  |         print _("DEBUG: New packing box created!") | ||||||
| 
 | 
 | ||||||
|         self.found = {'nl':False, 'fl':False, 'pl':False, 'ring':False, 'tour':False} |         self.found = {'nl':False, 'fl':False, 'pl':False, 'cn':False, 'ring':False, 'tour':False} | ||||||
|         self.label = {} |         self.label = {} | ||||||
|         self.callback = {} |         self.callback = {} | ||||||
| 
 | 
 | ||||||
|  | @ -144,10 +154,13 @@ class Filters(threading.Thread): | ||||||
|         self.cbFL = None |         self.cbFL = None | ||||||
|         self.cbNL = None |         self.cbNL = None | ||||||
|         self.cbPL = None |         self.cbPL = None | ||||||
|  |         self.cbCN = None | ||||||
|         self.rb = {}     # radio buttons for ring/tour |         self.rb = {}     # radio buttons for ring/tour | ||||||
|         self.type = None # ring/tour |         self.type = None # ring/tour | ||||||
|         self.types = {}  # list of all ring/tour values |         self.types = {}  # list of all ring/tour values | ||||||
|  |         self.num_limit_types = 0 | ||||||
| 
 | 
 | ||||||
|  |         self.num_limit_types = 0 | ||||||
|         self.fillLimitsFrame(vbox, self.display) |         self.fillLimitsFrame(vbox, self.display) | ||||||
|         limitsFrame.add(vbox) |         limitsFrame.add(vbox) | ||||||
| 
 | 
 | ||||||
|  | @ -245,7 +258,7 @@ class Filters(threading.Thread): | ||||||
| 
 | 
 | ||||||
|     def get_vbox(self): |     def get_vbox(self): | ||||||
|         """returns the vbox of this thread""" |         """returns the vbox of this thread""" | ||||||
|         return self.mainVBox |         return self.sw | ||||||
|     #end def get_vbox |     #end def get_vbox | ||||||
| 
 | 
 | ||||||
|     def getNumHands(self): |     def getNumHands(self): | ||||||
|  | @ -419,13 +432,16 @@ class Filters(threading.Thread): | ||||||
|         #print "__set_limit_select:  limit =", limit, w.get_active() |         #print "__set_limit_select:  limit =", limit, w.get_active() | ||||||
|         self.limits[limit] = w.get_active() |         self.limits[limit] = w.get_active() | ||||||
|         log.debug(_("self.limit[%s] set to %s") %(limit, self.limits[limit])) |         log.debug(_("self.limit[%s] set to %s") %(limit, self.limits[limit])) | ||||||
|         if limit.isdigit() or (len(limit) > 2 and (limit[-2:] == 'nl' or limit[-2:] == 'fl' or limit[-2:] == 'pl')): |         if limit.isdigit() or (len(limit) > 2 and (limit[-2:] == 'nl' or limit[-2:] == 'fl' or limit[-2:] == 'pl' or limit[-2:] == 'cn')): | ||||||
|  |             # turning a leaf limit on with 'None' checked turns 'None' off | ||||||
|             if self.limits[limit]: |             if self.limits[limit]: | ||||||
|                 if self.cbNoLimits is not None: |                 if self.cbNoLimits is not None: | ||||||
|                     self.cbNoLimits.set_active(False) |                     self.cbNoLimits.set_active(False) | ||||||
|  |             # turning a leaf limit off with 'All' checked turns 'All' off | ||||||
|             else: |             else: | ||||||
|                 if self.cbAllLimits is not None: |                 if self.cbAllLimits is not None: | ||||||
|                     self.cbAllLimits.set_active(False) |                     self.cbAllLimits.set_active(False) | ||||||
|  |             # turning off a leaf limit turns off the corresponding fl. nl, cn or pl | ||||||
|             if not self.limits[limit]: |             if not self.limits[limit]: | ||||||
|                 if limit.isdigit(): |                 if limit.isdigit(): | ||||||
|                     if self.cbFL is not None: |                     if self.cbFL is not None: | ||||||
|  | @ -433,29 +449,44 @@ class Filters(threading.Thread): | ||||||
|                 elif (len(limit) > 2 and (limit[-2:] == 'nl')): |                 elif (len(limit) > 2 and (limit[-2:] == 'nl')): | ||||||
|                     if self.cbNL is not None: |                     if self.cbNL is not None: | ||||||
|                         self.cbNL.set_active(False) |                         self.cbNL.set_active(False) | ||||||
|  |                 elif (len(limit) > 2 and (limit[-2:] == 'cn')): | ||||||
|  |                     if self.cbCN is not None: | ||||||
|  |                         self.cbCN.set_active(False) | ||||||
|                 else: |                 else: | ||||||
|                     if self.cbPL is not None: |                     if self.cbPL is not None: | ||||||
|                         self.cbPL.set_active(False) |                         self.cbPL.set_active(False) | ||||||
|         elif limit == "all": |         elif limit == "all": | ||||||
|             if self.limits[limit]: |             if self.limits[limit]: | ||||||
|                 #for cb in self.cbLimits.values(): |                 if self.num_limit_types == 1: | ||||||
|                 #    cb.set_active(True) |                     for cb in self.cbLimits.values(): | ||||||
|  |                         cb.set_active(True) | ||||||
|  |                 else: | ||||||
|                     if self.cbFL is not None: |                     if self.cbFL is not None: | ||||||
|                         self.cbFL.set_active(True) |                         self.cbFL.set_active(True) | ||||||
|                     if self.cbNL is not None: |                     if self.cbNL is not None: | ||||||
|                         self.cbNL.set_active(True) |                         self.cbNL.set_active(True) | ||||||
|                     if self.cbPL is not None: |                     if self.cbPL is not None: | ||||||
|                         self.cbPL.set_active(True) |                         self.cbPL.set_active(True) | ||||||
|  |                     if self.cbCN is not None: | ||||||
|  |                         self.cbCN.set_active(True) | ||||||
|         elif limit == "none": |         elif limit == "none": | ||||||
|             if self.limits[limit]: |             if self.limits[limit]: | ||||||
|                 for cb in self.cbLimits.values(): |                 if self.num_limit_types > 1: | ||||||
|                     cb.set_active(False) |  | ||||||
|                     if self.cbNL is not None: |                     if self.cbNL is not None: | ||||||
|                         self.cbNL.set_active(False) |                         self.cbNL.set_active(False) | ||||||
|                     if self.cbFL is not None: |                     if self.cbFL is not None: | ||||||
|                         self.cbFL.set_active(False) |                         self.cbFL.set_active(False) | ||||||
|                     if self.cbPL is not None: |                     if self.cbPL is not None: | ||||||
|                         self.cbPL.set_active(False) |                         self.cbPL.set_active(False) | ||||||
|  |                     if self.cbCN is not None: | ||||||
|  |                         self.cbCN.set_active(False) | ||||||
|  |             # | ||||||
|  |             #   Finally, clean-up all individual limit checkboxes | ||||||
|  |             #       needed because the overall limit checkbox may  | ||||||
|  |             #       not be set, or num_limit_types == 1 | ||||||
|  |             # | ||||||
|  |                 for cb in self.cbLimits.values(): | ||||||
|  |                         cb.set_active(False) | ||||||
|         elif limit == "fl": |         elif limit == "fl": | ||||||
|             if not self.limits[limit]: |             if not self.limits[limit]: | ||||||
|                 # only toggle all fl limits off if they are all currently on |                 # only toggle all fl limits off if they are all currently on | ||||||
|  | @ -535,6 +566,29 @@ class Filters(threading.Thread): | ||||||
|                     elif self.type == 'tour': |                     elif self.type == 'tour': | ||||||
|                         if 'ring' in self.rb: |                         if 'ring' in self.rb: | ||||||
|                             self.rb['ring'].set_active(True) |                             self.rb['ring'].set_active(True) | ||||||
|  |         elif limit == "cn": | ||||||
|  |             if not self.limits[limit]: | ||||||
|  |                 all_cn_on = True | ||||||
|  |                 for cb in self.cbLimits.values(): | ||||||
|  |                     t = cb.get_children()[0].get_text() | ||||||
|  |                     if "cn" in t and len(t) > 2: | ||||||
|  |                         if not cb.get_active(): | ||||||
|  |                             all_cn_on = False | ||||||
|  |             found = {'ring':False, 'tour':False} | ||||||
|  |             for cb in self.cbLimits.values(): | ||||||
|  |                 t = cb.get_children()[0].get_text() | ||||||
|  |                 if "cn" in t and len(t) > 2: | ||||||
|  |                     if self.limits[limit] or all_cn_on: | ||||||
|  |                         cb.set_active(self.limits[limit]) | ||||||
|  |                     found[self.types[t]] = True | ||||||
|  |             if self.limits[limit]: | ||||||
|  |                 if not found[self.type]: | ||||||
|  |                     if self.type == 'ring': | ||||||
|  |                         if 'tour' in self.rb: | ||||||
|  |                             self.rb['tour'].set_active(True) | ||||||
|  |                     elif self.type == 'tour': | ||||||
|  |                         if 'ring' in self.rb: | ||||||
|  |                             self.rb['ring'].set_active(True) | ||||||
|         elif limit == "ring": |         elif limit == "ring": | ||||||
|             log.debug("set", limit, "to", self.limits[limit]) |             log.debug("set", limit, "to", self.limits[limit]) | ||||||
|             if self.limits[limit]: |             if self.limits[limit]: | ||||||
|  | @ -708,15 +762,16 @@ class Filters(threading.Thread): | ||||||
|         showb = gtk.Button(label="hide", stock=None, use_underline=True) |         showb = gtk.Button(label="hide", stock=None, use_underline=True) | ||||||
|         showb.set_alignment(xalign=1.0, yalign=0.5) |         showb.set_alignment(xalign=1.0, yalign=0.5) | ||||||
|         showb.connect('clicked', self.__toggle_box, 'limits') |         showb.connect('clicked', self.__toggle_box, 'limits') | ||||||
|  |         top_hbox.pack_start(showb, expand=False, padding=1) | ||||||
| 
 | 
 | ||||||
|         vbox1 = gtk.VBox(False, 0) |         vbox1 = gtk.VBox(False, 15) | ||||||
|         vbox.pack_start(vbox1, False, False, 0) |         vbox.pack_start(vbox1, False, False, 0) | ||||||
|         self.boxes['limits'] = vbox1 |         self.boxes['limits'] = vbox1 | ||||||
| 
 | 
 | ||||||
|         self.cursor.execute(self.sql.query['getCashLimits']) |         self.cursor.execute(self.sql.query['getCashLimits']) | ||||||
|         # selects  limitType, bigBlind |         # selects  limitType, bigBlind | ||||||
|         result = self.db.cursor.fetchall() |         result = self.db.cursor.fetchall() | ||||||
|         self.found = {'nl':False, 'fl':False, 'pl':False, 'ring':False, 'tour':False} |         self.found = {'nl':False, 'fl':False, 'pl':False, 'cn':False, 'ring':False, 'tour':False} | ||||||
| 
 | 
 | ||||||
|         if len(result) >= 1: |         if len(result) >= 1: | ||||||
|             hbox = gtk.HBox(True, 0) |             hbox = gtk.HBox(True, 0) | ||||||
|  | @ -741,6 +796,9 @@ class Filters(threading.Thread): | ||||||
|                     elif line[1] == 'pl': |                     elif line[1] == 'pl': | ||||||
|                         name = str(line[2])+line[1] |                         name = str(line[2])+line[1] | ||||||
|                         self.found['pl'] = True |                         self.found['pl'] = True | ||||||
|  |                     elif line[1] == 'cn': | ||||||
|  |                         name = str(line[2])+line[1] | ||||||
|  |                         self.found['cn'] = True | ||||||
|                     else: |                     else: | ||||||
|                         name = str(line[2])+line[1] |                         name = str(line[2])+line[1] | ||||||
|                         self.found['nl'] = True |                         self.found['nl'] = True | ||||||
|  | @ -765,11 +823,12 @@ class Filters(threading.Thread): | ||||||
| 
 | 
 | ||||||
|                 dest = vbox3  # for ring/tour buttons |                 dest = vbox3  # for ring/tour buttons | ||||||
|                 if "LimitType" in display and display["LimitType"] == True: |                 if "LimitType" in display and display["LimitType"] == True: | ||||||
|                     num_limit_types = 0 |                     self.num_limit_types = 0 | ||||||
|                     if self.found['fl']:  num_limit_types = num_limit_types + 1 |                     if self.found['fl']:  self.num_limit_types = self.num_limit_types + 1 | ||||||
|                     if self.found['pl']:  num_limit_types = num_limit_types + 1 |                     if self.found['pl']:  self.num_limit_types = self.num_limit_types + 1 | ||||||
|                     if self.found['nl']:  num_limit_types = num_limit_types + 1 |                     if self.found['nl']:  self.num_limit_types = self.num_limit_types + 1 | ||||||
|                     if num_limit_types > 1: |                     if self.found['cn']:  self.num_limit_types = self.num_limit_types + 1 | ||||||
|  |                     if self.num_limit_types > 1: | ||||||
|                        if self.found['fl']: |                        if self.found['fl']: | ||||||
|                            hbox = gtk.HBox(False, 0) |                            hbox = gtk.HBox(False, 0) | ||||||
|                            vbox3.pack_start(hbox, False, False, 0) |                            vbox3.pack_start(hbox, False, False, 0) | ||||||
|  | @ -782,6 +841,10 @@ class Filters(threading.Thread): | ||||||
|                            hbox = gtk.HBox(False, 0) |                            hbox = gtk.HBox(False, 0) | ||||||
|                            vbox3.pack_start(hbox, False, False, 0) |                            vbox3.pack_start(hbox, False, False, 0) | ||||||
|                            self.cbPL = self.createLimitLine(hbox, 'pl', self.filterText['limitsPL']) |                            self.cbPL = self.createLimitLine(hbox, 'pl', self.filterText['limitsPL']) | ||||||
|  |                        if self.found['cn']: | ||||||
|  |                            hbox = gtk.HBox(False, 0) | ||||||
|  |                            vbox3.pack_start(hbox, False, False, 0) | ||||||
|  |                            self.cbCN = self.createLimitLine(hbox, 'cn', self.filterText['limitsCN']) | ||||||
|                        dest = vbox2  # for ring/tour buttons |                        dest = vbox2  # for ring/tour buttons | ||||||
|         else: |         else: | ||||||
|             print _("INFO: No games returned from database") |             print _("INFO: No games returned from database") | ||||||
|  | @ -807,19 +870,24 @@ class Filters(threading.Thread): | ||||||
|     def fillGraphOpsFrame(self, vbox): |     def fillGraphOpsFrame(self, vbox): | ||||||
|         top_hbox = gtk.HBox(False, 0) |         top_hbox = gtk.HBox(False, 0) | ||||||
|         vbox.pack_start(top_hbox, False, False, 0) |         vbox.pack_start(top_hbox, False, False, 0) | ||||||
|         title = gtk.Label("Graphing Options:") |         title = gtk.Label(_("Graphing Options:")) | ||||||
|         title.set_alignment(xalign=0.0, yalign=0.5) |         title.set_alignment(xalign=0.0, yalign=0.5) | ||||||
|         top_hbox.pack_start(title, expand=True, padding=3) |         top_hbox.pack_start(title, expand=True, padding=3) | ||||||
|         showb = gtk.Button(label="hide", stock=None, use_underline=True) |         showb = gtk.Button(label="hide", stock=None, use_underline=True) | ||||||
|         showb.set_alignment(xalign=1.0, yalign=0.5) |         showb.set_alignment(xalign=1.0, yalign=0.5) | ||||||
|         showb.connect('clicked', self.__toggle_box, 'games') |         showb.connect('clicked', self.__toggle_box, 'graphops') | ||||||
|         top_hbox.pack_start(showb, expand=False, padding=1) |         top_hbox.pack_start(showb, expand=False, padding=1) | ||||||
| 
 | 
 | ||||||
|  |         vbox1 = gtk.VBox(False, 0) | ||||||
|  |         vbox.pack_start(vbox1, False, False, 0) | ||||||
|  |         vbox1.show() | ||||||
|  |         self.boxes['graphops'] = vbox1 | ||||||
|  | 
 | ||||||
|         hbox1 = gtk.HBox(False, 0) |         hbox1 = gtk.HBox(False, 0) | ||||||
|         vbox.pack_start(hbox1, False, False, 0) |         vbox1.pack_start(hbox1, False, False, 0) | ||||||
|         hbox1.show() |         hbox1.show() | ||||||
| 
 | 
 | ||||||
|         label = gtk.Label("Show Graph In:") |         label = gtk.Label(_("Show Graph In:")) | ||||||
|         label.set_alignment(xalign=0.0, yalign=0.5) |         label.set_alignment(xalign=0.0, yalign=0.5) | ||||||
|         hbox1.pack_start(label, True, True, 0) |         hbox1.pack_start(label, True, True, 0) | ||||||
|         label.show() |         label.show() | ||||||
|  | @ -835,11 +903,7 @@ class Filters(threading.Thread): | ||||||
|         button.connect("toggled", self.__set_displayin_select, "BB") |         button.connect("toggled", self.__set_displayin_select, "BB") | ||||||
|         button.show() |         button.show() | ||||||
| 
 | 
 | ||||||
|         vbox1 = gtk.VBox(False, 0) |         button = gtk.CheckButton(_("Showdown Winnings"), False) | ||||||
|         vbox.pack_start(vbox1, False, False, 0) |  | ||||||
|         vbox1.show() |  | ||||||
| 
 |  | ||||||
|         button = gtk.CheckButton("Showdown Winnings", False) |  | ||||||
|         vbox1.pack_start(button, True, True, 0) |         vbox1.pack_start(button, True, True, 0) | ||||||
|         # wouldn't it be awesome if there was a way to remember the state of things like |         # wouldn't it be awesome if there was a way to remember the state of things like | ||||||
|         # this and be able to set it to what it was last time? |         # this and be able to set it to what it was last time? | ||||||
|  | @ -847,7 +911,7 @@ class Filters(threading.Thread): | ||||||
|         button.connect("toggled", self.__set_graphopscheck_select, "showdown") |         button.connect("toggled", self.__set_graphopscheck_select, "showdown") | ||||||
|         button.show() |         button.show() | ||||||
| 
 | 
 | ||||||
|         button = gtk.CheckButton("Non-Showdown Winnings", False) |         button = gtk.CheckButton(_("Non-Showdown Winnings"), False) | ||||||
|         vbox1.pack_start(button, True, True, 0) |         vbox1.pack_start(button, True, True, 0) | ||||||
|         # ditto as 8 lines up :) |         # ditto as 8 lines up :) | ||||||
|         #button.set_active(True) |         #button.set_active(True) | ||||||
|  | @ -1092,3 +1156,4 @@ def main(argv=None): | ||||||
| 
 | 
 | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|    sys.exit(main()) |    sys.exit(main()) | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -80,6 +80,7 @@ class FullTiltPokerSummary(TourneySummary): | ||||||
|     re_Currency = re.compile(u"""(?P<CURRENCY>[%(LS)s]|FPP)""" % substitutions) |     re_Currency = re.compile(u"""(?P<CURRENCY>[%(LS)s]|FPP)""" % substitutions) | ||||||
| 
 | 
 | ||||||
|     re_Player = re.compile(u"""(?P<RANK>[\d]+):\s(?P<NAME>[^,\r\n]{2,15})(,(\s)?[%(LS)s](?P<WINNINGS>[.\d]+))?""") |     re_Player = re.compile(u"""(?P<RANK>[\d]+):\s(?P<NAME>[^,\r\n]{2,15})(,(\s)?[%(LS)s](?P<WINNINGS>[.\d]+))?""") | ||||||
|  |     re_Finished = re.compile(u"""(?P<NAME>[^,\r\n]{2,15}) finished in (?P<RANK>[\d]+)\S\S place""") | ||||||
| 
 | 
 | ||||||
|     re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)") |     re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)") | ||||||
| 
 | 
 | ||||||
|  | @ -126,6 +127,7 @@ class FullTiltPokerSummary(TourneySummary): | ||||||
|         elif mg['CURRENCY'] == "FPP": self.currency="PSFP" |         elif mg['CURRENCY'] == "FPP": self.currency="PSFP" | ||||||
| 
 | 
 | ||||||
|         m = self.re_Player.finditer(self.summaryText) |         m = self.re_Player.finditer(self.summaryText) | ||||||
|  |         playercount = 0 | ||||||
|         for a in m: |         for a in m: | ||||||
|             mg = a.groupdict() |             mg = a.groupdict() | ||||||
|             #print "DEBUG: a.groupdict(): %s" % mg |             #print "DEBUG: a.groupdict(): %s" % mg | ||||||
|  | @ -136,4 +138,14 @@ class FullTiltPokerSummary(TourneySummary): | ||||||
|             if 'WINNINGS' in mg and mg['WINNINGS'] != None: |             if 'WINNINGS' in mg and mg['WINNINGS'] != None: | ||||||
|                 winnings = int(100*Decimal(mg['WINNINGS'])) |                 winnings = int(100*Decimal(mg['WINNINGS'])) | ||||||
|             self.addPlayer(rank, name, winnings, self.currency, None, None, None) |             self.addPlayer(rank, name, winnings, self.currency, None, None, None) | ||||||
|  |             playercount += 1 | ||||||
| 
 | 
 | ||||||
|  |         # Some files dont contain the normals lines, and only contain the line | ||||||
|  |         # <PLAYER> finished in XXXXrd place | ||||||
|  |         if playercount == 0: | ||||||
|  |             m = self.re_Finished.finditer(self.summaryText) | ||||||
|  |             for a in m: | ||||||
|  |                 winnings = 0 | ||||||
|  |                 name = a.group('NAME') | ||||||
|  |                 rank = a.group('RANK') | ||||||
|  |                 self.addPlayer(rank, name, winnings, self.currency, None, None, None) | ||||||
|  |  | ||||||
|  | @ -49,6 +49,7 @@ class Fulltilt(HandHistoryConverter): | ||||||
|                         '6.00': ('1.00', '3.00'),       '6': ('1.00', '3.00'), |                         '6.00': ('1.00', '3.00'),       '6': ('1.00', '3.00'), | ||||||
|                         '8.00': ('2.00', '4.00'),       '8': ('2.00', '4.00'), |                         '8.00': ('2.00', '4.00'),       '8': ('2.00', '4.00'), | ||||||
|                        '10.00': ('2.00', '5.00'),      '10': ('2.00', '5.00'), |                        '10.00': ('2.00', '5.00'),      '10': ('2.00', '5.00'), | ||||||
|  |                        '16.00': ('4.00', '8.00'),      '16': ('4.00', '8.00'), | ||||||
|                        '20.00': ('5.00', '10.00'),     '20': ('5.00', '10.00'), |                        '20.00': ('5.00', '10.00'),     '20': ('5.00', '10.00'), | ||||||
|                        '30.00': ('10.00', '15.00'),    '30': ('10.00', '15.00'), |                        '30.00': ('10.00', '15.00'),    '30': ('10.00', '15.00'), | ||||||
|                        '40.00': ('10.00', '20.00'),    '40': ('10.00', '20.00'), |                        '40.00': ('10.00', '20.00'),    '40': ('10.00', '20.00'), | ||||||
|  | @ -77,17 +78,18 @@ class Fulltilt(HandHistoryConverter): | ||||||
|                                  ''' % substitutions, re.VERBOSE) |                                  ''' % substitutions, re.VERBOSE) | ||||||
|     re_SplitHands   = re.compile(r"\n\n\n+") |     re_SplitHands   = re.compile(r"\n\n\n+") | ||||||
|     re_TailSplitHands   = re.compile(r"(\n\n+)") |     re_TailSplitHands   = re.compile(r"(\n\n+)") | ||||||
|     re_HandInfo     = re.compile(r'''.*\#(?P<HID>[0-9]+):\s |     re_HandInfo     = re.compile(u'''.*\#(?P<HID>[0-9]+):\s | ||||||
|                                     (?:(?P<TOURNAMENT>.+)\s\((?P<TOURNO>\d+)\),\s)? |                                     (?:(?P<TOURNAMENT>.+)\s\((?P<TOURNO>\d+)\),\s)? | ||||||
|                                     (Table|Match)\s  |                                     ((Table|Match)\s)? | ||||||
|                                     (?P<PLAY>Play\sChip\s|PC)? |                                     (?P<PLAY>Play\sChip\s|PC)? | ||||||
|                                     (?P<TABLE>[%(TAB)s]+)\s |                                     ((?P<TABLE>[%(TAB)s]+)(\s|,)) | ||||||
|  |                                     (?P<ENTRYID>\sEntry\s\#\d+\s)? | ||||||
|                                     (\((?P<TABLEATTRIBUTES>.+)\)\s)?-\s |                                     (\((?P<TABLEATTRIBUTES>.+)\)\s)?-\s | ||||||
|                                     [%(LS)s]?(?P<SB>[%(NUM)s]+)/[%(LS)s]?(?P<BB>[%(NUM)s]+)\s(Ante\s[%(LS)s]?(?P<ANTE>[.0-9]+)\s)?-\s |                                     [%(LS)s]?(?P<SB>[%(NUM)s]+)/[%(LS)s]?(?P<BB>[%(NUM)s]+)\s(Ante\s[%(LS)s]?(?P<ANTE>[.0-9]+)\s)?-\s | ||||||
|                                     [%(LS)s]?(?P<CAP>[.0-9]+\sCap\s)? |                                     [%(LS)s]?(?P<CAP>[.0-9]+\sCap\s)? | ||||||
|                                     (?P<GAMETYPE>[-\da-zA-Z\/\'\s]+)\s-\s |                                     (?P<GAMETYPE>[-\da-zA-Z\/\'\s]+)\s-\s | ||||||
|                                     (?P<DATETIME>.*$) |                                     (?P<DATETIME>.*$) | ||||||
|                                     (?P<PARTIAL>\(partial\))?\n |                                     (?P<PARTIAL>\(partial\))?\s | ||||||
|                                     (?:.*?\n(?P<CANCELLED>Hand\s\#(?P=HID)\shas\sbeen\scanceled))? |                                     (?:.*?\n(?P<CANCELLED>Hand\s\#(?P=HID)\shas\sbeen\scanceled))? | ||||||
|                                  ''' % substitutions, re.MULTILINE|re.VERBOSE) |                                  ''' % substitutions, re.MULTILINE|re.VERBOSE) | ||||||
|     re_TourneyExtraInfo  = re.compile('''(((?P<TOURNEY_NAME>[^$]+)? |     re_TourneyExtraInfo  = re.compile('''(((?P<TOURNEY_NAME>[^$]+)? | ||||||
|  | @ -99,7 +101,7 @@ class Fulltilt(HandHistoryConverter): | ||||||
|                                     ''' % substitutions, re.VERBOSE) |                                     ''' % substitutions, re.VERBOSE) | ||||||
|     re_Button       = re.compile('^The button is in seat #(?P<BUTTON>\d+)', re.MULTILINE) |     re_Button       = re.compile('^The button is in seat #(?P<BUTTON>\d+)', re.MULTILINE) | ||||||
|     re_PlayerInfo   = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.{2,15}) \([%(LS)s]?(?P<CASH>[%(NUM)s]+)\)(?P<SITOUT>, is sitting out)?$' % substitutions, re.MULTILINE) |     re_PlayerInfo   = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.{2,15}) \([%(LS)s]?(?P<CASH>[%(NUM)s]+)\)(?P<SITOUT>, is sitting out)?$' % substitutions, re.MULTILINE) | ||||||
|     re_SummarySitout = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.{2,15}) is sitting out?$' % substitutions, re.MULTILINE) |     re_SummarySitout = re.compile('Seat (?P<SEAT>[0-9]+): (?P<PNAME>.{2,15}?) (\(button\) )?is sitting out?$' % substitutions, re.MULTILINE) | ||||||
|     re_Board        = re.compile(r"\[(?P<CARDS>.+)\]") |     re_Board        = re.compile(r"\[(?P<CARDS>.+)\]") | ||||||
| 
 | 
 | ||||||
|     #static regex for tourney purpose |     #static regex for tourney purpose | ||||||
|  | @ -146,7 +148,7 @@ class Fulltilt(HandHistoryConverter): | ||||||
|     re_Mixed        = re.compile(r'\s\-\s(?P<MIXED>HA|HORSE|HOSE)\s\-\s', re.VERBOSE) |     re_Mixed        = re.compile(r'\s\-\s(?P<MIXED>HA|HORSE|HOSE)\s\-\s', re.VERBOSE) | ||||||
|     re_Max          = re.compile("(?P<MAX>\d+)( max)?", re.MULTILINE) |     re_Max          = re.compile("(?P<MAX>\d+)( max)?", re.MULTILINE) | ||||||
|     # NB: if we ever match "Full Tilt Poker" we should also match "FullTiltPoker", which PT Stud erroneously exports. |     # NB: if we ever match "Full Tilt Poker" we should also match "FullTiltPoker", which PT Stud erroneously exports. | ||||||
|     re_DateTime     = re.compile("""((?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)\s(?P<TZ>\w+)\s-\s(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})|(?P<H2>[0-9]+):(?P<MIN2>[0-9]+)\s(?P<TZ2>\w+)\s-\s\w+\,\s(?P<M2>\w+)\s(?P<D2>\d+)\,\s(?P<Y2>[0-9]{4}))""", re.MULTILINE) |     re_DateTime     = re.compile("""((?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)\s(?P<TZ>\w+)\s-\s(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})|(?P<H2>[0-9]+):(?P<MIN2>[0-9]+)\s(?P<TZ2>\w+)\s-\s\w+\,\s(?P<M2>\w+)\s(?P<D2>\d+)\,\s(?P<Y2>[0-9]{4}))(?P<PARTIAL>\s\(partial\))?""", re.MULTILINE) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -206,8 +208,8 @@ class Fulltilt(HandHistoryConverter): | ||||||
|         m = self.re_GameInfo.search(handText) |         m = self.re_GameInfo.search(handText) | ||||||
|         if not m: |         if not m: | ||||||
|             tmp = handText[0:100] |             tmp = handText[0:100] | ||||||
|  |             log.error(_("determineGameType: Raising FpdbParseError for file '%s'") % self.in_path) | ||||||
|             log.error(_("determineGameType: Unable to recognise gametype from: '%s'") % tmp) |             log.error(_("determineGameType: Unable to recognise gametype from: '%s'") % tmp) | ||||||
|             log.error(_("determineGameType: Raising FpdbParseError")) |  | ||||||
|             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) |             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) | ||||||
|         mg = m.groupdict() |         mg = m.groupdict() | ||||||
| 
 | 
 | ||||||
|  | @ -262,6 +264,8 @@ class Fulltilt(HandHistoryConverter): | ||||||
|             tmp = hand.handText[0:100] |             tmp = hand.handText[0:100] | ||||||
|             log.error(_("readHandInfo: Unable to recognise handinfo from: '%s'") % tmp) |             log.error(_("readHandInfo: Unable to recognise handinfo from: '%s'") % tmp) | ||||||
|             raise FpdbParseError(_("No match in readHandInfo.")) |             raise FpdbParseError(_("No match in readHandInfo.")) | ||||||
|  | 
 | ||||||
|  |         #print "DEBUG: m.groupdict: %s" % m.groupdict() | ||||||
|         hand.handid = m.group('HID') |         hand.handid = m.group('HID') | ||||||
|         hand.tablename = m.group('TABLE') |         hand.tablename = m.group('TABLE') | ||||||
| 
 | 
 | ||||||
|  | @ -280,10 +284,13 @@ class Fulltilt(HandHistoryConverter): | ||||||
|                     datetimestr = "%s/%s/%s %s:%s" % (a.group('Y2'), a.group('M2'),a.group('D2'),a.group('H2'),a.group('MIN2')) |                     datetimestr = "%s/%s/%s %s:%s" % (a.group('Y2'), a.group('M2'),a.group('D2'),a.group('H2'),a.group('MIN2')) | ||||||
|                     timezone = a.group('TZ2') |                     timezone = a.group('TZ2') | ||||||
|                     hand.startTime = datetime.datetime.strptime(datetimestr, "%Y/%B/%d %H:%M") |                     hand.startTime = datetime.datetime.strptime(datetimestr, "%Y/%B/%d %H:%M") | ||||||
|  |                 if a.group('PARTIAL'): | ||||||
|  |                     raise FpdbParseError(hid=m.group('HID')) | ||||||
| 
 | 
 | ||||||
|             hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, timezone, "UTC") |             hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, timezone, "UTC") | ||||||
| 
 | 
 | ||||||
|         if m.group("CANCELLED") or m.group("PARTIAL"): |         if m.group("CANCELLED") or m.group("PARTIAL"): | ||||||
|  |             # It would appear this can't be triggered as DATETIME is a bit greedy | ||||||
|             raise FpdbParseError(hid=m.group('HID')) |             raise FpdbParseError(hid=m.group('HID')) | ||||||
| 
 | 
 | ||||||
|         if m.group('TABLEATTRIBUTES'): |         if m.group('TABLEATTRIBUTES'): | ||||||
|  | @ -335,7 +342,7 @@ class Fulltilt(HandHistoryConverter): | ||||||
|     def readPlayerStacks(self, hand): |     def readPlayerStacks(self, hand): | ||||||
|         # Split hand text for FTP, as the regex matches the player names incorrectly |         # Split hand text for FTP, as the regex matches the player names incorrectly | ||||||
|         # in the summary section |         # in the summary section | ||||||
|         pre, post = hand.handText.split('SUMMARY') |         pre, post = hand.handText.split('*** SUMMARY ***') | ||||||
|         m = self.re_PlayerInfo.finditer(pre) |         m = self.re_PlayerInfo.finditer(pre) | ||||||
|         plist = {} |         plist = {} | ||||||
| 
 | 
 | ||||||
|  | @ -348,7 +355,7 @@ class Fulltilt(HandHistoryConverter): | ||||||
|             n = self.re_SummarySitout.finditer(post) |             n = self.re_SummarySitout.finditer(post) | ||||||
|             for b in n: |             for b in n: | ||||||
|                 del plist[b.group('PNAME')] |                 del plist[b.group('PNAME')] | ||||||
|                 print "DEBUG: Deleting '%s' from player dict" %(b.group('PNAME')) |                 #print "DEBUG: Deleting '%s' from player dict" %(b.group('PNAME')) | ||||||
| 
 | 
 | ||||||
|         # Add remaining players |         # Add remaining players | ||||||
|         for a in plist: |         for a in plist: | ||||||
|  | @ -372,8 +379,8 @@ class Fulltilt(HandHistoryConverter): | ||||||
|                            r"(\*\*\* 7TH STREET \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) |                            r"(\*\*\* 7TH STREET \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) | ||||||
|         elif hand.gametype['base'] in ("draw"): |         elif hand.gametype['base'] in ("draw"): | ||||||
|             m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* HOLE CARDS \*\*\*)|.+)" |             m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* HOLE CARDS \*\*\*)|.+)" | ||||||
|                            r"(\*\*\* HOLE CARDS \*\*\*(?P<DEAL>.+(?=\*\*\* FIRST DRAW \*\*\*)|.+))?" |                            r"(\*\*\* HOLE CARDS \*\*\*(?P<DEAL>.+(?=(\*\*\* FIRST DRAW \*\*\*|\*\*\* DRAW \*\*\*))|.+))?" | ||||||
|                            r"(\*\*\* FIRST DRAW \*\*\*(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" |                            r"((\*\*\* FIRST DRAW \*\*\*|\*\*\* DRAW \*\*\*)(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" | ||||||
|                            r"(\*\*\* SECOND DRAW \*\*\*(?P<DRAWTWO>.+(?=\*\*\* THIRD DRAW \*\*\*)|.+))?" |                            r"(\*\*\* SECOND DRAW \*\*\*(?P<DRAWTWO>.+(?=\*\*\* THIRD DRAW \*\*\*)|.+))?" | ||||||
|                            r"(\*\*\* THIRD DRAW \*\*\*(?P<DRAWTHREE>.+))?", hand.handText,re.DOTALL) |                            r"(\*\*\* THIRD DRAW \*\*\*(?P<DRAWTHREE>.+))?", hand.handText,re.DOTALL) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -122,6 +122,10 @@ class GuiAutoImport (threading.Thread): | ||||||
|         self.startButton.connect("clicked", self.startClicked, "start clicked") |         self.startButton.connect("clicked", self.startClicked, "start clicked") | ||||||
|         hbox.pack_start(self.startButton, expand=False, fill=False) |         hbox.pack_start(self.startButton, expand=False, fill=False) | ||||||
| 
 | 
 | ||||||
|  |         self.DetectButton = gtk.Button(_("Detect Directories")) | ||||||
|  |         self.DetectButton.connect("clicked", self.detect_hh_dirs, "detect") | ||||||
|  |         #hbox.pack_start(self.DetectButton, expand=False, fill=False) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|         lbl2 = gtk.Label() |         lbl2 = gtk.Label() | ||||||
|         hbox.pack_start(lbl2, expand=True, fill=False) |         hbox.pack_start(lbl2, expand=True, fill=False) | ||||||
|  | @ -190,6 +194,31 @@ class GuiAutoImport (threading.Thread): | ||||||
| 
 | 
 | ||||||
|         return False |         return False | ||||||
| 
 | 
 | ||||||
|  |     def detect_hh_dirs(self, widget, data): | ||||||
|  |         """Attempt to find user hand history directories for enabled sites""" | ||||||
|  |         the_sites = self.config.get_supported_sites() | ||||||
|  |         for site in the_sites: | ||||||
|  |             params = self.config.get_site_parameters(site) | ||||||
|  |             if params['enabled'] == True: | ||||||
|  |                 print "DEBUG: Detecting hh directory for site: '%s'" % site | ||||||
|  |                 if os.name == 'posix': | ||||||
|  |                     if self.posix_detect_hh_dirs(site): | ||||||
|  |                         #data[1].set_text(dia_chooser.get_filename()) | ||||||
|  |                         self.input_settings[site][0] | ||||||
|  |                         pass | ||||||
|  |                 elif os.name == 'nt': | ||||||
|  |                     # Sorry | ||||||
|  |                     pass | ||||||
|  | 
 | ||||||
|  |     def posix_detect_hh_dirs(self, site): | ||||||
|  |         defaults = { | ||||||
|  |                     'PokerStars': '~/.wine/drive_c/Program Files/PokerStars/HandHistory', | ||||||
|  |                    } | ||||||
|  |         if site == 'PokerStars': | ||||||
|  |             directory = os.path.expanduser(defaults[site]) | ||||||
|  |             for file in [file for file in os.listdir(directory) if not file in [".",".."]]: | ||||||
|  |                 print file | ||||||
|  |         return False | ||||||
| 
 | 
 | ||||||
|     def startClicked(self, widget, data): |     def startClicked(self, widget, data): | ||||||
|         """runs when user clicks start on auto import tab""" |         """runs when user clicks start on auto import tab""" | ||||||
|  |  | ||||||
|  | @ -291,6 +291,7 @@ class GuiGraphViewer (threading.Thread): | ||||||
|         lims = [int(x) for x in limits if x.isdigit()] |         lims = [int(x) for x in limits if x.isdigit()] | ||||||
|         potlims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'pl'] |         potlims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'pl'] | ||||||
|         nolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'nl'] |         nolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'nl'] | ||||||
|  |         capnolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'cn'] | ||||||
|         limittest = "and ( (gt.limitType = 'fl' and gt.bigBlind in " |         limittest = "and ( (gt.limitType = 'fl' and gt.bigBlind in " | ||||||
|                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) |                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) | ||||||
|         if lims: |         if lims: | ||||||
|  | @ -313,6 +314,14 @@ class GuiGraphViewer (threading.Thread): | ||||||
|             blindtest = str(tuple(nolims)) |             blindtest = str(tuple(nolims)) | ||||||
|             blindtest = blindtest.replace("L", "") |             blindtest = blindtest.replace("L", "") | ||||||
|             blindtest = blindtest.replace(",)",")") |             blindtest = blindtest.replace(",)",")") | ||||||
|  |             limittest = limittest + blindtest + ' ) ' | ||||||
|  |         else: | ||||||
|  |             limittest = limittest + '(-1) ) ' | ||||||
|  |         limittest = limittest + " or (gt.limitType = 'cn' and gt.bigBlind in " | ||||||
|  |         if capnolims: | ||||||
|  |             blindtest = str(tuple(capnolims)) | ||||||
|  |             blindtest = blindtest.replace("L", "") | ||||||
|  |             blindtest = blindtest.replace(",)",")") | ||||||
|             limittest = limittest + blindtest + ' ) )' |             limittest = limittest + blindtest + ' ) )' | ||||||
|         else: |         else: | ||||||
|             limittest = limittest + '(-1) ) )' |             limittest = limittest + '(-1) ) )' | ||||||
|  |  | ||||||
|  | @ -15,6 +15,9 @@ | ||||||
| #along with this program. If not, see <http://www.gnu.org/licenses/>. | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
| #In the "official" distribution you can find the license in agpl-3.0.txt. | #In the "official" distribution you can find the license in agpl-3.0.txt. | ||||||
| 
 | 
 | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
| import threading | import threading | ||||||
| import pygtk | import pygtk | ||||||
| pygtk.require('2.0') | pygtk.require('2.0') | ||||||
|  | @ -22,18 +25,6 @@ import gtk | ||||||
| import os | import os | ||||||
| from time import time, strftime | from time import time, strftime | ||||||
|      |      | ||||||
| import locale |  | ||||||
| lang=locale.getdefaultlocale()[0][0:2] |  | ||||||
| if lang=="en": |  | ||||||
|     def _(string): return string |  | ||||||
| else: |  | ||||||
|     import gettext |  | ||||||
|     try: |  | ||||||
|         trans = gettext.translation("fpdb", localedir="locale", languages=[lang]) |  | ||||||
|         trans.install() |  | ||||||
|     except IOError: |  | ||||||
|         def _(string): return string |  | ||||||
| 
 |  | ||||||
| import fpdb_import | import fpdb_import | ||||||
| import Database | import Database | ||||||
| import Filters | import Filters | ||||||
|  |  | ||||||
|  | @ -15,6 +15,9 @@ | ||||||
| #along with this program. If not, see <http://www.gnu.org/licenses/>. | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
| #In the "official" distribution you can find the license in agpl-3.0.txt. | #In the "official" distribution you can find the license in agpl-3.0.txt. | ||||||
| 
 | 
 | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
| import xml.dom.minidom | import xml.dom.minidom | ||||||
| from xml.dom.minidom import Node | from xml.dom.minidom import Node | ||||||
| 
 | 
 | ||||||
|  | @ -23,18 +26,6 @@ pygtk.require('2.0') | ||||||
| import gtk | import gtk | ||||||
| import gobject | import gobject | ||||||
| 
 | 
 | ||||||
| import locale |  | ||||||
| lang=locale.getdefaultlocale()[0][0:2] |  | ||||||
| if lang=="en": |  | ||||||
|     def _(string): return string |  | ||||||
| else: |  | ||||||
|     import gettext |  | ||||||
|     try: |  | ||||||
|         trans = gettext.translation("fpdb", localedir="locale", languages=[lang]) |  | ||||||
|         trans.install() |  | ||||||
|     except IOError: |  | ||||||
|         def _(string): return string |  | ||||||
| 
 |  | ||||||
| import Configuration | import Configuration | ||||||
| 
 | 
 | ||||||
| rewrite = { 'general' : 'General',                   'supported_databases' : 'Databases' | rewrite = { 'general' : 'General',                   'supported_databases' : 'Databases' | ||||||
|  |  | ||||||
|  | @ -50,6 +50,9 @@ onlinehelp = {'Game':_('Type of Game'), | ||||||
|               'VPIP':_('Voluntarily Putting In the pot\n(blinds excluded)'), |               'VPIP':_('Voluntarily Putting In the pot\n(blinds excluded)'), | ||||||
|               'PFR':_('% Pre Flop Raise'), |               'PFR':_('% Pre Flop Raise'), | ||||||
|               'PF3':_('% Pre Flop Re-Raise / 3Bet'), |               'PF3':_('% Pre Flop Re-Raise / 3Bet'), | ||||||
|  |               'PF4':_('% Pre Flop Re-Raise / 4Bet'), | ||||||
|  |               'PFF3':_('% Pre Flop Fold To Re-Raise / F3Bet'), | ||||||
|  |               'PFF4':_('% Pre Flop Fold To Re-Raise / F4Bet'), | ||||||
|               'AggFac':_('Aggression Factor\n'), |               'AggFac':_('Aggression Factor\n'), | ||||||
|               'AggFreq':_('Aggression Frequency\nBet or Raise vs Fold'), |               'AggFreq':_('Aggression Frequency\nBet or Raise vs Fold'), | ||||||
|               'ContBet':_('Continuation Bet post-flop'), |               'ContBet':_('Continuation Bet post-flop'), | ||||||
|  | @ -339,7 +342,7 @@ class GuiRingPlayerStats (GuiPlayerStats.GuiPlayerStats): | ||||||
|     #end def createStatsTable |     #end def createStatsTable | ||||||
| 
 | 
 | ||||||
|     def reset_style_render_func(self, treeviewcolumn, cell, model, iter): |     def reset_style_render_func(self, treeviewcolumn, cell, model, iter): | ||||||
|         cell.set_property('foreground', 'black') |         cell.set_property('foreground', None) | ||||||
|     #end def reset_style_render_func |     #end def reset_style_render_func | ||||||
| 
 | 
 | ||||||
|     def ledger_style_render_func(self, tvcol, cell, model, iter): |     def ledger_style_render_func(self, tvcol, cell, model, iter): | ||||||
|  | @ -620,6 +623,7 @@ class GuiRingPlayerStats (GuiPlayerStats.GuiPlayerStats): | ||||||
|         lims = [int(x) for x in limits if x.isdigit()] |         lims = [int(x) for x in limits if x.isdigit()] | ||||||
|         potlims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'pl'] |         potlims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'pl'] | ||||||
|         nolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'nl'] |         nolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'nl'] | ||||||
|  |         capnolims = [int(x[0:-2]) for x in limits if len(x) > 2 and x[-2:] == 'cn'] | ||||||
|         bbtest = "and ( (gt.limitType = 'fl' and gt.bigBlind in " |         bbtest = "and ( (gt.limitType = 'fl' and gt.bigBlind in " | ||||||
|                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) |                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) | ||||||
|         if lims: |         if lims: | ||||||
|  | @ -642,6 +646,14 @@ class GuiRingPlayerStats (GuiPlayerStats.GuiPlayerStats): | ||||||
|             blindtest = str(tuple(nolims)) |             blindtest = str(tuple(nolims)) | ||||||
|             blindtest = blindtest.replace("L", "") |             blindtest = blindtest.replace("L", "") | ||||||
|             blindtest = blindtest.replace(",)",")") |             blindtest = blindtest.replace(",)",")") | ||||||
|  |             bbtest = bbtest + blindtest + ' ) ' | ||||||
|  |         else: | ||||||
|  |             bbtest = bbtest + '(-1) ) ' | ||||||
|  |         bbtest = bbtest + " or (gt.limitType = 'cn' and gt.bigBlind in " | ||||||
|  |         if capnolims: | ||||||
|  |             blindtest = str(tuple(capnolims)) | ||||||
|  |             blindtest = blindtest.replace("L", "") | ||||||
|  |             blindtest = blindtest.replace(",)",")") | ||||||
|             bbtest = bbtest + blindtest + ' ) )' |             bbtest = bbtest + blindtest + ' ) )' | ||||||
|         else: |         else: | ||||||
|             bbtest = bbtest + '(-1) ) )' |             bbtest = bbtest + '(-1) ) )' | ||||||
|  |  | ||||||
|  | @ -434,7 +434,7 @@ class GuiTourneyPlayerStats (GuiPlayerStats.GuiPlayerStats): | ||||||
|     #end def refreshStats |     #end def refreshStats | ||||||
|      |      | ||||||
|     def reset_style_render_func(self, treeviewcolumn, cell, model, iter): |     def reset_style_render_func(self, treeviewcolumn, cell, model, iter): | ||||||
|         cell.set_property('foreground', 'black') |         cell.set_property('foreground', None) | ||||||
|     #end def reset_style_render_func |     #end def reset_style_render_func | ||||||
| 
 | 
 | ||||||
|     def sortCols(self, col, nums): |     def sortCols(self, col, nums): | ||||||
|  |  | ||||||
|  | @ -211,7 +211,7 @@ Left-Drag to Move" | ||||||
|             </layout> |             </layout> | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
|         <site enabled="False" |         <site enabled="True" | ||||||
|               site_name="Everleaf" |               site_name="Everleaf" | ||||||
|               table_finder="Everleaf.exe" |               table_finder="Everleaf.exe" | ||||||
|               screen_name="Hero" |               screen_name="Hero" | ||||||
|  | @ -255,7 +255,7 @@ Left-Drag to Move" | ||||||
|             </layout> |             </layout> | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
|         <site enabled="False" |         <site enabled="True" | ||||||
|               site_name="Win2day" |               site_name="Win2day" | ||||||
|               table_finder="Win2day.exe" |               table_finder="Win2day.exe" | ||||||
|               screen_name="Hero" |               screen_name="Hero" | ||||||
|  | @ -300,7 +300,7 @@ Left-Drag to Move" | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         <site enabled="False" |         <site enabled="True" | ||||||
|               site_name="Absolute" |               site_name="Absolute" | ||||||
|               table_finder="AbsolutePoker.exe" |               table_finder="AbsolutePoker.exe" | ||||||
|               screen_name="Hero" |               screen_name="Hero" | ||||||
|  | @ -345,7 +345,7 @@ Left-Drag to Move" | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         <site enabled="False" |         <site enabled="True" | ||||||
|               site_name="PartyPoker" |               site_name="PartyPoker" | ||||||
|               table_finder="PartyGaming.exe" |               table_finder="PartyGaming.exe" | ||||||
|               screen_name="Hero" |               screen_name="Hero" | ||||||
|  | @ -390,7 +390,7 @@ Left-Drag to Move" | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         <site enabled="False" |         <site enabled="True" | ||||||
|               site_name="Betfair" |               site_name="Betfair" | ||||||
|               table_finder="Betfair Poker.exe" |               table_finder="Betfair Poker.exe" | ||||||
|               screen_name="Hero" |               screen_name="Hero" | ||||||
|  | @ -433,6 +433,188 @@ Left-Drag to Move" | ||||||
|                 <location seat="9" x="70" y="53">  </location> |                 <location seat="9" x="70" y="53">  </location> | ||||||
|             </layout> |             </layout> | ||||||
|         </site> |         </site> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         <site HH_path="C:/Program Files/Carbon Poker/HandHistory/Hero/" converter="CarbonToFpdb" decoder="everleaf_decode_table" enabled="True" screen_name="Hero" site_name="Carbon" site_path="C:/Program Files/Carbin/" supported_games="holdem" table_finder="Carbon Poker.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  | 
 | ||||||
|  |         <site HH_path="C:/Program Files/OnGame Sking/HandHistory/Hero/" converter="OnGameToFpdb" decoder="everleaf_decode_table" enabled="True" screen_name="Hero" site_name="OnGame" site_path="C:/Program Files/OnGame/" supported_games="holdem" table_finder="OnGame.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  | 
 | ||||||
|  |         <site HH_path="C:/Program Files/PKR/HandHistory/Hero/" converter="PkrToFpdb" decoder="everleaf_decode_table" enabled="True" screen_name="Hero" site_name="PKR" site_path="C:/Program Files/PKR/" supported_games="holdem" table_finder="PKR.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  |          | ||||||
|  |         <site HH_path="C:/Program Files/iPoker/HandHistory/Hero/" converter="iPokerToFpdb" decoder="everleaf_decode_table" enabled="True" screen_name="Hero" site_name="iPoker" site_path="C:/Program Files/iPoker/" supported_games="holdem" table_finder="iPoker.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  | 
 | ||||||
|  |         <site HH_path="C:/Program Files/Winamax/HandHistory/Hero/" converter="WinamaxToFpdb" decoder="everleaf_decode_table" enabled="True" screen_name="Hero" site_name="Winamax" site_path="C:/Program Files/Winamax/" supported_games="holdem" table_finder="Winamax.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  | 
 | ||||||
|     </supported_sites> |     </supported_sites> | ||||||
| 
 | 
 | ||||||
|     <supported_games> |     <supported_games> | ||||||
|  | @ -577,7 +759,7 @@ Left-Drag to Move" | ||||||
|         <hhc site="Carbon" converter="CarbonToFpdb"/> |         <hhc site="Carbon" converter="CarbonToFpdb"/> | ||||||
|         <hhc site="PKR" converter="PkrToFpdb"/> |         <hhc site="PKR" converter="PkrToFpdb"/> | ||||||
|         <hhc site="iPoker" converter="iPokerToFpdb"/> |         <hhc site="iPoker" converter="iPokerToFpdb"/> | ||||||
|         <hhc site="Winamax" converter="WinamaxToFpdb"/> |         <hhc site="Winamax" converter="WinamaxToFpdb" summaryImporter="WinamaxSummary"/> | ||||||
|     </hhcs> |     </hhcs> | ||||||
| 
 | 
 | ||||||
|     <supported_databases> |     <supported_databases> | ||||||
|  |  | ||||||
|  | @ -24,6 +24,9 @@ | ||||||
|         <col col_name="vpip"       disp_all="True"  disp_posn="True"  col_title="VPIP"     xalignment="1.0" field_format="%3.1f" field_type="str" /> |         <col col_name="vpip"       disp_all="True"  disp_posn="True"  col_title="VPIP"     xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|         <col col_name="pfr"        disp_all="True"  disp_posn="True"  col_title="PFR"      xalignment="1.0" field_format="%3.1f" field_type="str" /> |         <col col_name="pfr"        disp_all="True"  disp_posn="True"  col_title="PFR"      xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|         <col col_name="pf3"        disp_all="True"  disp_posn="True"  col_title="PF3"      xalignment="1.0" field_format="%3.1f" field_type="str" /> |         <col col_name="pf3"        disp_all="True"  disp_posn="True"  col_title="PF3"      xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|  |         <col col_name="pf4"        disp_all="True"  disp_posn="True"  col_title="PF4"      xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|  |         <col col_name="pff3"       disp_all="True"  disp_posn="True"  col_title="PFF3"     xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|  |         <col col_name="pff4"       disp_all="True"  disp_posn="True"  col_title="PFF4"     xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|         <col col_name="aggfac"     disp_all="True"  disp_posn="True"  col_title="AggFac"   xalignment="1.0" field_format="%2.2f" field_type="str" /> |         <col col_name="aggfac"     disp_all="True"  disp_posn="True"  col_title="AggFac"   xalignment="1.0" field_format="%2.2f" field_type="str" /> | ||||||
|         <col col_name="aggfrq"     disp_all="True"  disp_posn="True"  col_title="AggFreq"  xalignment="1.0" field_format="%3.1f" field_type="str" /> |         <col col_name="aggfrq"     disp_all="True"  disp_posn="True"  col_title="AggFreq"  xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|         <col col_name="conbet"     disp_all="True"  disp_posn="True"  col_title="ContBet"  xalignment="1.0" field_format="%3.1f" field_type="str" /> |         <col col_name="conbet"     disp_all="True"  disp_posn="True"  col_title="ContBet"  xalignment="1.0" field_format="%3.1f" field_type="str" /> | ||||||
|  | @ -525,6 +528,18 @@ Left-Drag to Move" | ||||||
|                 <location seat="8" x="0" y="181">  </location> |                 <location seat="8" x="0" y="181">  </location> | ||||||
|                 <location seat="9" x="70" y="53">  </location> |                 <location seat="9" x="70" y="53">  </location> | ||||||
|             </layout> |             </layout> | ||||||
|  |             <layout max="10" width="792" height="546" fav_seat="0"> | ||||||
|  |                 <location seat="1" x="684" y="61">  </location> | ||||||
|  |                 <location seat="2" x="689" y="239"> </location> | ||||||
|  |                 <location seat="3" x="692" y="346"> </location> | ||||||
|  |                 <location seat="4" x="586" y="393"> </location> | ||||||
|  |                 <location seat="5" x="421" y="440"> </location> | ||||||
|  |                 <location seat="6" x="267" y="440"> </location> | ||||||
|  |                 <location seat="7" x="0"   y="361"> </location> | ||||||
|  |                 <location seat="8" x="0"   y="280">  </location> | ||||||
|  |                 <location seat="9" x="121" y="280">  </location> | ||||||
|  |                 <location seat="10" x="46"  y="30">  </location> | ||||||
|  |             </layout> | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
|         <site HH_path="C:/Program Files/PKR/HandHistory/YOUR SCREEN NAME HERE/" converter="PkrToFpdb" decoder="everleaf_decode_table" enabled="False" screen_name="YOUR SCREEN NAME HERE" site_name="PKR" site_path="C:/Program Files/PKR/" supported_games="holdem" table_finder="PKR.exe"> |         <site HH_path="C:/Program Files/PKR/HandHistory/YOUR SCREEN NAME HERE/" converter="PkrToFpdb" decoder="everleaf_decode_table" enabled="False" screen_name="YOUR SCREEN NAME HERE" site_name="PKR" site_path="C:/Program Files/PKR/" supported_games="holdem" table_finder="PKR.exe"> | ||||||
|  | @ -599,6 +614,42 @@ Left-Drag to Move" | ||||||
|             </layout> |             </layout> | ||||||
|         </site> |         </site> | ||||||
| 
 | 
 | ||||||
|  |         <site HH_path="C:/Program Files/Everest/HandHistory/YOUR SCREEN NAME HERE/" converter="EverestToFpdb" decoder="everleaf_decode_table" enabled="False" screen_name="YOUR SCREEN NAME HERE" site_name="Everest" site_path="C:/Program Files/Everest/" supported_games="holdem" table_finder="Everest.exe"> | ||||||
|  |             <layout fav_seat="0" height="547" max="8" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="64">  </location> | ||||||
|  |                 <location seat="2" x="650" y="230"> </location> | ||||||
|  |                 <location seat="3" x="650" y="385"> </location> | ||||||
|  |                 <location seat="4" x="588" y="425"> </location> | ||||||
|  |                 <location seat="5" x="92" y="425"> </location> | ||||||
|  |                 <location seat="6" x="0" y="373"> </location> | ||||||
|  |                 <location seat="7" x="0" y="223"> </location> | ||||||
|  |                 <location seat="8" x="25" y="50">  </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="6" width="794"> | ||||||
|  |                 <location seat="1" x="640" y="58"> </location> | ||||||
|  |                 <location seat="2" x="654" y="288"> </location> | ||||||
|  |                 <location seat="3" x="615" y="424"> </location> | ||||||
|  |                 <location seat="4" x="70" y="421"> </location> | ||||||
|  |                 <location seat="5" x="0" y="280"> </location> | ||||||
|  |                 <location seat="6" x="70" y="58"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="2" width="794"> | ||||||
|  |                 <location seat="1" x="651" y="288"> </location> | ||||||
|  |                 <location seat="2" x="10" y="288"> </location> | ||||||
|  |             </layout> | ||||||
|  |             <layout fav_seat="0" height="547" max="9" width="794"> | ||||||
|  |                 <location seat="1" x="634" y="38">  </location> | ||||||
|  |                 <location seat="2" x="667" y="184"> </location> | ||||||
|  |                 <location seat="3" x="667" y="321"> </location> | ||||||
|  |                 <location seat="4" x="667" y="445"> </location> | ||||||
|  |                 <location seat="5" x="337" y="459"> </location> | ||||||
|  |                 <location seat="6" x="0" y="400"> </location> | ||||||
|  |                 <location seat="7" x="0" y="322"> </location> | ||||||
|  |                 <location seat="8" x="0" y="181">  </location> | ||||||
|  |                 <location seat="9" x="70" y="53">  </location> | ||||||
|  |             </layout> | ||||||
|  |         </site> | ||||||
|  | 
 | ||||||
|     </supported_sites> |     </supported_sites> | ||||||
| 
 | 
 | ||||||
|     <supported_games> |     <supported_games> | ||||||
|  | @ -707,8 +758,14 @@ Left-Drag to Move" | ||||||
|             <pu_stat pu_stat_name="n"> </pu_stat> |             <pu_stat pu_stat_name="n"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="vpip"> </pu_stat> |             <pu_stat pu_stat_name="vpip"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="pfr"> </pu_stat> |             <pu_stat pu_stat_name="pfr"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="three_B_0"> </pu_stat> |             <pu_stat pu_stat_name="three_B"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="four_B"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="cfour_B"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="squeeze"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="f_3bet"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="f_4bet"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="steal"> </pu_stat> |             <pu_stat pu_stat_name="steal"> </pu_stat> | ||||||
|  |             <pu_stat pu_stat_name="s_steal"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="f_steal"> </pu_stat> |             <pu_stat pu_stat_name="f_steal"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="f_BB_steal"> </pu_stat> |             <pu_stat pu_stat_name="f_BB_steal"> </pu_stat> | ||||||
|             <pu_stat pu_stat_name="f_SB_steal"> </pu_stat> |             <pu_stat pu_stat_name="f_SB_steal"> </pu_stat> | ||||||
|  | @ -789,6 +846,7 @@ Left-Drag to Move" | ||||||
|         <hhc site="PKR" converter="PkrToFpdb"/> |         <hhc site="PKR" converter="PkrToFpdb"/> | ||||||
|         <hhc site="iPoker" converter="iPokerToFpdb"/> |         <hhc site="iPoker" converter="iPokerToFpdb"/> | ||||||
|         <hhc site="Winamax" converter="WinamaxToFpdb"/> |         <hhc site="Winamax" converter="WinamaxToFpdb"/> | ||||||
|  |         <hhc site="Everest" converter="EverestToFpdb"/> | ||||||
|     </hhcs> |     </hhcs> | ||||||
| 
 | 
 | ||||||
|     <raw_hands save="none" compression="none"/> |     <raw_hands save="none" compression="none"/> | ||||||
|  |  | ||||||
|  | @ -23,6 +23,9 @@ | ||||||
| 
 | 
 | ||||||
| Main for FreePokerTools HUD. | Main for FreePokerTools HUD. | ||||||
| """ | """ | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
| #    Standard Library modules | #    Standard Library modules | ||||||
| import sys | import sys | ||||||
| import os | import os | ||||||
|  | @ -51,21 +54,6 @@ elif sys.platform == 'darwin': | ||||||
| else: # This is bad--figure out the values for the various windows flavors | else: # This is bad--figure out the values for the various windows flavors | ||||||
|     import WinTables as Tables |     import WinTables as Tables | ||||||
| 
 | 
 | ||||||
| import locale |  | ||||||
| lang = locale.getdefaultlocale()[0][0:2] |  | ||||||
| print "lang:", lang |  | ||||||
| if lang == "en": |  | ||||||
|     def _(string): |  | ||||||
|         return string |  | ||||||
| else: |  | ||||||
|     import gettext |  | ||||||
|     try: |  | ||||||
|         trans = gettext.translation("fpdb", localedir="locale", languages=[lang]) |  | ||||||
|         trans.install() |  | ||||||
|     except IOError: |  | ||||||
|         def _(string): |  | ||||||
|             return string |  | ||||||
| 
 |  | ||||||
| # get config and set up logger | # get config and set up logger | ||||||
| c = Configuration.Config(file=options.config, dbname=options.dbname) | c = Configuration.Config(file=options.config, dbname=options.dbname) | ||||||
| log = Configuration.get_logger("logging.conf", "hud", log_dir=c.dir_log, log_file='HUD-log.txt') | log = Configuration.get_logger("logging.conf", "hud", log_dir=c.dir_log, log_file='HUD-log.txt') | ||||||
|  | @ -128,7 +116,7 @@ class HUD_main(object): | ||||||
|                 self.main_window.set_icon_stock(gtk.STOCK_HOME) |                 self.main_window.set_icon_stock(gtk.STOCK_HOME) | ||||||
|             if not options.hidden: |             if not options.hidden: | ||||||
|                 self.main_window.show_all() |                 self.main_window.show_all() | ||||||
| #            gobject.timeout_add(100, self.check_tables) |             gobject.timeout_add(800, self.check_tables) | ||||||
| 
 | 
 | ||||||
|         except: |         except: | ||||||
|             log.exception("Error initializing main_window") |             log.exception("Error initializing main_window") | ||||||
|  |  | ||||||
							
								
								
									
										129
									
								
								pyfpdb/Hand.py
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								pyfpdb/Hand.py
									
									
									
									
									
								
							|  | @ -57,6 +57,7 @@ class Hand(object): | ||||||
|         #log.debug( _("Hand.init(): handText is ") + str(handText) ) |         #log.debug( _("Hand.init(): handText is ") + str(handText) ) | ||||||
|         self.config = config |         self.config = config | ||||||
|         self.saveActions = self.config.get_import_parameters().get('saveActions') |         self.saveActions = self.config.get_import_parameters().get('saveActions') | ||||||
|  |         self.cacheSessions = self.config.get_import_parameters().get("cacheSessions") | ||||||
|         #log = Configuration.get_logger("logging.conf", "db", log_dir=self.config.dir_log) |         #log = Configuration.get_logger("logging.conf", "db", log_dir=self.config.dir_log) | ||||||
|         self.sitename = sitename |         self.sitename = sitename | ||||||
|         self.siteId = self.config.get_site_id(sitename) |         self.siteId = self.config.get_site_id(sitename) | ||||||
|  | @ -258,7 +259,7 @@ dealt   whether they were seen in a 'dealt to' line | ||||||
|             db.commit() |             db.commit() | ||||||
|     #end def prepInsert |     #end def prepInsert | ||||||
| 
 | 
 | ||||||
|     def insert(self, db, printtest = False): |     def insert(self, db, hp_data = None, ha_data = None, insert_data=False, printtest = False): | ||||||
|         """ Function to insert Hand into database |         """ Function to insert Hand into database | ||||||
| Should not commit, and do minimal selects. Callers may want to cache commits | Should not commit, and do minimal selects. Callers may want to cache commits | ||||||
| db: a connected Database object""" | db: a connected Database object""" | ||||||
|  | @ -277,17 +278,26 @@ db: a connected Database object""" | ||||||
|             # seats TINYINT NOT NULL, |             # seats TINYINT NOT NULL, | ||||||
|             hh['seats'] = len(self.dbid_pids) |             hh['seats'] = len(self.dbid_pids) | ||||||
|              |              | ||||||
|  |             hp = self.stats.getHandsPlayers() | ||||||
|  |              | ||||||
|  |             if self.cacheSessions: | ||||||
|  |                 hh['sessionId'] = db.storeSessionsCache(self.dbid_pids, self.startTime, self.gametype, hp)             | ||||||
|  | 
 | ||||||
|             self.dbid_hands = db.storeHand(hh, printdata = printtest) |             self.dbid_hands = db.storeHand(hh, printdata = printtest) | ||||||
|             self.dbid_hpid = db.storeHandsPlayers(self.dbid_hands, self.dbid_pids,  |              | ||||||
|                                                   self.stats.getHandsPlayers(), printdata = printtest) |             hp_inserts = db.storeHandsPlayers(self.dbid_hands, self.dbid_pids, hp, | ||||||
|  |                                                insert=insert_data, hp_bulk = hp_data, printdata = printtest) | ||||||
|  |              | ||||||
|             if self.saveActions: |             if self.saveActions: | ||||||
|                 db.storeHandsActions(self.dbid_hands, self.dbid_pids, self.dbid_hpid, |                 ha_inserts = db.storeHandsActions(self.dbid_hands, self.dbid_pids, self.stats.getHandsActions(), | ||||||
|                                      self.stats.getHandsActions(), printdata = printtest) |                                                    insert=insert_data, ha_bulk = ha_data, printdata = printtest) | ||||||
|         else: |         else: | ||||||
|             log.info(_("Hand.insert(): hid #: %s is a duplicate") % hh['siteHandNo']) |             log.info(_("Hand.insert(): hid #: %s is a duplicate") % hh['siteHandNo']) | ||||||
|             self.is_duplicate = True  # i.e. don't update hudcache |             self.is_duplicate = True  # i.e. don't update hudcache | ||||||
|             raise FpdbHandDuplicate(hh['siteHandNo']) |             raise FpdbHandDuplicate(hh['siteHandNo']) | ||||||
|          |          | ||||||
|  |         return hp_inserts, ha_inserts | ||||||
|  | 
 | ||||||
|     def updateHudCache(self, db): |     def updateHudCache(self, db): | ||||||
|         db.storeHudCache(self.dbid_gt, self.dbid_pids, self.startTime, self.stats.getHandsPlayers()) |         db.storeHudCache(self.dbid_gt, self.dbid_pids, self.startTime, self.stats.getHandsPlayers()) | ||||||
|          |          | ||||||
|  | @ -349,15 +359,13 @@ db: a connected Database object""" | ||||||
|         #       Need to find MySQL and Postgres equivalents |         #       Need to find MySQL and Postgres equivalents | ||||||
|         #       MySQL maybe: cursorclass=MySQLdb.cursors.DictCursor |         #       MySQL maybe: cursorclass=MySQLdb.cursors.DictCursor | ||||||
|         res = c.fetchone() |         res = c.fetchone() | ||||||
|  | 
 | ||||||
|  |         #res['tourneyId'] #res['seats'] #res['rush'] | ||||||
|         self.tablename = res['tableName'] |         self.tablename = res['tableName'] | ||||||
|         self.handid    = res['siteHandNo'] |         self.handid    = res['siteHandNo'] | ||||||
|         self.startTime = datetime.datetime.strptime(res['startTime'], "%Y-%m-%d %H:%M:%S+00:00") |         self.startTime = datetime.datetime.strptime(res['startTime'], "%Y-%m-%d %H:%M:%S+00:00") | ||||||
|         #res['tourneyId'] |  | ||||||
|         #gametypeId |  | ||||||
|         #res['importTime']  # Don't really care about this |  | ||||||
|         #res['seats'] |  | ||||||
|         self.maxseats = res['maxSeats'] |         self.maxseats = res['maxSeats'] | ||||||
|         #res['rush'] | 
 | ||||||
|         cards = map(Card.valueSuitFromCard, [res['boardcard1'], res['boardcard2'], res['boardcard3'], res['boardcard4'], res['boardcard5']]) |         cards = map(Card.valueSuitFromCard, [res['boardcard1'], res['boardcard2'], res['boardcard3'], res['boardcard4'], res['boardcard5']]) | ||||||
|         #print "DEBUG: res['boardcard1']: %s" % res['boardcard1'] |         #print "DEBUG: res['boardcard1']: %s" % res['boardcard1'] | ||||||
|         #print "DEBUG: cards: %s" % cards |         #print "DEBUG: cards: %s" % cards | ||||||
|  | @ -437,7 +445,7 @@ chips   (string) the chips the player has at the start of the hand (can be None) | ||||||
| If a player has None chips he won't be added.""" | If a player has None chips he won't be added.""" | ||||||
|         log.debug("addPlayer: %s %s (%s)" % (seat, name, chips)) |         log.debug("addPlayer: %s %s (%s)" % (seat, name, chips)) | ||||||
|         if chips is not None: |         if chips is not None: | ||||||
|             chips = re.sub(u',', u'', chips) #some sites have commas |             chips = chips.replace(u',', u'') #some sites have commas | ||||||
|             self.players.append([seat, name, chips]) |             self.players.append([seat, name, chips]) | ||||||
|             self.stacks[name] = Decimal(chips) |             self.stacks[name] = Decimal(chips) | ||||||
|             self.pot.addPlayer(name) |             self.pot.addPlayer(name) | ||||||
|  | @ -479,10 +487,10 @@ If a player has None chips he won't be added.""" | ||||||
| For sites (currently only Carbon Poker) which record "all in" as a special action, which can mean either "calls and is all in" or "raises all in". | For sites (currently only Carbon Poker) which record "all in" as a special action, which can mean either "calls and is all in" or "raises all in". | ||||||
| """ | """ | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         amount = re.sub(u',', u'', amount) #some sites have commas |         amount = amount.replace(u',', u'') #some sites have commas | ||||||
|         Ai = Decimal(amount) |         Ai = Decimal(amount) | ||||||
|         Bp = self.lastBet[street] |         Bp = self.lastBet[street] | ||||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) |         Bc = sum(self.bets[street][player]) | ||||||
|         C = Bp - Bc |         C = Bp - Bc | ||||||
|         if Ai <= C: |         if Ai <= C: | ||||||
|             self.addCall(street, player, amount) |             self.addCall(street, player, amount) | ||||||
|  | @ -495,13 +503,14 @@ For sites (currently only Carbon Poker) which record "all in" as a special actio | ||||||
|     def addAnte(self, player, ante): |     def addAnte(self, player, ante): | ||||||
|         log.debug("%s %s antes %s" % ('BLINDSANTES', player, ante)) |         log.debug("%s %s antes %s" % ('BLINDSANTES', player, ante)) | ||||||
|         if player is not None: |         if player is not None: | ||||||
|             ante = re.sub(u',', u'', ante) #some sites have commas |             ante = ante.replace(u',', u'') #some sites have commas | ||||||
|             self.bets['BLINDSANTES'][player].append(Decimal(ante)) |             ante = Decimal(ante) | ||||||
|             self.stacks[player] -= Decimal(ante) |             self.bets['BLINDSANTES'][player].append(ante) | ||||||
|             act = (player, 'ante', Decimal(ante), self.stacks[player]==0) |             self.stacks[player] -= ante | ||||||
|  |             act = (player, 'ante', ante, self.stacks[player]==0) | ||||||
|             self.actions['BLINDSANTES'].append(act) |             self.actions['BLINDSANTES'].append(act) | ||||||
| #            self.pot.addMoney(player, Decimal(ante)) | #            self.pot.addMoney(player, ante) | ||||||
|             self.pot.addCommonMoney(player, Decimal(ante)) |             self.pot.addCommonMoney(player, ante) | ||||||
| #I think the antes should be common money, don't have enough hand history to check | #I think the antes should be common money, don't have enough hand history to check | ||||||
| 
 | 
 | ||||||
|     def addBlind(self, player, blindtype, amount): |     def addBlind(self, player, blindtype, amount): | ||||||
|  | @ -514,22 +523,25 @@ For sites (currently only Carbon Poker) which record "all in" as a special actio | ||||||
|         # |         # | ||||||
|         log.debug("addBlind: %s posts %s, %s" % (player, blindtype, amount)) |         log.debug("addBlind: %s posts %s, %s" % (player, blindtype, amount)) | ||||||
|         if player is not None: |         if player is not None: | ||||||
|             amount = re.sub(u',', u'', amount) #some sites have commas |             amount = amount.replace(u',', u'') #some sites have commas | ||||||
|             self.stacks[player] -= Decimal(amount) |             amount = Decimal(amount) | ||||||
|             act = (player, blindtype, Decimal(amount), self.stacks[player]==0) |             self.stacks[player] -= amount | ||||||
|  |             act = (player, blindtype, amount, self.stacks[player]==0) | ||||||
|             self.actions['BLINDSANTES'].append(act) |             self.actions['BLINDSANTES'].append(act) | ||||||
| 
 | 
 | ||||||
|             if blindtype == 'both': |             if blindtype == 'both': | ||||||
|                 # work with the real amount. limit games are listed as $1, $2, where |                 # work with the real amount. limit games are listed as $1, $2, where | ||||||
|                 # the SB 0.50 and the BB is $1, after the turn the minimum bet amount is $2.... |                 # the SB 0.50 and the BB is $1, after the turn the minimum bet amount is $2.... | ||||||
|                 amount = self.bb |                 amount = Decimal(self.bb) | ||||||
|                 self.bets['BLINDSANTES'][player].append(Decimal(self.sb)) |                 sb = Decimal(self.sb) | ||||||
|                 self.pot.addCommonMoney(player, Decimal(self.sb)) |                 self.bets['BLINDSANTES'][player].append(sb) | ||||||
|  |                 self.pot.addCommonMoney(player, sb) | ||||||
| 
 | 
 | ||||||
|             if blindtype == 'secondsb': |             if blindtype == 'secondsb': | ||||||
|                 amount = Decimal(0) |                 amount = Decimal(0) | ||||||
|                 self.bets['BLINDSANTES'][player].append(Decimal(self.sb)) |                 sb = Decimal(self.sb) | ||||||
|                 self.pot.addCommonMoney(player, Decimal(self.sb)) |                 self.bets['BLINDSANTES'][player].append(sb) | ||||||
|  |                 self.pot.addCommonMoney(player, sb) | ||||||
| 
 | 
 | ||||||
|             street = 'BLAH' |             street = 'BLAH' | ||||||
| 
 | 
 | ||||||
|  | @ -538,27 +550,28 @@ For sites (currently only Carbon Poker) which record "all in" as a special actio | ||||||
|             elif self.gametype['base'] == 'draw': |             elif self.gametype['base'] == 'draw': | ||||||
|                 street = 'DEAL' |                 street = 'DEAL' | ||||||
| 
 | 
 | ||||||
|             self.bets[street][player].append(Decimal(amount)) |             self.bets[street][player].append(amount) | ||||||
|             self.pot.addMoney(player, Decimal(amount)) |             self.pot.addMoney(player, amount) | ||||||
|             self.lastBet[street] = Decimal(amount) |             self.lastBet[street] = amount | ||||||
|             self.posted = self.posted + [[player,blindtype]] |             self.posted = self.posted + [[player,blindtype]] | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     def addCall(self, street, player=None, amount=None): |     def addCall(self, street, player=None, amount=None): | ||||||
|         if amount: |         if amount: | ||||||
|             amount = re.sub(u',', u'', amount) #some sites have commas |             amount = amount.replace(u',', u'') #some sites have commas | ||||||
|         log.debug(_("%s %s calls %s") %(street, player, amount)) |         log.debug(_("%s %s calls %s") %(street, player, amount)) | ||||||
|         # Potentially calculate the amount of the call if not supplied |         # Potentially calculate the amount of the call if not supplied | ||||||
|         # corner cases include if player would be all in |         # corner cases include if player would be all in | ||||||
|         if amount is not None: |         if amount is not None: | ||||||
|             self.bets[street][player].append(Decimal(amount)) |             amount = Decimal(amount) | ||||||
|             #self.lastBet[street] = Decimal(amount) |             self.bets[street][player].append(amount) | ||||||
|             self.stacks[player] -= Decimal(amount) |             #self.lastBet[street] = amount | ||||||
|  |             self.stacks[player] -= amount | ||||||
|             #print "DEBUG %s calls %s, stack %s" % (player, amount, self.stacks[player]) |             #print "DEBUG %s calls %s, stack %s" % (player, amount, self.stacks[player]) | ||||||
|             act = (player, 'calls', Decimal(amount), self.stacks[player]==0) |             act = (player, 'calls', amount, self.stacks[player] == 0) | ||||||
|             self.actions[street].append(act) |             self.actions[street].append(act) | ||||||
|             self.pot.addMoney(player, Decimal(amount)) |             self.pot.addMoney(player, amount) | ||||||
| 
 | 
 | ||||||
|     def addRaiseBy(self, street, player, amountBy): |     def addRaiseBy(self, street, player, amountBy): | ||||||
|         """\ |         """\ | ||||||
|  | @ -575,11 +588,11 @@ Add a raise by amountBy on [street] by [player] | ||||||
|         # then: C = Bp - Bc (amount to call) |         # then: C = Bp - Bc (amount to call) | ||||||
|         #      Rt = Bp + Rb (raise to) |         #      Rt = Bp + Rb (raise to) | ||||||
|         # |         # | ||||||
|         amountBy = re.sub(u',', u'', amountBy) #some sites have commas |         amountBy = amountBy.replace(u',', u'') #some sites have commas | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         Rb = Decimal(amountBy) |         Rb = Decimal(amountBy) | ||||||
|         Bp = self.lastBet[street] |         Bp = self.lastBet[street] | ||||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) |         Bc = sum(self.bets[street][player]) | ||||||
|         C = Bp - Bc |         C = Bp - Bc | ||||||
|         Rt = Bp + Rb |         Rt = Bp + Rb | ||||||
| 
 | 
 | ||||||
|  | @ -593,10 +606,10 @@ Add a raise by amountBy on [street] by [player] | ||||||
|         """\ |         """\ | ||||||
| For sites which by "raises x" mean "calls and raises putting a total of x in the por". """ | For sites which by "raises x" mean "calls and raises putting a total of x in the por". """ | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         amount = re.sub(u',', u'', amount) #some sites have commas |         amount = amount.replace(u',', u'') #some sites have commas | ||||||
|         CRb = Decimal(amount) |         CRb = Decimal(amount) | ||||||
|         Bp = self.lastBet[street] |         Bp = self.lastBet[street] | ||||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) |         Bc = sum(self.bets[street][player]) | ||||||
|         C = Bp - Bc |         C = Bp - Bc | ||||||
|         Rb = CRb - C |         Rb = CRb - C | ||||||
|         Rt = Bp + Rb |         Rt = Bp + Rb | ||||||
|  | @ -609,9 +622,9 @@ Add a raise on [street] by [player] to [amountTo] | ||||||
| """ | """ | ||||||
|         #CG - No idea if this function has been test/verified |         #CG - No idea if this function has been test/verified | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         amountTo = re.sub(u',', u'', amountTo) #some sites have commas |         amountTo = amountTo.replace(u',', u'') #some sites have commas | ||||||
|         Bp = self.lastBet[street] |         Bp = self.lastBet[street] | ||||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) |         Bc = sum(self.bets[street][player]) | ||||||
|         Rt = Decimal(amountTo) |         Rt = Decimal(amountTo) | ||||||
|         C = Bp - Bc |         C = Bp - Bc | ||||||
|         Rb = Rt - C - Bc |         Rb = Rt - C - Bc | ||||||
|  | @ -630,15 +643,16 @@ Add a raise on [street] by [player] to [amountTo] | ||||||
| 
 | 
 | ||||||
|     def addBet(self, street, player, amount): |     def addBet(self, street, player, amount): | ||||||
|         log.debug(_("%s %s bets %s") %(street, player, amount)) |         log.debug(_("%s %s bets %s") %(street, player, amount)) | ||||||
|         amount = re.sub(u',', u'', amount) #some sites have commas |         amount = amount.replace(u',', u'') #some sites have commas | ||||||
|  |         amount = Decimal(amount) | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         self.bets[street][player].append(Decimal(amount)) |         self.bets[street][player].append(amount) | ||||||
|         self.stacks[player] -= Decimal(amount) |         self.stacks[player] -= amount | ||||||
|         #print "DEBUG %s bets %s, stack %s" % (player, amount, self.stacks[player]) |         #print "DEBUG %s bets %s, stack %s" % (player, amount, self.stacks[player]) | ||||||
|         act = (player, 'bets', Decimal(amount), self.stacks[player]==0) |         act = (player, 'bets', amount, self.stacks[player]==0) | ||||||
|         self.actions[street].append(act) |         self.actions[street].append(act) | ||||||
|         self.lastBet[street] = Decimal(amount) |         self.lastBet[street] = amount | ||||||
|         self.pot.addMoney(player, Decimal(amount)) |         self.pot.addMoney(player, amount) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     def addStandsPat(self, street, player): |     def addStandsPat(self, street, player): | ||||||
|  | @ -1140,6 +1154,9 @@ class DrawHand(Hand): | ||||||
|             hhc.readPlayerStacks(self) |             hhc.readPlayerStacks(self) | ||||||
|             hhc.compilePlayerRegexs(self) |             hhc.compilePlayerRegexs(self) | ||||||
|             hhc.markStreets(self) |             hhc.markStreets(self) | ||||||
|  |             # markStreets in Draw may match without dealing cards | ||||||
|  |             if self.streets['DEAL'] == None: | ||||||
|  |                 raise FpdbParseError(_("DrawHand.__init__: street 'DEAL' is empty. Hand cancelled? HandID: '%s'" % self.handid)) | ||||||
|             hhc.readBlinds(self) |             hhc.readBlinds(self) | ||||||
|             hhc.readAntes(self) |             hhc.readAntes(self) | ||||||
|             hhc.readButton(self) |             hhc.readButton(self) | ||||||
|  | @ -1366,10 +1383,10 @@ closed    likewise, but known only to player | ||||||
| Add a complete on [street] by [player] to [amountTo] | Add a complete on [street] by [player] to [amountTo] | ||||||
| """ | """ | ||||||
|         log.debug(_("%s %s completes %s") % (street, player, amountTo)) |         log.debug(_("%s %s completes %s") % (street, player, amountTo)) | ||||||
|         amountTo = re.sub(u',', u'', amountTo) #some sites have commas |         amountTo = amountTo.replace(u',', u'') #some sites have commas | ||||||
|         self.checkPlayerExists(player) |         self.checkPlayerExists(player) | ||||||
|         Bp = self.lastBet['THIRD'] |         Bp = self.lastBet['THIRD'] | ||||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) |         Bc = sum(self.bets[street][player]) | ||||||
|         Rt = Decimal(amountTo) |         Rt = Decimal(amountTo) | ||||||
|         C = Bp - Bc |         C = Bp - Bc | ||||||
|         Rb = Rt - C |         Rb = Rt - C | ||||||
|  | @ -1384,12 +1401,14 @@ Add a complete on [street] by [player] to [amountTo] | ||||||
|     def addBringIn(self, player, bringin): |     def addBringIn(self, player, bringin): | ||||||
|         if player is not None: |         if player is not None: | ||||||
|             log.debug(_("Bringin: %s, %s") % (player , bringin)) |             log.debug(_("Bringin: %s, %s") % (player , bringin)) | ||||||
|             self.bets['THIRD'][player].append(Decimal(bringin)) |             bringin = bringin.replace(u',', u'') #some sites have commas | ||||||
|             self.stacks[player] -= Decimal(bringin) |             bringin = Decimal(bringin) | ||||||
|             act = (player, 'bringin', Decimal(bringin), self.stacks[player]==0) |             self.bets['THIRD'][player].append(bringin) | ||||||
|  |             self.stacks[player] -= bringin | ||||||
|  |             act = (player, 'bringin', bringin, self.stacks[player]==0) | ||||||
|             self.actions['THIRD'].append(act) |             self.actions['THIRD'].append(act) | ||||||
|             self.lastBet['THIRD'] = Decimal(bringin) |             self.lastBet['THIRD'] = bringin | ||||||
|             self.pot.addMoney(player, Decimal(bringin)) |             self.pot.addMoney(player, bringin) | ||||||
| 
 | 
 | ||||||
|     def getStreetTotals(self): |     def getStreetTotals(self): | ||||||
|         # street1Pot INT,                  /* pot size at flop/street4 */ |         # street1Pot INT,                  /* pot size at flop/street4 */ | ||||||
|  |  | ||||||
|  | @ -264,7 +264,7 @@ which it expects to find at self.re_TailSplitHands -- see for e.g. Everleaf.py. | ||||||
|         if self.ftpArchive == True: |         if self.ftpArchive == True: | ||||||
|             log.debug(_("Converting ftpArchive format to readable")) |             log.debug(_("Converting ftpArchive format to readable")) | ||||||
|             # Remove  ******************** # 1 ************************* |             # Remove  ******************** # 1 ************************* | ||||||
|             m = re.compile('\*{20}\s#\s\d+\s\*{25}\s+', re.MULTILINE) |             m = re.compile('\*{20}\s#\s\d+\s\*{20,25}\s+', re.MULTILINE) | ||||||
|             self.obs = m.sub('', self.obs) |             self.obs = m.sub('', self.obs) | ||||||
| 
 | 
 | ||||||
|         if self.obs is None or self.obs == "": |         if self.obs is None or self.obs == "": | ||||||
|  |  | ||||||
|  | @ -335,6 +335,9 @@ class Stud_cards: | ||||||
| 
 | 
 | ||||||
| class Seat_Window(gtk.Window): | class Seat_Window(gtk.Window): | ||||||
|     """Subclass gtk.Window for the seat windows.""" |     """Subclass gtk.Window for the seat windows.""" | ||||||
|  |     def __init__(self, aw = None): | ||||||
|  |         super(Seat_Window, self).__init__() | ||||||
|  |         self.aw = aw | ||||||
| 
 | 
 | ||||||
| class Aux_Seats(Aux_Window): | class Aux_Seats(Aux_Window): | ||||||
|     """A super class to display an aux_window at each seat.""" |     """A super class to display an aux_window at each seat.""" | ||||||
|  | @ -348,6 +351,8 @@ class Aux_Seats(Aux_Window): | ||||||
|         self.uses_timer = False  # the Aux_seats object uses a timer to control hiding |         self.uses_timer = False  # the Aux_seats object uses a timer to control hiding | ||||||
|         self.timer_on = False    # bool = Ture if the timeout for removing the cards is on |         self.timer_on = False    # bool = Ture if the timeout for removing the cards is on | ||||||
| 
 | 
 | ||||||
|  |         self.aw_window_type = Seat_Window | ||||||
|  | 
 | ||||||
| #    placeholders that should be overridden--so we don't throw errors | #    placeholders that should be overridden--so we don't throw errors | ||||||
|     def create_contents(self): pass |     def create_contents(self): pass | ||||||
|     def update_contents(self): pass |     def update_contents(self): pass | ||||||
|  | @ -382,10 +387,10 @@ class Aux_Seats(Aux_Window): | ||||||
|                 (x, y) = self.params['layout'][self.hud.max].common |                 (x, y) = self.params['layout'][self.hud.max].common | ||||||
|             else: |             else: | ||||||
|                 (x, y) = loc[self.adj[i]] |                 (x, y) = loc[self.adj[i]] | ||||||
|             self.m_windows[i] = Seat_Window() |             self.m_windows[i] = self.aw_window_type(self) | ||||||
|             self.m_windows[i].set_decorated(False) |             self.m_windows[i].set_decorated(False) | ||||||
|             self.m_windows[i].set_property("skip-taskbar-hint", True) |             self.m_windows[i].set_property("skip-taskbar-hint", True) | ||||||
|             self.m_windows[i].set_transient_for(self.hud.main_window) |             self.m_windows[i].set_transient_for(self.hud.main_window)  # FIXME: shouldn't this be the table window?? | ||||||
|             self.m_windows[i].set_focus_on_map(False) |             self.m_windows[i].set_focus_on_map(False) | ||||||
|             self.m_windows[i].connect("configure_event", self.configure_event_cb, i) |             self.m_windows[i].connect("configure_event", self.configure_event_cb, i) | ||||||
|             self.positions[i] = self.card_positions((x * width) / 1000, self.hud.table.x, (y * height) /1000, self.hud.table.y) |             self.positions[i] = self.card_positions((x * width) / 1000, self.hud.table.x, (y * height) /1000, self.hud.table.y) | ||||||
|  |  | ||||||
|  | @ -52,8 +52,9 @@ class Table(Table_Window): | ||||||
|             if re.search(self.search_string, d.get(kCGWindowName, ""), re.I): |             if re.search(self.search_string, d.get(kCGWindowName, ""), re.I): | ||||||
|                 title = d[kCGWindowName] |                 title = d[kCGWindowName] | ||||||
|                 if self.check_bad_words(title): continue |                 if self.check_bad_words(title): continue | ||||||
|                 self.number = d[kCGWindowNumber] |                 self.number = int(d[kCGWindowNumber]) | ||||||
|                 self.title = title |                 self.title = title | ||||||
|  |                 return self.title | ||||||
|         if self.number is None: |         if self.number is None: | ||||||
|             return None |             return None | ||||||
|    |    | ||||||
|  | @ -63,11 +64,11 @@ class Table(Table_Window): | ||||||
|         WinListDict = CGWindowListCreateDescriptionFromArray(WinList) |         WinListDict = CGWindowListCreateDescriptionFromArray(WinList) | ||||||
| 
 | 
 | ||||||
|         for d in WinListDict: |         for d in WinListDict: | ||||||
|             if d[CGWindowNumber] == self.number: |             if d[kCGWindowNumber] == self.number: | ||||||
|                 return {'x'      : d[kCGWindowBounds][X], |                 return {'x'      : int(d[kCGWindowBounds]['X']), | ||||||
|                         'y'      : d[kCGWindowBounds][Y], |                         'y'      : int(d[kCGWindowBounds]['Y']), | ||||||
|                         'width'  : d[kCGWindowBounds][Width], |                         'width'  : int(d[kCGWindowBounds]['Width']), | ||||||
|                         'height' : d[kCGWindowBounds][Height] |                         'height' : int(d[kCGWindowBounds]['Height']) | ||||||
|                        } |                        } | ||||||
|         return None |         return None | ||||||
| 
 | 
 | ||||||
|  | @ -86,5 +87,5 @@ class Table(Table_Window): | ||||||
| #    the hud window was a dialog belonging to the table. | #    the hud window was a dialog belonging to the table. | ||||||
| 
 | 
 | ||||||
| #    This is the gdkhandle for the HUD window | #    This is the gdkhandle for the HUD window | ||||||
|         gdkwindow = gtk.gdk.window_foreign_new(window.number) |         gdkwindow = gtk.gdk.window_foreign_new(window.window.xid) | ||||||
|         gdkwindow.set_transient_for(self.gdkhandle) |         gdkwindow.set_transient_for(window.window) | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ class OnGame(HandHistoryConverter): | ||||||
|                     } |                     } | ||||||
|     currencies = { u'\u20ac':'EUR', u'\xe2\x82\xac':'EUR', '$':'USD', '':'T$' } |     currencies = { u'\u20ac':'EUR', u'\xe2\x82\xac':'EUR', '$':'USD', '':'T$' } | ||||||
| 
 | 
 | ||||||
|     limits = { 'NO_LIMIT':'nl', 'LIMIT':'fl'} |     limits = { 'NO_LIMIT':'nl', 'POT_LIMIT':'pl', 'LIMIT':'fl'} | ||||||
| 
 | 
 | ||||||
|     games = {                          # base, category |     games = {                          # base, category | ||||||
|                           "TEXAS_HOLDEM" : ('hold','holdem'), |                           "TEXAS_HOLDEM" : ('hold','holdem'), | ||||||
|  | @ -68,17 +68,19 @@ class OnGame(HandHistoryConverter): | ||||||
|     # ***** End of hand R5-75443872-57 ***** |     # ***** End of hand R5-75443872-57 ***** | ||||||
|     re_SplitHands = re.compile(u'\*\*\*\*\*\sEnd\sof\shand\s[-A-Z\d]+.*\n(?=\*)') |     re_SplitHands = re.compile(u'\*\*\*\*\*\sEnd\sof\shand\s[-A-Z\d]+.*\n(?=\*)') | ||||||
| 
 | 
 | ||||||
|  |     #TODO: detect play money | ||||||
|  |     # "Play money" rather than "Real money" and set currency accordingly | ||||||
|     re_HandInfo = re.compile(u""" |     re_HandInfo = re.compile(u""" | ||||||
|             \*\*\*\*\*\sHistory\sfor\shand\s(?P<HID>[-A-Z\d]+).* |             \*\*\*\*\*\sHistory\sfor\shand\s(?P<HID>[-A-Z\d]+).* | ||||||
|             Start\shand:\s(?P<DATETIME>.*) |             Start\shand:\s(?P<DATETIME>.*) | ||||||
|             Table:\s(?P<TABLE>[-\'\w\s]+)\s\[\d+\]\s\( |             Table:\s(\[SPEED\]\s)?(?P<TABLE>[-\'\w\s]+)\s\[\d+\]\s\( | ||||||
|             ( |             ( | ||||||
|             (?P<LIMIT>NO_LIMIT|Limit|LIMIT|Pot\sLimit)\s |             (?P<LIMIT>NO_LIMIT|Limit|LIMIT|Pot\sLimit|POT_LIMIT)\s | ||||||
|             (?P<GAME>TEXAS_HOLDEM|OMAHA_HI|SEVEN_CARD_STUD|SEVEN_CARD_STUD_HI_LO|RAZZ|FIVE_CARD_DRAW)\s |             (?P<GAME>TEXAS_HOLDEM|OMAHA_HI|SEVEN_CARD_STUD|SEVEN_CARD_STUD_HI_LO|RAZZ|FIVE_CARD_DRAW)\s | ||||||
|             (?P<CURRENCY>%(LS)s|)?(?P<SB>[.0-9]+)/ |             (?P<CURRENCY>%(LS)s|)?(?P<SB>[.0-9]+)/ | ||||||
|             (%(LS)s)?(?P<BB>[.0-9]+) |             (%(LS)s)?(?P<BB>[.0-9]+) | ||||||
|             )? |             )? | ||||||
|             """ % substitutions, re.MULTILINE|re.DOTALL|re.VERBOSE) #TODO: detect play money (identified by "Play money" rather than "Real money" and set currency accordingly |             """ % substitutions, re.MULTILINE|re.DOTALL|re.VERBOSE) | ||||||
| 
 | 
 | ||||||
|     re_TailSplitHands = re.compile(u'(\*\*\*\*\*\sEnd\sof\shand\s[-A-Z\d]+.*\n)(?=\*)') |     re_TailSplitHands = re.compile(u'(\*\*\*\*\*\sEnd\sof\shand\s[-A-Z\d]+.*\n)(?=\*)') | ||||||
|     re_Button       = re.compile('Button: seat (?P<BUTTON>\d+)', re.MULTILINE)  # Button: seat 2 |     re_Button       = re.compile('Button: seat (?P<BUTTON>\d+)', re.MULTILINE)  # Button: seat 2 | ||||||
|  | @ -140,6 +142,7 @@ class OnGame(HandHistoryConverter): | ||||||
|     def readSupportedGames(self): |     def readSupportedGames(self): | ||||||
|         return [ |         return [ | ||||||
|                 ["ring", "hold", "fl"], |                 ["ring", "hold", "fl"], | ||||||
|  |                 ["ring", "hold", "pl"], | ||||||
|                 ["ring", "hold", "nl"], |                 ["ring", "hold", "nl"], | ||||||
|                 ["ring", "stud", "fl"], |                 ["ring", "stud", "fl"], | ||||||
|                 ["ring", "draw", "fl"], |                 ["ring", "draw", "fl"], | ||||||
|  | @ -158,6 +161,7 @@ class OnGame(HandHistoryConverter): | ||||||
|             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) |             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) | ||||||
| 
 | 
 | ||||||
|         mg = m.groupdict() |         mg = m.groupdict() | ||||||
|  |         #print "DEBUG: mg: %s" % mg | ||||||
| 
 | 
 | ||||||
|         info['type'] = 'ring' |         info['type'] = 'ring' | ||||||
|         if 'CURRENCY' in mg: |         if 'CURRENCY' in mg: | ||||||
|  | @ -314,9 +318,9 @@ class OnGame(HandHistoryConverter): | ||||||
|         m = self.re_Action.finditer(hand.streets[street]) |         m = self.re_Action.finditer(hand.streets[street]) | ||||||
|         for action in m: |         for action in m: | ||||||
|             #acts = action.groupdict() |             #acts = action.groupdict() | ||||||
|             #log.debug("readaction: acts: %s" %acts) |             #print "readaction: acts: %s" %acts | ||||||
|             if action.group('ATYPE') == ' raises': |             if action.group('ATYPE') == ' raises': | ||||||
|                 hand.addRaiseBy( street, action.group('PNAME'), action.group('BET') ) |                 hand.addRaiseTo( street, action.group('PNAME'), action.group('BET') ) | ||||||
|             elif action.group('ATYPE') == ' calls': |             elif action.group('ATYPE') == ' calls': | ||||||
|                 hand.addCall( street, action.group('PNAME'), action.group('BET') ) |                 hand.addCall( street, action.group('PNAME'), action.group('BET') ) | ||||||
|             elif action.group('ATYPE') == ' bets': |             elif action.group('ATYPE') == ' bets': | ||||||
|  |  | ||||||
|  | @ -55,7 +55,9 @@ def fpdb_options(): | ||||||
|                     help=_("Print some useful one liners")) |                     help=_("Print some useful one liners")) | ||||||
|     # The following options are used for SplitHandHistory.py |     # The following options are used for SplitHandHistory.py | ||||||
|     parser.add_option("-f", "--file", dest="filename", metavar="FILE", default=None, |     parser.add_option("-f", "--file", dest="filename", metavar="FILE", default=None, | ||||||
|                     help=_("Input file in quiet mode")) |                     help=_("Input file")) | ||||||
|  |     parser.add_option("-D", "--directory", dest="directory", metavar="FILE", default=None, | ||||||
|  |                     help=_("Input directory")) | ||||||
|     parser.add_option("-o", "--outpath", dest="outpath", metavar="FILE", default=None, |     parser.add_option("-o", "--outpath", dest="outpath", metavar="FILE", default=None, | ||||||
|                     help=_("Input out path in quiet mode")) |                     help=_("Input out path in quiet mode")) | ||||||
|     parser.add_option("-a", "--archive", action="store_true", dest="archive", default=False, |     parser.add_option("-a", "--archive", action="store_true", dest="archive", default=False, | ||||||
|  | @ -93,6 +95,7 @@ def site_alias(alias): | ||||||
|                 "iPoker"         : "iPoker", |                 "iPoker"         : "iPoker", | ||||||
|                 "Winamax"        : "Winamax", |                 "Winamax"        : "Winamax", | ||||||
|                 "Win2day"        : "Win2day", |                 "Win2day"        : "Win2day", | ||||||
|  |                 "Everest"        : "Everest", | ||||||
|                 "Stars"          : "PokerStars", |                 "Stars"          : "PokerStars", | ||||||
|                 "FTP"            : "Full Tilt Poker", |                 "FTP"            : "Full Tilt Poker", | ||||||
|                 "Party"          : "PartyPoker", |                 "Party"          : "PartyPoker", | ||||||
|  |  | ||||||
|  | @ -49,7 +49,8 @@ class PartyPoker(HandHistoryConverter): | ||||||
|     currencies = {"\$": "USD", "$": "USD", u"\xe2\x82\xac": "EUR", u"\u20ac": "EUR", '': "T$"} |     currencies = {"\$": "USD", "$": "USD", u"\xe2\x82\xac": "EUR", u"\u20ac": "EUR", '': "T$"} | ||||||
|     substitutions = { |     substitutions = { | ||||||
|                      'LEGAL_ISO' : "USD|EUR",            # legal ISO currency codes |                      'LEGAL_ISO' : "USD|EUR",            # legal ISO currency codes | ||||||
|                             'LS' : "\$|\u20AC|\xe2\x82\xac|"    # legal currency symbols - Euro(cp1252, utf-8) |                             'LS' : u"\$|\u20ac|\xe2\x82\xac|",    # Currency symbols - Euro(cp1252, utf-8) | ||||||
|  |                            'NUM' : u".,\d", | ||||||
|                     } |                     } | ||||||
| 
 | 
 | ||||||
|     # Static regexes |     # Static regexes | ||||||
|  | @ -81,7 +82,7 @@ class PartyPoker(HandHistoryConverter): | ||||||
|     re_PlayerInfo   = re.compile(u""" |     re_PlayerInfo   = re.compile(u""" | ||||||
|           Seat\s(?P<SEAT>\d+):\s |           Seat\s(?P<SEAT>\d+):\s | ||||||
|           (?P<PNAME>.*)\s |           (?P<PNAME>.*)\s | ||||||
|           \(\s*[%(LS)s]?(?P<CASH>[0-9,.]+)\s*(?:%(LEGAL_ISO)s|)\s*\) |           \(\s*[%(LS)s]?(?P<CASH>[%(NUM)s]+)\s*(?:%(LEGAL_ISO)s|)\s*\) | ||||||
|           """ % substitutions, re.VERBOSE| re.UNICODE) |           """ % substitutions, re.VERBOSE| re.UNICODE) | ||||||
| 
 | 
 | ||||||
|     re_HandInfo     = re.compile(""" |     re_HandInfo     = re.compile(""" | ||||||
|  | @ -329,13 +330,19 @@ class PartyPoker(HandHistoryConverter): | ||||||
|                     # FIXME: there is no such property in Hand class |                     # FIXME: there is no such property in Hand class | ||||||
|                     self.isSNG = True |                     self.isSNG = True | ||||||
|             if key == 'BUYIN': |             if key == 'BUYIN': | ||||||
|                 # FIXME: it's dirty hack T_T |                 if hand.tourNo != None: | ||||||
|                 # code below assumes that tournament rake is equal to zero |                     hand.buyin = 0 | ||||||
|                 if info[key] == None: |                     hand.fee = 0 | ||||||
|                     hand.buyin = '$0+$0' |                     hand.buyinCurrency = "FREE" | ||||||
|  |                     hand.isKO = False | ||||||
|  |                     if info[key].find("$")!=-1: | ||||||
|  |                         hand.buyinCurrency="USD" | ||||||
|  |                     elif info[key].find(u"€")!=-1: | ||||||
|  |                         hand.buyinCurrency="EUR" | ||||||
|                     else: |                     else: | ||||||
|                     cur = info[key][0] if info[key][0] not in '0123456789' else '' |                         raise FpdbParseError(_("Failed to detect currency. HID: %s: '%s'" % (hand.handid, info[key]))) | ||||||
|                     hand.buyin = info[key] + '+%s0' % cur |                     info[key] = info[key].strip(u'$€') | ||||||
|  |                     hand.buyin = int(100*Decimal(info[key])) | ||||||
|             if key == 'LEVEL': |             if key == 'LEVEL': | ||||||
|                 hand.level = info[key] |                 hand.level = info[key] | ||||||
|             if key == 'PLAY' and info['PLAY'] != 'Real': |             if key == 'PLAY' and info['PLAY'] != 'Real': | ||||||
|  |  | ||||||
|  | @ -84,8 +84,8 @@ class PokerStars(HandHistoryConverter): | ||||||
| 
 | 
 | ||||||
|     # Static regexes |     # Static regexes | ||||||
|     re_GameInfo     = re.compile(u""" |     re_GameInfo     = re.compile(u""" | ||||||
|           PokerStars\sGame\s\#(?P<HID>[0-9]+):\s+ |           PokerStars(\sHome)?\sGame\s\#(?P<HID>[0-9]+):\s+ | ||||||
|           (Tournament\s\#                # open paren of tournament info |           (\{.*\}\s+)?(Tournament\s\#                # open paren of tournament info | ||||||
|           (?P<TOURNO>\d+),\s |           (?P<TOURNO>\d+),\s | ||||||
|           # here's how I plan to use LS |           # here's how I plan to use LS | ||||||
|           (?P<BUYIN>(?P<BIAMT>[%(LS)s\d\.]+)?\+?(?P<BIRAKE>[%(LS)s\d\.]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Freeroll)\s+)? |           (?P<BUYIN>(?P<BIAMT>[%(LS)s\d\.]+)?\+?(?P<BIRAKE>[%(LS)s\d\.]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Freeroll)\s+)? | ||||||
|  | @ -338,6 +338,13 @@ class PokerStars(HandHistoryConverter): | ||||||
|                            r"(\*\*\* 6th STREET \*\*\*(?P<SIXTH>.+(?=\*\*\* RIVER \*\*\*)|.+))?" |                            r"(\*\*\* 6th STREET \*\*\*(?P<SIXTH>.+(?=\*\*\* RIVER \*\*\*)|.+))?" | ||||||
|                            r"(\*\*\* RIVER \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) |                            r"(\*\*\* RIVER \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) | ||||||
|         elif hand.gametype['base'] in ("draw"): |         elif hand.gametype['base'] in ("draw"): | ||||||
|  |             if hand.gametype['category'] in ('27_1draw', 'fivedraw'): | ||||||
|  |                 # There is no marker between deal and draw in Stars single draw games | ||||||
|  |                 # This unfortunately affects the accounting. | ||||||
|  |                 m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* DEALING HANDS \*\*\*)|.+)" | ||||||
|  |                            r"(\*\*\* DEALING HANDS \*\*\*(?P<DEAL>.+(?=(: stands pat on|: discards))|.+))?" | ||||||
|  |                            r"((: stands pat on|: discards)(?P<DRAWONE>.+))?", hand.handText,re.DOTALL) | ||||||
|  |             else: | ||||||
|                 m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* DEALING HANDS \*\*\*)|.+)" |                 m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* DEALING HANDS \*\*\*)|.+)" | ||||||
|                            r"(\*\*\* DEALING HANDS \*\*\*(?P<DEAL>.+(?=\*\*\* FIRST DRAW \*\*\*)|.+))?" |                            r"(\*\*\* DEALING HANDS \*\*\*(?P<DEAL>.+(?=\*\*\* FIRST DRAW \*\*\*)|.+))?" | ||||||
|                            r"(\*\*\* FIRST DRAW \*\*\*(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" |                            r"(\*\*\* FIRST DRAW \*\*\*(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" | ||||||
|  |  | ||||||
|  | @ -109,9 +109,9 @@ class RushNotes(Aux_Window): | ||||||
|         notepath = site_params_dict['site_path']  # this is a temporary hijack of site-path |         notepath = site_params_dict['site_path']  # this is a temporary hijack of site-path | ||||||
|         self.heroid = self.hud.db_connection.get_player_id(self.config, sitename, heroname) |         self.heroid = self.hud.db_connection.get_player_id(self.config, sitename, heroname) | ||||||
|         self.notefile = notepath + "/" + heroname + ".xml" |         self.notefile = notepath + "/" + heroname + ".xml" | ||||||
|         self.rushtables = ("Mach 10", "Lightning", "Celerity", "Flash", "Zoom") |         self.rushtables = ("Mach 10", "Lightning", "Celerity", "Flash", "Zoom", "Apollo") | ||||||
| 
 | 
 | ||||||
|         if not os.path.isfile(self.notefile): |         if not (os.path.isfile(self.notefile)): | ||||||
|             self.active = False |             self.active = False | ||||||
|             return |             return | ||||||
|         else: |         else: | ||||||
|  | @ -130,9 +130,14 @@ class RushNotes(Aux_Window): | ||||||
|         xmlnotefile.unlink |         xmlnotefile.unlink | ||||||
| 
 | 
 | ||||||
|         # |         # | ||||||
|         # Create a fresh queue file with skeleton XML |         # if queue file does not exist create a fresh queue file with skeleton XML | ||||||
|  |         # This is possibly not totally safe, if multiple threads arrive | ||||||
|  |         # here at the same time, but the consequences are not serious | ||||||
|         # |         # | ||||||
|  | 
 | ||||||
|         self.queuefile = self.notefile + ".queue" |         self.queuefile = self.notefile + ".queue" | ||||||
|  |         if not (os.path.isfile(self.queuefile)): | ||||||
|  | 
 | ||||||
|             queuedom = minidom.Document() |             queuedom = minidom.Document() | ||||||
| 
 | 
 | ||||||
|             pld=queuedom.createElement("PLAYERDATA") |             pld=queuedom.createElement("PLAYERDATA") | ||||||
|  | @ -152,7 +157,7 @@ class RushNotes(Aux_Window): | ||||||
| 
 | 
 | ||||||
|         if (debugmode): |         if (debugmode): | ||||||
|             #initialise logfiles |             #initialise logfiles | ||||||
|             debugfile=open("~Rushdebug.init", "w") |             debugfile=open("~Rushdebug.init", "a") | ||||||
|             debugfile.write("conf="+str(config)+"\n") |             debugfile.write("conf="+str(config)+"\n") | ||||||
|             debugfile.write("spdi="+str(site_params_dict)+"\n") |             debugfile.write("spdi="+str(site_params_dict)+"\n") | ||||||
|             debugfile.write("para="+str(params)+"\n") |             debugfile.write("para="+str(params)+"\n") | ||||||
|  | @ -161,8 +166,6 @@ class RushNotes(Aux_Window): | ||||||
|             debugfile.write("queu="+self.queuefile+"\n") |             debugfile.write("queu="+self.queuefile+"\n") | ||||||
|             debugfile.close() |             debugfile.close() | ||||||
| 
 | 
 | ||||||
|             open("~Rushdebug.data", "w").close() |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|     def update_data(self, new_hand_id, db_connection): |     def update_data(self, new_hand_id, db_connection): | ||||||
|         #this method called once for every hand processed |         #this method called once for every hand processed | ||||||
|  | @ -204,8 +207,12 @@ class RushNotes(Aux_Window): | ||||||
|             vpip=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'vpip')[3] + " ") |             vpip=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'vpip')[3] + " ") | ||||||
|             pfr=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'pfr')[3] + " ") |             pfr=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'pfr')[3] + " ") | ||||||
|             three_B=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'three_B')[3] + " ") |             three_B=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'three_B')[3] + " ") | ||||||
|  |             four_B=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'four_B')[3] + " ")             | ||||||
|             cbet=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'cbet')[3] + " ") |             cbet=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'cbet')[3] + " ") | ||||||
|  |              | ||||||
|             fbbsteal=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'f_BB_steal')[3] + " ") |             fbbsteal=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'f_BB_steal')[3] + " ") | ||||||
|  |             f_3bet=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'f_3bet')[3] + " ") | ||||||
|  |             f_4bet=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'f_4bet')[3] + " ") | ||||||
|                          |                          | ||||||
|             steal=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'steal')[3] + " ") |             steal=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'steal')[3] + " ") | ||||||
|             ffreq1=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'ffreq1')[3] + " ") |             ffreq1=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'ffreq1')[3] + " ") | ||||||
|  | @ -213,7 +220,6 @@ class RushNotes(Aux_Window): | ||||||
|             BBper100=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'BBper100')[3]) |             BBper100=str(Stats.do_stat(self.hud.stat_dict, player = playerid, stat = 'BBper100')[3]) | ||||||
|             if BBper100[6] == "-": BBper100=BBper100[0:6] + "(" + BBper100[7:] + ")" |             if BBper100[6] == "-": BBper100=BBper100[0:6] + "(" + BBper100[7:] + ")" | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
|             # |             # | ||||||
|             # grab villain known starting hands |             # grab villain known starting hands | ||||||
|             # only those where they VPIP'd, so limp in the BB will not be shown |             # only those where they VPIP'd, so limp in the BB will not be shown | ||||||
|  | @ -235,8 +241,8 @@ class RushNotes(Aux_Window): | ||||||
| 
 | 
 | ||||||
|             c = db_connection.get_cursor() |             c = db_connection.get_cursor() | ||||||
|             c.execute(("SELECT handId, position, startCards, street0Aggr, tableName " + |             c.execute(("SELECT handId, position, startCards, street0Aggr, tableName " + | ||||||
|                         "FROM hands, handsPlayers " + |                         "FROM Hands, HandsPlayers " + | ||||||
|                         "WHERE handsplayers.handId = hands.id " + |                         "WHERE HandsPlayers.handId = Hands.id " + | ||||||
|                         "AND street0VPI = 1 " + |                         "AND street0VPI = 1 " + | ||||||
|                         "AND startCards > 0 " + |                         "AND startCards > 0 " + | ||||||
|                         "AND playerId = %d " + |                         "AND playerId = %d " + | ||||||
|  | @ -269,10 +275,13 @@ class RushNotes(Aux_Window): | ||||||
|             # for later search/replace by Merge module |             # for later search/replace by Merge module | ||||||
|             # |             # | ||||||
|             xmlqueuedict[playername] = ("~fpdb~" + "\n" + |             xmlqueuedict[playername] = ("~fpdb~" + "\n" + | ||||||
|                                         n + vpip + pfr + three_B + fbbsteal + "\n" + |                                         n + vpip + pfr + "\n" + | ||||||
|                                         steal + cbet + ffreq1 + "\n" + |                                         steal + cbet + fbbsteal + ffreq1 + "\n" + | ||||||
|  |                                         three_B + four_B + f_3bet + f_4bet + "\n" + | ||||||
|                                         agg_freq + BBper100 + "\n" + |                                         agg_freq + BBper100 + "\n" + | ||||||
|                                         PFcall+"\n"+PFaggr+"\n"+PFdefend +"\n" |                                         PFcall+"\n"+ | ||||||
|  |                                         PFaggr+"\n"+ | ||||||
|  |                                         PFdefend +"\n"+ | ||||||
|                                         "~ends~") |                                         "~ends~") | ||||||
| 
 | 
 | ||||||
|         if (debugmode): |         if (debugmode): | ||||||
|  |  | ||||||
|  | @ -30,6 +30,7 @@ The generated file can then replace heroname.xml (if all is well). | ||||||
| 
 | 
 | ||||||
| ######################################################################## | ######################################################################## | ||||||
| 
 | 
 | ||||||
|  | #TODO gettextify | ||||||
| 
 | 
 | ||||||
| #    Standard Library modules | #    Standard Library modules | ||||||
| import os | import os | ||||||
|  | @ -104,8 +105,6 @@ if not os.path.isfile(sys.argv[1]): | ||||||
| 
 | 
 | ||||||
| if not os.path.isfile((sys.argv[1]+".queue")): | if not os.path.isfile((sys.argv[1]+".queue")): | ||||||
|     print "Nothing found to merge, quitting" |     print "Nothing found to merge, quitting" | ||||||
|     print "Did the HUD not get started during the last session?" |  | ||||||
|     print "Has the HUD been stopped and started without merging?" |  | ||||||
|     quit() |     quit() | ||||||
| 
 | 
 | ||||||
| print "***************************************************************" | print "***************************************************************" | ||||||
|  | @ -116,7 +115,7 @@ print "has stopped completely" | ||||||
| print "***************************************************************" | print "***************************************************************" | ||||||
| print | print | ||||||
| print "read from: ", sys.argv[1] | print "read from: ", sys.argv[1] | ||||||
| print "merge with: ", sys.argv[1]+".queue" | print "updated with: ", sys.argv[1]+".queue" | ||||||
| 
 | 
 | ||||||
| #read queue and turn into a dict | #read queue and turn into a dict | ||||||
| queuedict = {} | queuedict = {} | ||||||
|  | @ -171,7 +170,7 @@ mergednotes.close() | ||||||
| 
 | 
 | ||||||
| xmlnotefile.unlink | xmlnotefile.unlink | ||||||
| 
 | 
 | ||||||
| print "Merged file has been written to: ", sys.argv[1]+".merged" | print "written to: ", sys.argv[1]+".merged" | ||||||
| print "" | print "" | ||||||
| print "number in queue: ", statqueue | print "number in queue: ", statqueue | ||||||
| print "existing players updated: ", statupdated | print "existing players updated: ", statupdated | ||||||
|  | @ -179,5 +178,7 @@ print "new players added: ", statadded | ||||||
| print "\n" | print "\n" | ||||||
| print "Use a viewer to check the contents of the merge file." | print "Use a viewer to check the contents of the merge file." | ||||||
| print "If you are happy, carry out the following steps:" | print "If you are happy, carry out the following steps:" | ||||||
| print "1 Rename or delete the existing notes file (normally <heroname>.xml" | print "1 Rename or delete the existing notes file (normally <heroname>.xml)" | ||||||
| print "2 Rename the .merged file to become the new notes file" | print "2 Rename the .merged file to become the new notes file" | ||||||
|  | print "3 Delete the .queue file (it will be created at the next rush autoimport)" | ||||||
|  | 
 | ||||||
|  |  | ||||||
|  | @ -15,11 +15,6 @@ Important info: | ||||||
| The Merge process can only be run when ftp client is shutdown | The Merge process can only be run when ftp client is shutdown | ||||||
|  - otherwise ftp overwrites the xml on exit. |  - otherwise ftp overwrites the xml on exit. | ||||||
| 
 | 
 | ||||||
| Restarting the autoimport will empty the notes"queue" so avoid restarting |  | ||||||
|  autoimport until the previous notes "queue" has been merged.  You will |  | ||||||
|  lose all the queued notes, but these will be regenerated the next time |  | ||||||
|  the villian is at your table, so it isn't the end of the world. |  | ||||||
| 
 |  | ||||||
| Existing ftp notes _SHOULD_ be preserved, but this isn't guaranteed,  | Existing ftp notes _SHOULD_ be preserved, but this isn't guaranteed,  | ||||||
|  you have been warned! |  you have been warned! | ||||||
|   |   | ||||||
|  | @ -27,7 +22,8 @@ Existing colour codings should be preserved, | ||||||
|  this process does not change or set colourcodings. |  this process does not change or set colourcodings. | ||||||
| 
 | 
 | ||||||
| Copies of the live ftp notes file should be preserved everytime | Copies of the live ftp notes file should be preserved everytime | ||||||
|   RushNotesAux (i.e. the HUD is started) |   RushNotesAux (i.e. the HUD is started).  If you play at different | ||||||
|  |   rush tables, the backup will be created several times. | ||||||
| 
 | 
 | ||||||
| The AW is hard-coded with just the table names of Micro Rush Poker,  | The AW is hard-coded with just the table names of Micro Rush Poker,  | ||||||
|   and should ignore all other hands. |   and should ignore all other hands. | ||||||
|  | @ -35,7 +31,7 @@ The AW is hard-coded with just the table names of Micro Rush Poker, | ||||||
| What might not work? | What might not work? | ||||||
| -------------------- | -------------------- | ||||||
| 
 | 
 | ||||||
| This isn't tested with Windows, and probably won't work, feedback welcome. | This should work with windows sourcecode version, but will not work with the exe download. | ||||||
| Hasn't been tested for co-existance with other sites, feedback welcome. | Hasn't been tested for co-existance with other sites, feedback welcome. | ||||||
| Whenever FTP change their notes file format, this will all break rather spectacularly, | Whenever FTP change their notes file format, this will all break rather spectacularly, | ||||||
|     you have been warned! |     you have been warned! | ||||||
|  | @ -77,7 +73,7 @@ execute the following: | ||||||
| ./pyfpdb/RushNotesMerge.py "/home/foo/.wine/drive_c/Program Files/Full Tilt Poker/myname.xml" | ./pyfpdb/RushNotesMerge.py "/home/foo/.wine/drive_c/Program Files/Full Tilt Poker/myname.xml" | ||||||
| 
 | 
 | ||||||
| A revised notes file (blah.merge) should automagically appear in the full tilt root directory. | A revised notes file (blah.merge) should automagically appear in the full tilt root directory. | ||||||
| If you are happy with it, replace the existing (myname.xml file) | If you are happy with it, replace the existing (myname.xml file) and delete the .queue file. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| Since the updates aren't real time, it would be ok to play the rush | Since the updates aren't real time, it would be ok to play the rush | ||||||
|  | @ -176,7 +172,7 @@ Process overview | ||||||
| ---------------- | ---------------- | ||||||
| 
 | 
 | ||||||
| 1/ The HUD process is started.   | 1/ The HUD process is started.   | ||||||
| 1.1/ when the first hand is received, h fresh holding file is created, and  | 1.1/ when the first hand is received, a queue file is created if not already there, and  | ||||||
| a copy of the current live xml note file is created as a security backup. | a copy of the current live xml note file is created as a security backup. | ||||||
| 2/ For every hand played, the auxillary window is called | 2/ For every hand played, the auxillary window is called | ||||||
| 3/ Based upon the players in the hand, fpdb will be interrogated | 3/ Based upon the players in the hand, fpdb will be interrogated | ||||||
|  | @ -191,4 +187,4 @@ existing notes, but this cannot be guaranteed. | ||||||
| they replace the existing note file. | they replace the existing note file. | ||||||
| 9/ Note that this process never updates the live notes file in situ, but | 9/ Note that this process never updates the live notes file in situ, but | ||||||
| there is a risk that something goes wrong, and that existing notes could be destroyed. | there is a risk that something goes wrong, and that existing notes could be destroyed. | ||||||
| 
 | 10/ the queue file can be deleted to reduce re-processing next time. | ||||||
|  |  | ||||||
							
								
								
									
										450
									
								
								pyfpdb/SQL.py
									
									
									
									
									
								
							
							
						
						
									
										450
									
								
								pyfpdb/SQL.py
									
									
									
									
									
								
							|  | @ -346,6 +346,7 @@ class Sql: | ||||||
|                             siteHandNo BIGINT NOT NULL, |                             siteHandNo BIGINT NOT NULL, | ||||||
|                             tourneyId INT UNSIGNED,  |                             tourneyId INT UNSIGNED,  | ||||||
|                             gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), |                             gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||||
|  |                             sessionId INT UNSIGNED,  | ||||||
|                             startTime DATETIME NOT NULL, |                             startTime DATETIME NOT NULL, | ||||||
|                             importTime DATETIME NOT NULL, |                             importTime DATETIME NOT NULL, | ||||||
|                             seats TINYINT NOT NULL, |                             seats TINYINT NOT NULL, | ||||||
|  | @ -383,6 +384,7 @@ class Sql: | ||||||
|                             siteHandNo BIGINT NOT NULL, |                             siteHandNo BIGINT NOT NULL, | ||||||
|                             tourneyId INT, |                             tourneyId INT, | ||||||
|                             gametypeId INT NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), |                             gametypeId INT NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||||
|  |                             sessionId INT, | ||||||
|                             startTime timestamp without time zone NOT NULL, |                             startTime timestamp without time zone NOT NULL, | ||||||
|                             importTime timestamp without time zone NOT NULL, |                             importTime timestamp without time zone NOT NULL, | ||||||
|                             seats SMALLINT NOT NULL, |                             seats SMALLINT NOT NULL, | ||||||
|  | @ -419,6 +421,7 @@ class Sql: | ||||||
|                             siteHandNo INT NOT NULL, |                             siteHandNo INT NOT NULL, | ||||||
|                             tourneyId INT, |                             tourneyId INT, | ||||||
|                             gametypeId INT NOT NULL, |                             gametypeId INT NOT NULL, | ||||||
|  |                             sessionId INT, | ||||||
|                             startTime REAL NOT NULL, |                             startTime REAL NOT NULL, | ||||||
|                             importTime REAL NOT NULL, |                             importTime REAL NOT NULL, | ||||||
|                             seats INT NOT NULL, |                             seats INT NOT NULL, | ||||||
|  | @ -639,9 +642,16 @@ class Sql: | ||||||
|                         street0_3BChance BOOLEAN, |                         street0_3BChance BOOLEAN, | ||||||
|                         street0_3BDone BOOLEAN, |                         street0_3BDone BOOLEAN, | ||||||
|                         street0_4BChance BOOLEAN, |                         street0_4BChance BOOLEAN, | ||||||
|  |                         street0_C4BChance BOOLEAN, | ||||||
|                         street0_4BDone BOOLEAN, |                         street0_4BDone BOOLEAN, | ||||||
|                         other3BStreet0 BOOLEAN, |                         street0_C4BDone BOOLEAN, | ||||||
|                         other4BStreet0 BOOLEAN, |                         street0_FoldTo3BChance BOOLEAN, | ||||||
|  |                         street0_FoldTo3BDone BOOLEAN, | ||||||
|  |                         street0_FoldTo4BChance BOOLEAN, | ||||||
|  |                         street0_FoldTo4BDone BOOLEAN, | ||||||
|  |                         street0_SqueezeChance BOOLEAN, | ||||||
|  |                         street0_SqueezeDone BOOLEAN, | ||||||
|  |                         success_Steal BOOLEAN, | ||||||
| 
 | 
 | ||||||
|                         street1Seen BOOLEAN, |                         street1Seen BOOLEAN, | ||||||
|                         street2Seen BOOLEAN, |                         street2Seen BOOLEAN, | ||||||
|  | @ -757,8 +767,15 @@ class Sql: | ||||||
|                         street0_3BDone BOOLEAN, |                         street0_3BDone BOOLEAN, | ||||||
|                         street0_4BChance BOOLEAN, |                         street0_4BChance BOOLEAN, | ||||||
|                         street0_4BDone BOOLEAN, |                         street0_4BDone BOOLEAN, | ||||||
|                         other3BStreet0 BOOLEAN, |                         street0_C4BChance BOOLEAN, | ||||||
|                         other4BStreet0 BOOLEAN, |                         street0_C4BDone BOOLEAN, | ||||||
|  |                         street0_FoldTo3BChance BOOLEAN, | ||||||
|  |                         street0_FoldTo3BDone BOOLEAN, | ||||||
|  |                         street0_FoldTo4BChance BOOLEAN, | ||||||
|  |                         street0_FoldTo4BDone BOOLEAN, | ||||||
|  |                         street0_SqueezeChance BOOLEAN, | ||||||
|  |                         street0_SqueezeDone BOOLEAN, | ||||||
|  |                         success_Steal BOOLEAN, | ||||||
| 
 | 
 | ||||||
|                         street1Seen BOOLEAN, |                         street1Seen BOOLEAN, | ||||||
|                         street2Seen BOOLEAN, |                         street2Seen BOOLEAN, | ||||||
|  | @ -873,8 +890,15 @@ class Sql: | ||||||
|                         street0_3BDone INT, |                         street0_3BDone INT, | ||||||
|                         street0_4BChance INT, |                         street0_4BChance INT, | ||||||
|                         street0_4BDone INT, |                         street0_4BDone INT, | ||||||
|                         other3BStreet0 INT, |                         street0_C4BChance INT, | ||||||
|                         other4BStreet0 INT, |                         street0_C4BDone INT, | ||||||
|  |                         street0_FoldTo3BChance INT, | ||||||
|  |                         street0_FoldTo3BDone INT, | ||||||
|  |                         street0_FoldTo4BChance INT, | ||||||
|  |                         street0_FoldTo4BDone INT, | ||||||
|  |                         street0_SqueezeChance INT, | ||||||
|  |                         street0_SqueezeDone INT, | ||||||
|  |                         success_Steal INT, | ||||||
| 
 | 
 | ||||||
|                         street1Seen INT, |                         street1Seen INT, | ||||||
|                         street2Seen INT, |                         street2Seen INT, | ||||||
|  | @ -1007,7 +1031,8 @@ class Sql: | ||||||
|         if db_server == 'mysql': |         if db_server == 'mysql': | ||||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( |             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||||
|                         id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), |                         id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, PRIMARY KEY (id), | ||||||
|                         handsPlayerId BIGINT UNSIGNED NOT NULL, FOREIGN KEY (handsPlayerId) REFERENCES HandsPlayers(id), |                         handId BIGINT UNSIGNED NOT NULL, FOREIGN KEY (handId) REFERENCES Hands(id), | ||||||
|  |                         playerId INT UNSIGNED NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||||
|                         street SMALLINT NOT NULL, |                         street SMALLINT NOT NULL, | ||||||
|                         actionNo SMALLINT NOT NULL, |                         actionNo SMALLINT NOT NULL, | ||||||
|                         streetActionNo SMALLINT NOT NULL, |                         streetActionNo SMALLINT NOT NULL, | ||||||
|  | @ -1022,7 +1047,8 @@ class Sql: | ||||||
|         elif db_server == 'postgresql': |         elif db_server == 'postgresql': | ||||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( |             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||||
|                         id BIGSERIAL, PRIMARY KEY (id), |                         id BIGSERIAL, PRIMARY KEY (id), | ||||||
|                         handsPlayerId BIGINT, FOREIGN KEY (handsPlayerId) REFERENCES HandsPlayers(id), |                         handId BIGINT NOT NULL, FOREIGN KEY (handId) REFERENCES Hands(id), | ||||||
|  |                         playerId INT NOT NULL, FOREIGN KEY (playerId) REFERENCES Players(id), | ||||||
|                         street SMALLINT, |                         street SMALLINT, | ||||||
|                         actionNo SMALLINT, |                         actionNo SMALLINT, | ||||||
|                         streetActionNo SMALLINT, |                         streetActionNo SMALLINT, | ||||||
|  | @ -1036,7 +1062,8 @@ class Sql: | ||||||
|         elif db_server == 'sqlite': |         elif db_server == 'sqlite': | ||||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( |             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||||
|                         id INTEGER PRIMARY KEY, |                         id INTEGER PRIMARY KEY, | ||||||
|                         handsPlayerId BIGINT, |                         handId INT NOT NULL, | ||||||
|  |                         playerId INT NOT NULL, | ||||||
|                         street SMALLINT, |                         street SMALLINT, | ||||||
|                         actionNo SMALLINT, |                         actionNo SMALLINT, | ||||||
|                         streetActionNo SMALLINT, |                         streetActionNo SMALLINT, | ||||||
|  | @ -1046,9 +1073,7 @@ class Sql: | ||||||
|                         amountCalled INT, |                         amountCalled INT, | ||||||
|                         numDiscarded SMALLINT, |                         numDiscarded SMALLINT, | ||||||
|                         cardsDiscarded TEXT, |                         cardsDiscarded TEXT, | ||||||
|                         allIn BOOLEAN, |                         allIn BOOLEAN | ||||||
|                         FOREIGN KEY (handsPlayerId) REFERENCES HandsPlayers(id), |  | ||||||
|                         FOREIGN KEY (actionId) REFERENCES Actions(id) ON DELETE CASCADE |  | ||||||
|                         )"""  |                         )"""  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | @ -1079,8 +1104,16 @@ class Sql: | ||||||
|                         street0_3BDone INT, |                         street0_3BDone INT, | ||||||
|                         street0_4BChance INT, |                         street0_4BChance INT, | ||||||
|                         street0_4BDone INT, |                         street0_4BDone INT, | ||||||
|                         other3BStreet0 INT, |                         street0_C4BChance INT, | ||||||
|                         other4BStreet0 INT, |                         street0_C4BDone INT, | ||||||
|  |                         street0_FoldTo3BChance INT, | ||||||
|  |                         street0_FoldTo3BDone INT, | ||||||
|  |                         street0_FoldTo4BChance INT, | ||||||
|  |                         street0_FoldTo4BDone INT, | ||||||
|  |                         street0_SqueezeChance INT, | ||||||
|  |                         street0_SqueezeDone INT, | ||||||
|  |                         success_Steal INT, | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|                         street1Seen INT, |                         street1Seen INT, | ||||||
|                         street2Seen INT, |                         street2Seen INT, | ||||||
|  | @ -1180,8 +1213,15 @@ class Sql: | ||||||
|                         street0_3BDone INT, |                         street0_3BDone INT, | ||||||
|                         street0_4BChance INT, |                         street0_4BChance INT, | ||||||
|                         street0_4BDone INT, |                         street0_4BDone INT, | ||||||
|                         other3BStreet0 INT, |                         street0_C4BChance INT, | ||||||
|                         other4BStreet0 INT, |                         street0_C4BDone INT, | ||||||
|  |                         street0_FoldTo3BChance INT, | ||||||
|  |                         street0_FoldTo3BDone INT, | ||||||
|  |                         street0_FoldTo4BChance INT, | ||||||
|  |                         street0_FoldTo4BDone INT, | ||||||
|  |                         street0_SqueezeChance INT, | ||||||
|  |                         street0_SqueezeDone INT, | ||||||
|  |                         success_Steal INT, | ||||||
| 
 | 
 | ||||||
|                         street1Seen INT, |                         street1Seen INT, | ||||||
|                         street2Seen INT, |                         street2Seen INT, | ||||||
|  | @ -1279,8 +1319,15 @@ class Sql: | ||||||
|                         street0_3BDone INT, |                         street0_3BDone INT, | ||||||
|                         street0_4BChance INT, |                         street0_4BChance INT, | ||||||
|                         street0_4BDone INT, |                         street0_4BDone INT, | ||||||
|                         other3BStreet0 INT, |                         street0_C4BChance INT, | ||||||
|                         other4BStreet0 INT, |                         street0_C4BDone INT, | ||||||
|  |                         street0_FoldTo3BChance INT, | ||||||
|  |                         street0_FoldTo3BDone INT, | ||||||
|  |                         street0_FoldTo4BChance INT, | ||||||
|  |                         street0_FoldTo4BDone INT, | ||||||
|  |                         street0_SqueezeChance INT, | ||||||
|  |                         street0_SqueezeDone INT, | ||||||
|  |                         success_Steal INT, | ||||||
| 
 | 
 | ||||||
|                         street1Seen INT, |                         street1Seen INT, | ||||||
|                         street2Seen INT, |                         street2Seen INT, | ||||||
|  | @ -1367,8 +1414,8 @@ class Sql: | ||||||
|                         sessionEnd DATETIME NOT NULL, |                         sessionEnd DATETIME NOT NULL, | ||||||
|                         ringHDs INT NOT NULL, |                         ringHDs INT NOT NULL, | ||||||
|                         tourHDs INT NOT NULL, |                         tourHDs INT NOT NULL, | ||||||
|                         totalProfit INT NOT NULL, |                         ringProfitUSD INT NOT NULL, | ||||||
|                         bigBets FLOAT UNSIGNED NOT NULL) |                         ringProfitEUR INT NOT NULL) | ||||||
| 
 | 
 | ||||||
|                         ENGINE=INNODB""" |                         ENGINE=INNODB""" | ||||||
|         elif db_server == 'postgresql': |         elif db_server == 'postgresql': | ||||||
|  | @ -1378,8 +1425,8 @@ class Sql: | ||||||
|                         sessionEnd REAL NOT NULL, |                         sessionEnd REAL NOT NULL, | ||||||
|                         ringHDs INT NOT NULL, |                         ringHDs INT NOT NULL, | ||||||
|                         tourHDs INT NOT NULL, |                         tourHDs INT NOT NULL, | ||||||
|                         totalProfit INT NOT NULL, |                         ringProfitUSD INT NOT NULL, | ||||||
|                         bigBets FLOAT NOT NULL) |                         ringProfitEUR INT NOT NULL) | ||||||
|                         """ |                         """ | ||||||
|         elif db_server == 'sqlite': |         elif db_server == 'sqlite': | ||||||
|             self.query['createSessionsCacheTable'] = """CREATE TABLE SessionsCache ( |             self.query['createSessionsCacheTable'] = """CREATE TABLE SessionsCache ( | ||||||
|  | @ -1388,8 +1435,8 @@ class Sql: | ||||||
|                         sessionEnd REAL NOT NULL, |                         sessionEnd REAL NOT NULL, | ||||||
|                         ringHDs INT NOT NULL, |                         ringHDs INT NOT NULL, | ||||||
|                         tourHDs INT NOT NULL, |                         tourHDs INT NOT NULL, | ||||||
|                         totalProfit INT NOT NULL, |                         ringProfitUSD INT NOT NULL, | ||||||
|                         bigBets REAL UNSIGNED NOT NULL) |                         ringProfitEUR INT NOT NULL) | ||||||
|                         """ |                         """ | ||||||
| 
 | 
 | ||||||
|         if db_server == 'mysql': |         if db_server == 'mysql': | ||||||
|  | @ -1488,6 +1535,17 @@ class Sql: | ||||||
|                     sum(hc.street0Aggr)                 AS pfr, |                     sum(hc.street0Aggr)                 AS pfr, | ||||||
|                     sum(hc.street0_3BChance)            AS TB_opp_0, |                     sum(hc.street0_3BChance)            AS TB_opp_0, | ||||||
|                     sum(hc.street0_3BDone)              AS TB_0, |                     sum(hc.street0_3BDone)              AS TB_0, | ||||||
|  |                     sum(hc.street0_4BChance)            AS FB_opp_0, | ||||||
|  |                     sum(hc.street0_4BDone)              AS FB_0, | ||||||
|  |                     sum(hc.street0_C4BChance)           AS CFB_opp_0, | ||||||
|  |                     sum(hc.street0_C4BDone)             AS CFB_0, | ||||||
|  |                     sum(hc.street0_FoldTo3BChance)      AS F3B_opp_0, | ||||||
|  |                     sum(hc.street0_FoldTo3BDone)        AS F3B_0, | ||||||
|  |                     sum(hc.street0_FoldTo4BChance)      AS F4B_opp_0, | ||||||
|  |                     sum(hc.street0_FoldTo4BDone)        AS F4B_0, | ||||||
|  |                     sum(hc.street0_SqueezeChance)       AS SQZ_opp_0, | ||||||
|  |                     sum(hc.street0_SqueezeDone)         AS SQZ_0, | ||||||
|  |                     sum(hc.success_Steal)               AS SUC_ST, | ||||||
|                     sum(hc.street1Seen)                 AS saw_f, |                     sum(hc.street1Seen)                 AS saw_f, | ||||||
|                     sum(hc.street1Seen)                 AS saw_1, |                     sum(hc.street1Seen)                 AS saw_1, | ||||||
|                     sum(hc.street2Seen)                 AS saw_2, |                     sum(hc.street2Seen)                 AS saw_2, | ||||||
|  | @ -1599,6 +1657,17 @@ class Sql: | ||||||
|                        sum(hc.street0Aggr)                 AS pfr, |                        sum(hc.street0Aggr)                 AS pfr, | ||||||
|                        sum(hc.street0_3BChance)            AS TB_opp_0, |                        sum(hc.street0_3BChance)            AS TB_opp_0, | ||||||
|                        sum(hc.street0_3BDone)              AS TB_0, |                        sum(hc.street0_3BDone)              AS TB_0, | ||||||
|  |                        sum(hc.street0_4BChance)            AS FB_opp_0, | ||||||
|  |                        sum(hc.street0_4BDone)              AS FB_0, | ||||||
|  |                        sum(hc.street0_C4BChance)           AS CFB_opp_0, | ||||||
|  |                        sum(hc.street0_C4BDone)             AS CFB_0, | ||||||
|  |                        sum(hc.street0_FoldTo3BChance)      AS F3B_opp_0, | ||||||
|  |                        sum(hc.street0_FoldTo3BDone)        AS F3B_0, | ||||||
|  |                        sum(hc.street0_FoldTo4BChance)      AS F4B_opp_0, | ||||||
|  |                        sum(hc.street0_FoldTo4BDone)        AS F4B_0, | ||||||
|  |                        sum(hc.street0_SqueezeChance)       AS SQZ_opp_0, | ||||||
|  |                        sum(hc.street0_SqueezeDone)         AS SQZ_0, | ||||||
|  |                        sum(hc.success_Steal)               AS SUC_ST, | ||||||
|                        sum(hc.street1Seen)                 AS saw_f, |                        sum(hc.street1Seen)                 AS saw_f, | ||||||
|                        sum(hc.street1Seen)                 AS saw_1, |                        sum(hc.street1Seen)                 AS saw_1, | ||||||
|                        sum(hc.street2Seen)                 AS saw_2, |                        sum(hc.street2Seen)                 AS saw_2, | ||||||
|  | @ -1727,6 +1796,17 @@ class Sql: | ||||||
|                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, |                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, | ||||||
|                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, |                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, | ||||||
|                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, |                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, | ||||||
|  |                            cast(hp2.street0_4BChance as <signed>integer)            AS FB_opp_0, | ||||||
|  |                            cast(hp2.street0_4BDone as <signed>integer)              AS FB_0, | ||||||
|  |                            cast(hp2.street0_C4BChance as <signed>integer)           AS CFB_opp_0, | ||||||
|  |                            cast(hp2.street0_C4BDone as <signed>integer)             AS CFB_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BChance as <signed>integer)      AS F3B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BDone as <signed>integer)        AS F3B_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BChance as <signed>integer)      AS F4B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BDone as <signed>integer)        AS F4B_0, | ||||||
|  |                            cast(hp2.street0_SqueezeChance as <signed>integer)       AS SQZ_opp_0, | ||||||
|  |                            cast(hp2.street0_SqueezeDone as <signed>integer)         AS SQZ_0, | ||||||
|  |                            cast(hp2.success_Steal as <signed>integer)               AS SUC_ST, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, | ||||||
|                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, |                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, | ||||||
|  | @ -1831,6 +1911,17 @@ class Sql: | ||||||
|                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, |                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, | ||||||
|                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, |                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, | ||||||
|                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, |                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, | ||||||
|  |                            cast(hp2.street0_4BChance as <signed>integer)            AS FB_opp_0, | ||||||
|  |                            cast(hp2.street0_4BDone as <signed>integer)              AS FB_0, | ||||||
|  |                            cast(hp2.street0_C4BChance as <signed>integer)           AS CFB_opp_0, | ||||||
|  |                            cast(hp2.street0_C4BDone as <signed>integer)             AS CFB_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BChance as <signed>integer)      AS F3B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BDone as <signed>integer)        AS F3B_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BChance as <signed>integer)      AS F4B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BDone as <signed>integer)        AS F4B_0, | ||||||
|  |                            cast(hp2.street0_SqueezeChance as <signed>integer)       AS SQZ_opp_0, | ||||||
|  |                            cast(hp2.street0_SqueezeDone as <signed>integer)         AS SQZ_0, | ||||||
|  |                            cast(hp2.success_Steal as <signed>integer)               AS SUC_ST, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, | ||||||
|                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, |                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, | ||||||
|  | @ -1936,6 +2027,17 @@ class Sql: | ||||||
|                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, |                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, | ||||||
|                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, |                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_0, | ||||||
|                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, |                            cast(hp2.street0_3BDone as <signed>integer)              AS TB_0, | ||||||
|  |                            cast(hp2.street0_4BChance as <signed>integer)            AS FB_opp_0, | ||||||
|  |                            cast(hp2.street0_4BDone as <signed>integer)              AS FB_0, | ||||||
|  |                            cast(hp2.street0_C4BChance as <signed>integer)           AS CFB_opp_0, | ||||||
|  |                            cast(hp2.street0_C4BDone as <signed>integer)             AS CFB_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BChance as <signed>integer)      AS F3B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo3BDone as <signed>integer)        AS F3B_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BChance as <signed>integer)      AS F4B_opp_0, | ||||||
|  |                            cast(hp2.street0_FoldTo4BDone as <signed>integer)        AS F4B_0, | ||||||
|  |                            cast(hp2.street0_SqueezeChance as <signed>integer)       AS SQZ_opp_0, | ||||||
|  |                            cast(hp2.street0_SqueezeDone as <signed>integer)         AS SQZ_0, | ||||||
|  |                            cast(hp2.success_Steal as <signed>integer)               AS SUC_ST, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_f, | ||||||
|                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, |                            cast(hp2.street1Seen as <signed>integer)                 AS saw_1, | ||||||
|                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, |                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, | ||||||
|  | @ -2170,7 +2272,7 @@ class Sql: | ||||||
|                                       from Gametypes gt |                                       from Gametypes gt | ||||||
|                                       WHERE type = 'ring' |                                       WHERE type = 'ring' | ||||||
|                                       order by type, limitType DESC, bb_or_buyin DESC""" |                                       order by type, limitType DESC, bb_or_buyin DESC""" | ||||||
| 
 |         #FIXME: Some stats not added to DetailedStats | ||||||
|         if db_server == 'mysql': |         if db_server == 'mysql': | ||||||
|             self.query['playerDetailedStats'] = """ |             self.query['playerDetailedStats'] = """ | ||||||
|                      select  <hgametypeId>                                                          AS hgametypeid |                      select  <hgametypeId>                                                          AS hgametypeid | ||||||
|  | @ -2189,6 +2291,16 @@ class Sql: | ||||||
|                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) |                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) | ||||||
|                              end                                                                    AS pf3 |                              end                                                                    AS pf3 | ||||||
|  |                             ,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pf4 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff3 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff4 | ||||||
|  | 
 | ||||||
|                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  |                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) |                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||||
|  | @ -2216,6 +2328,18 @@ class Sql: | ||||||
|                                            end |                                            end | ||||||
|                                           ) |                                           ) | ||||||
|                              end                                                                    AS steals |                              end                                                                    AS steals | ||||||
|  |                             ,case when sum(cast(hp.success_Steal as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0 *  | ||||||
|  |                                        sum(cast(hp.success_Steal as <signed>integer)) | ||||||
|  |                                            /  | ||||||
|  |                                        sum(case hp.position | ||||||
|  |                                            when 'S' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '0' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '1' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            else 0 | ||||||
|  |                                            end | ||||||
|  |                                           ) | ||||||
|  |                              end                                                                    AS suc_steal | ||||||
|                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f |                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f | ||||||
|                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd |                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||||
|  | @ -2239,7 +2363,7 @@ class Sql: | ||||||
|                              end                                                                    AS pofafq |                              end                                                                    AS pofafq | ||||||
|                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 | ||||||
|                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) |                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) | ||||||
|                                      /(sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) |                                      /(0.0+sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) | ||||||
|                              end                                                                    AS aggfac |                              end                                                                    AS aggfac | ||||||
|                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  |                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  | ||||||
|                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + |                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + | ||||||
|  | @ -2310,6 +2434,15 @@ class Sql: | ||||||
|                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) |                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) | ||||||
|                              end                                                                    AS pf3 |                              end                                                                    AS pf3 | ||||||
|  |                             ,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pf4 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff3 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff4 | ||||||
|                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  |                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) |                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||||
|  | @ -2337,6 +2470,18 @@ class Sql: | ||||||
|                                            end |                                            end | ||||||
|                                           ) |                                           ) | ||||||
|                              end                                                                    AS steals |                              end                                                                    AS steals | ||||||
|  |                             ,case when sum(cast(hp.success_Steal as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0 *  | ||||||
|  |                                        sum(cast(hp.success_Steal as <signed>integer)) | ||||||
|  |                                            /  | ||||||
|  |                                        sum(case hp.position | ||||||
|  |                                            when 'S' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '0' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '1' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            else 0 | ||||||
|  |                                            end | ||||||
|  |                                           ) | ||||||
|  |                              end                                                                    AS suc_steal | ||||||
|                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f |                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f | ||||||
|                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd |                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||||
|  | @ -2360,7 +2505,7 @@ class Sql: | ||||||
|                              end                                                                    AS pofafq |                              end                                                                    AS pofafq | ||||||
|                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 | ||||||
|                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) |                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) | ||||||
|                                      /(sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) |                                      /(0.0+sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) | ||||||
|                              end                                                                    AS aggfac |                              end                                                                    AS aggfac | ||||||
|                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  |                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  | ||||||
|                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + |                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + | ||||||
|  | @ -2432,6 +2577,15 @@ class Sql: | ||||||
|                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) |                                   else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) | ||||||
|                              end                                                                    AS pf3 |                              end                                                                    AS pf3 | ||||||
|  |                             ,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pf4 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff3 | ||||||
|  |                             ,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) | ||||||
|  |                              end                                                                    AS pff4 | ||||||
|                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 | ||||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  |                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) |                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||||
|  | @ -2459,6 +2613,18 @@ class Sql: | ||||||
|                                            end |                                            end | ||||||
|                                           ) |                                           ) | ||||||
|                              end                                                                    AS steals |                              end                                                                    AS steals | ||||||
|  |                             ,case when sum(cast(hp.success_Steal as <signed>integer)) = 0 then -999 | ||||||
|  |                                   else 100.0 *  | ||||||
|  |                                        sum(cast(hp.success_Steal as <signed>integer)) | ||||||
|  |                                            /  | ||||||
|  |                                        sum(case hp.position | ||||||
|  |                                            when 'S' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '0' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            when '1' then cast(hp.raisedFirstIn as <signed>integer) | ||||||
|  |                                            else 0 | ||||||
|  |                                            end | ||||||
|  |                                           ) | ||||||
|  |                              end                                                                    AS suc_steal | ||||||
|                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f |                             ,100.0*sum(cast(hp.street1Seen as <signed>integer))/count(1)            AS saw_f | ||||||
|                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd |                             ,100.0*sum(cast(hp.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||||
|  | @ -2482,7 +2648,7 @@ class Sql: | ||||||
|                              end                                                                    AS pofafq |                              end                                                                    AS pofafq | ||||||
|                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 |                             ,case when sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer)) = 0 then -999 | ||||||
|                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) |                                  else (sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer))) | ||||||
|                                      /(sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) |                                      /(0.0+sum(cast(hp.street1Calls as <signed>integer))+ sum(cast(hp.street2Calls as <signed>integer))+ sum(cast(hp.street3Calls as <signed>integer))+ sum(cast(hp.street4Calls as <signed>integer))) | ||||||
|                              end                                                                    AS aggfac |                              end                                                                    AS aggfac | ||||||
|                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  |                             ,100.0*(sum(cast(hp.street1Aggr as <signed>integer)) + sum(cast(hp.street2Aggr as <signed>integer)) + sum(cast(hp.street3Aggr as <signed>integer)) + sum(cast(hp.street4Aggr as <signed>integer)))  | ||||||
|                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + |                                        / ((sum(cast(hp.foldToOtherRaisedStreet1 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet2 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet3 as <signed>integer))+ sum(cast(hp.foldToOtherRaisedStreet4 as <signed>integer))) + | ||||||
|  | @ -2537,6 +2703,7 @@ class Sql: | ||||||
|                               ,s.name |                               ,s.name | ||||||
|                       """ |                       """ | ||||||
| 
 | 
 | ||||||
|  |         #FIXME: 3/4bet and foldTo don't added four tournaments yet | ||||||
|         if db_server == 'mysql': |         if db_server == 'mysql': | ||||||
|             self.query['tourneyPlayerDetailedStats'] = """ |             self.query['tourneyPlayerDetailedStats'] = """ | ||||||
|                       select s.name                                                                 AS siteName |                       select s.name                                                                 AS siteName | ||||||
|  | @ -2660,6 +2827,9 @@ class Sql: | ||||||
|                      ,stats.vpip |                      ,stats.vpip | ||||||
|                      ,stats.pfr |                      ,stats.pfr | ||||||
|                      ,stats.pf3 |                      ,stats.pf3 | ||||||
|  |                      ,stats.pf4 | ||||||
|  |                      ,stats.pff3 | ||||||
|  |                      ,stats.pff4 | ||||||
|                      ,stats.steals |                      ,stats.steals | ||||||
|                      ,stats.saw_f |                      ,stats.saw_f | ||||||
|                      ,stats.sawsd |                      ,stats.sawsd | ||||||
|  | @ -2690,6 +2860,15 @@ class Sql: | ||||||
|                            ,case when sum(street0_3Bchance) = 0 then '0' |                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||||
|                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) |                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) | ||||||
|                             end                                                             AS pf3 |                             end                                                             AS pf3 | ||||||
|  |                            ,case when sum(street0_4Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),1) | ||||||
|  |                             end                                                             AS pf4 | ||||||
|  |                            ,case when sum(street0_FoldTo3Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),1) | ||||||
|  |                             end                                                             AS pff3 | ||||||
|  |                            ,case when sum(street0_FoldTo4Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),1) | ||||||
|  |                             end                                                             AS pff4 | ||||||
|                            ,case when sum(raiseFirstInChance) = 0 then '-' |                            ,case when sum(raiseFirstInChance) = 0 then '-' | ||||||
|                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) |                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) | ||||||
|                             end                                                             AS steals |                             end                                                             AS steals | ||||||
|  | @ -2766,6 +2945,9 @@ class Sql: | ||||||
|                       ,stats.vpip |                       ,stats.vpip | ||||||
|                       ,stats.pfr |                       ,stats.pfr | ||||||
|                       ,stats.pf3 |                       ,stats.pf3 | ||||||
|  |                       ,stats.pf4 | ||||||
|  |                       ,stats.pff3 | ||||||
|  |                       ,stats.pff4 | ||||||
|                       ,stats.steals |                       ,stats.steals | ||||||
|                       ,stats.saw_f |                       ,stats.saw_f | ||||||
|                       ,stats.sawsd |                       ,stats.sawsd | ||||||
|  | @ -2880,6 +3062,9 @@ class Sql: | ||||||
|                      ,stats.vpip |                      ,stats.vpip | ||||||
|                      ,stats.pfr |                      ,stats.pfr | ||||||
|                      ,stats.pf3 |                      ,stats.pf3 | ||||||
|  |                      ,stats.pf4 | ||||||
|  |                      ,stats.pff3 | ||||||
|  |                      ,stats.pff4 | ||||||
|                      ,stats.steals |                      ,stats.steals | ||||||
|                      ,stats.saw_f |                      ,stats.saw_f | ||||||
|                      ,stats.sawsd |                      ,stats.sawsd | ||||||
|  | @ -2918,6 +3103,15 @@ class Sql: | ||||||
|                            ,case when sum(street0_3Bchance) = 0 then '0' |                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||||
|                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) |                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) | ||||||
|                             end                                                             AS pf3 |                             end                                                             AS pf3 | ||||||
|  |                            ,case when sum(street0_4Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),1) | ||||||
|  |                             end                                                             AS pf4 | ||||||
|  |                            ,case when sum(street0_FoldTo3Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),1) | ||||||
|  |                             end                                                             AS pff3 | ||||||
|  |                            ,case when sum(street0_FoldTo4Bchance) = 0 then '0' | ||||||
|  |                                  else format(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),1) | ||||||
|  |                             end                                                             AS pff4 | ||||||
|                            ,case when sum(raiseFirstInChance) = 0 then '-' |                            ,case when sum(raiseFirstInChance) = 0 then '-' | ||||||
|                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) |                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) | ||||||
|                             end                                                             AS steals |                             end                                                             AS steals | ||||||
|  | @ -3016,6 +3210,9 @@ class Sql: | ||||||
|                       ,stats.vpip |                       ,stats.vpip | ||||||
|                       ,stats.pfr |                       ,stats.pfr | ||||||
|                       ,stats.pf3 |                       ,stats.pf3 | ||||||
|  |                       ,stats.pf4 | ||||||
|  |                       ,stats.pff3 | ||||||
|  |                       ,stats.pff4 | ||||||
|                       ,stats.steals |                       ,stats.steals | ||||||
|                       ,stats.saw_f |                       ,stats.saw_f | ||||||
|                       ,stats.sawsd |                       ,stats.sawsd | ||||||
|  | @ -3054,6 +3251,15 @@ class Sql: | ||||||
|                            ,case when sum(street0_3Bchance) = 0 then '0' |                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||||
|                                  else to_char(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),'90D0') |                                  else to_char(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),'90D0') | ||||||
|                             end                                                             AS pf3 |                             end                                                             AS pf3 | ||||||
|  |                            ,case when sum(street0_4Bchance) = 0 then '0' | ||||||
|  |                                  else to_char(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),'90D0') | ||||||
|  |                             end                                                             AS pf4 | ||||||
|  |                            ,case when sum(street0_FoldTo3Bchance) = 0 then '0' | ||||||
|  |                                  else to_char(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),'90D0') | ||||||
|  |                             end                                                             AS pff3 | ||||||
|  |                            ,case when sum(street0_FoldTo4Bchance) = 0 then '0' | ||||||
|  |                                  else to_char(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),'90D0') | ||||||
|  |                             end                                                             AS pff4 | ||||||
|                            ,case when sum(raiseFirstInChance) = 0 then '-' |                            ,case when sum(raiseFirstInChance) = 0 then '-' | ||||||
|                                  else to_char(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),'90D0') |                                  else to_char(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),'90D0') | ||||||
|                             end                                                             AS steals |                             end                                                             AS steals | ||||||
|  | @ -3279,8 +3485,15 @@ class Sql: | ||||||
|                 ,street0_3BDone |                 ,street0_3BDone | ||||||
|                 ,street0_4BChance |                 ,street0_4BChance | ||||||
|                 ,street0_4BDone |                 ,street0_4BDone | ||||||
|                 ,other3BStreet0 |                 ,street0_C4BChance | ||||||
|                 ,other4BStreet0 |                 ,street0_C4BDone | ||||||
|  |                 ,street0_FoldTo3BChance | ||||||
|  |                 ,street0_FoldTo3BDone | ||||||
|  |                 ,street0_FoldTo4BChance | ||||||
|  |                 ,street0_FoldTo4BDone | ||||||
|  |                 ,street0_SqueezeChance | ||||||
|  |                 ,street0_SqueezeDone | ||||||
|  |                 ,success_Steal | ||||||
|                 ,street1Seen |                 ,street1Seen | ||||||
|                 ,street2Seen |                 ,street2Seen | ||||||
|                 ,street3Seen |                 ,street3Seen | ||||||
|  | @ -3378,8 +3591,15 @@ class Sql: | ||||||
|                       ,sum(street0_3BDone) |                       ,sum(street0_3BDone) | ||||||
|                       ,sum(street0_4BChance) |                       ,sum(street0_4BChance) | ||||||
|                       ,sum(street0_4BDone) |                       ,sum(street0_4BDone) | ||||||
|                       ,sum(other3BStreet0) |                       ,sum(street0_C4BChance) | ||||||
|                       ,sum(other4BStreet0) |                       ,sum(street0_C4BDone) | ||||||
|  |                       ,sum(street0_FoldTo3BChance) | ||||||
|  |                       ,sum(street0_FoldTo3BDone) | ||||||
|  |                       ,sum(street0_FoldTo4BChance) | ||||||
|  |                       ,sum(street0_FoldTo4BDone) | ||||||
|  |                       ,sum(street0_SqueezeChance) | ||||||
|  |                       ,sum(street0_SqueezeDone) | ||||||
|  |                       ,sum(success_Steal) | ||||||
|                       ,sum(street1Seen) |                       ,sum(street1Seen) | ||||||
|                       ,sum(street2Seen) |                       ,sum(street2Seen) | ||||||
|                       ,sum(street3Seen) |                       ,sum(street3Seen) | ||||||
|  | @ -3477,8 +3697,15 @@ class Sql: | ||||||
|                 ,street0_3BDone |                 ,street0_3BDone | ||||||
|                 ,street0_4BChance |                 ,street0_4BChance | ||||||
|                 ,street0_4BDone |                 ,street0_4BDone | ||||||
|                 ,other3BStreet0 |                 ,street0_C4BChance | ||||||
|                 ,other4BStreet0       |                 ,street0_C4BDone | ||||||
|  |                 ,street0_FoldTo3BChance | ||||||
|  |                 ,street0_FoldTo3BDone | ||||||
|  |                 ,street0_FoldTo4BChance | ||||||
|  |                 ,street0_FoldTo4BDone | ||||||
|  |                 ,street0_SqueezeChance | ||||||
|  |                 ,street0_SqueezeDone | ||||||
|  |                 ,success_Steal | ||||||
|                 ,street1Seen |                 ,street1Seen | ||||||
|                 ,street2Seen |                 ,street2Seen | ||||||
|                 ,street3Seen |                 ,street3Seen | ||||||
|  | @ -3576,8 +3803,15 @@ class Sql: | ||||||
|                       ,sum(CAST(street0_3BDone as integer)) |                       ,sum(CAST(street0_3BDone as integer)) | ||||||
|                       ,sum(CAST(street0_4BChance as integer)) |                       ,sum(CAST(street0_4BChance as integer)) | ||||||
|                       ,sum(CAST(street0_4BDone as integer)) |                       ,sum(CAST(street0_4BDone as integer)) | ||||||
|                       ,sum(CAST(other3BStreet0 as integer)) |                       ,sum(CAST(street0_C4BChance as integer)) | ||||||
|                       ,sum(CAST(other4BStreet0 as integer)) |                       ,sum(CAST(street0_C4BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo3BChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo3BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo4BChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo4BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_SqueezeChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_SqueezeDone as integer)) | ||||||
|  |                       ,sum(CAST(success_Steal as integer)) | ||||||
|                       ,sum(CAST(street1Seen as integer)) |                       ,sum(CAST(street1Seen as integer)) | ||||||
|                       ,sum(CAST(street2Seen as integer)) |                       ,sum(CAST(street2Seen as integer)) | ||||||
|                       ,sum(CAST(street3Seen as integer)) |                       ,sum(CAST(street3Seen as integer)) | ||||||
|  | @ -3675,8 +3909,15 @@ class Sql: | ||||||
|                 ,street0_3BDone |                 ,street0_3BDone | ||||||
|                 ,street0_4BChance |                 ,street0_4BChance | ||||||
|                 ,street0_4BDone |                 ,street0_4BDone | ||||||
|                 ,other3BStreet0 |                 ,street0_C4BChance | ||||||
|                 ,other4BStreet0 |                 ,street0_C4BDone | ||||||
|  |                 ,street0_FoldTo3BChance | ||||||
|  |                 ,street0_FoldTo3BDone | ||||||
|  |                 ,street0_FoldTo4BChance | ||||||
|  |                 ,street0_FoldTo4BDone | ||||||
|  |                 ,street0_SqueezeChance | ||||||
|  |                 ,street0_SqueezeDone | ||||||
|  |                 ,success_Steal | ||||||
|                 ,street1Seen |                 ,street1Seen | ||||||
|                 ,street2Seen |                 ,street2Seen | ||||||
|                 ,street3Seen |                 ,street3Seen | ||||||
|  | @ -3774,8 +4015,15 @@ class Sql: | ||||||
|                       ,sum(CAST(street0_3BDone as integer)) |                       ,sum(CAST(street0_3BDone as integer)) | ||||||
|                       ,sum(CAST(street0_4BChance as integer)) |                       ,sum(CAST(street0_4BChance as integer)) | ||||||
|                       ,sum(CAST(street0_4BDone as integer)) |                       ,sum(CAST(street0_4BDone as integer)) | ||||||
|                       ,sum(CAST(other3BStreet0 as integer)) |                       ,sum(CAST(street0_C4BChance as integer)) | ||||||
|                       ,sum(CAST(other4BStreet0 as integer)) |                       ,sum(CAST(street0_C4BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo3BChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo3BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo4BChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_FoldTo4BDone as integer)) | ||||||
|  |                       ,sum(CAST(street0_SqueezeChance as integer)) | ||||||
|  |                       ,sum(CAST(street0_SqueezeDone as integer)) | ||||||
|  |                       ,sum(CAST(success_Steal as integer)) | ||||||
|                       ,sum(CAST(street1Seen as integer)) |                       ,sum(CAST(street1Seen as integer)) | ||||||
|                       ,sum(CAST(street2Seen as integer)) |                       ,sum(CAST(street2Seen as integer)) | ||||||
|                       ,sum(CAST(street3Seen as integer)) |                       ,sum(CAST(street3Seen as integer)) | ||||||
|  | @ -3868,8 +4116,15 @@ class Sql: | ||||||
|                 street0_3BDone, |                 street0_3BDone, | ||||||
|                 street0_4BChance, |                 street0_4BChance, | ||||||
|                 street0_4BDone, |                 street0_4BDone, | ||||||
|                 other3BStreet0, |                 street0_C4BChance, | ||||||
|                 other4BStreet0, |                 street0_C4BDone, | ||||||
|  |                 street0_FoldTo3BChance, | ||||||
|  |                 street0_FoldTo3BDone, | ||||||
|  |                 street0_FoldTo4BChance, | ||||||
|  |                 street0_FoldTo4BDone, | ||||||
|  |                 street0_SqueezeChance, | ||||||
|  |                 street0_SqueezeDone, | ||||||
|  |                 success_Steal, | ||||||
|                 street1Seen, |                 street1Seen, | ||||||
|                 street2Seen, |                 street2Seen, | ||||||
|                 street3Seen, |                 street3Seen, | ||||||
|  | @ -3956,7 +4211,9 @@ class Sql: | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s)""" |                     %s, %s, %s, %s, %s, | ||||||
|  |                     %s, %s, %s, %s, %s, | ||||||
|  |                     %s, %s)""" | ||||||
| 
 | 
 | ||||||
|         self.query['update_hudcache'] = """ |         self.query['update_hudcache'] = """ | ||||||
|             UPDATE HudCache SET |             UPDATE HudCache SET | ||||||
|  | @ -3967,8 +4224,15 @@ class Sql: | ||||||
|             street0_3BDone=street0_3BDone+%s, |             street0_3BDone=street0_3BDone+%s, | ||||||
|             street0_4BChance=street0_4BChance+%s, |             street0_4BChance=street0_4BChance+%s, | ||||||
|             street0_4BDone=street0_4BDone+%s, |             street0_4BDone=street0_4BDone+%s, | ||||||
|             other3BStreet0=other3BStreet0+%s, |             street0_C4BChance=street0_C4BChance+%s, | ||||||
|             other4BStreet0=other4BStreet0+%s, |             street0_C4BDone=street0_C4BDone+%s, | ||||||
|  |             street0_FoldTo3BChance=street0_FoldTo3BChance+%s, | ||||||
|  |             street0_FoldTo3BDone=street0_FoldTo3BDone+%s, | ||||||
|  |             street0_FoldTo4BChance=street0_FoldTo4BChance+%s, | ||||||
|  |             street0_FoldTo4BDone=street0_FoldTo4BDone+%s, | ||||||
|  |             street0_SqueezeChance=street0_SqueezeChance+%s, | ||||||
|  |             street0_SqueezeDone=street0_SqueezeDone+%s, | ||||||
|  |             success_Steal=success_Steal+%s, | ||||||
|             street1Seen=street1Seen+%s, |             street1Seen=street1Seen+%s, | ||||||
|             street2Seen=street2Seen+%s, |             street2Seen=street2Seen+%s, | ||||||
|             street3Seen=street3Seen+%s, |             street3Seen=street3Seen+%s, | ||||||
|  | @ -4057,12 +4321,13 @@ class Sql: | ||||||
|         #################################### |         #################################### | ||||||
|              |              | ||||||
|         self.query['select_sessionscache'] = """ |         self.query['select_sessionscache'] = """ | ||||||
|             SELECT sessionStart, |             SELECT id, | ||||||
|  |                 sessionStart, | ||||||
|                 sessionEnd, |                 sessionEnd, | ||||||
|                 ringHDs, |                 ringHDs, | ||||||
|                 tourHDs, |                 tourHDs, | ||||||
|                 totalProfit, |                 ringProfitUSD, | ||||||
|                 bigBets |                 ringProfitEUR | ||||||
|             FROM SessionsCache |             FROM SessionsCache | ||||||
|         WHERE sessionEnd>=%s |         WHERE sessionEnd>=%s | ||||||
|         AND sessionStart<=%s""" |         AND sessionStart<=%s""" | ||||||
|  | @ -4072,8 +4337,8 @@ class Sql: | ||||||
|                 sessionEnd, |                 sessionEnd, | ||||||
|                 ringHDs, |                 ringHDs, | ||||||
|                 tourHDs, |                 tourHDs, | ||||||
|                 totalProfit, |                 ringProfitUSD, | ||||||
|                 bigBets |                 ringProfitEUR | ||||||
|             FROM SessionsCache |             FROM SessionsCache | ||||||
|         WHERE sessionEnd>=%s |         WHERE sessionEnd>=%s | ||||||
|         AND sessionStart<=%s""" |         AND sessionStart<=%s""" | ||||||
|  | @ -4083,8 +4348,8 @@ class Sql: | ||||||
|                 sessionEnd, |                 sessionEnd, | ||||||
|                 ringHDs, |                 ringHDs, | ||||||
|                 tourHDs, |                 tourHDs, | ||||||
|                 totalProfit, |                 ringProfitUSD, | ||||||
|                 bigBets |                 ringProfitEUR | ||||||
|             FROM SessionsCache |             FROM SessionsCache | ||||||
|         WHERE sessionStart>%s |         WHERE sessionStart>%s | ||||||
|         AND sessionEnd>=%s |         AND sessionEnd>=%s | ||||||
|  | @ -4094,8 +4359,8 @@ class Sql: | ||||||
|             UPDATE SessionsCache SET |             UPDATE SessionsCache SET | ||||||
|             ringHDs=ringHDs+%s, |             ringHDs=ringHDs+%s, | ||||||
|             tourHDs=tourHDs+%s, |             tourHDs=tourHDs+%s, | ||||||
|             totalProfit=totalProfit+%s, |             ringProfitUSD=ringProfitUSD+%s, | ||||||
|             bigBets=bigBets+%s |             ringProfitEUR=ringProfitEUR+%s | ||||||
|         WHERE sessionStart<=%s |         WHERE sessionStart<=%s | ||||||
|         AND sessionEnd>=%s""" |         AND sessionEnd>=%s""" | ||||||
| 
 | 
 | ||||||
|  | @ -4104,8 +4369,8 @@ class Sql: | ||||||
|             sessionStart=%s, |             sessionStart=%s, | ||||||
|             ringHDs=ringHDs+%s, |             ringHDs=ringHDs+%s, | ||||||
|             tourHDs=tourHDs+%s, |             tourHDs=tourHDs+%s, | ||||||
|             totalProfit=totalProfit+%s, |             ringProfitUSD=ringProfitUSD+%s, | ||||||
|             bigBets=bigBets+%s |             ringProfitEUR=ringProfitEUR+%s | ||||||
|         WHERE sessionStart>%s |         WHERE sessionStart>%s | ||||||
|         AND sessionEnd>=%s |         AND sessionEnd>=%s | ||||||
|         AND sessionStart<=%s""" |         AND sessionStart<=%s""" | ||||||
|  | @ -4115,8 +4380,8 @@ class Sql: | ||||||
|             sessionEnd=%s, |             sessionEnd=%s, | ||||||
|             ringHDs=ringHDs+%s, |             ringHDs=ringHDs+%s, | ||||||
|             tourHDs=tourHDs+%s, |             tourHDs=tourHDs+%s, | ||||||
|             totalProfit=totalProfit+%s, |             ringProfitUSD=ringProfitUSD+%s, | ||||||
|             bigBets=bigBets+%s |             ringProfitEUR=ringProfitEUR+%s | ||||||
|         WHERE sessionEnd<%s |         WHERE sessionEnd<%s | ||||||
|         AND sessionEnd>=%s |         AND sessionEnd>=%s | ||||||
|         AND sessionStart<=%s""" |         AND sessionStart<=%s""" | ||||||
|  | @ -4127,20 +4392,27 @@ class Sql: | ||||||
|                 sessionEnd, |                 sessionEnd, | ||||||
|                 ringHDs, |                 ringHDs, | ||||||
|                 tourHDs, |                 tourHDs, | ||||||
|                 totalProfit, |                 ringProfitUSD, | ||||||
|                 bigBets) |                 ringProfitEUR) | ||||||
|             VALUES (%s, %s, %s, %s, %s, %s)""" |             VALUES (%s, %s, %s, %s, %s, %s)""" | ||||||
|          |          | ||||||
|         self.query['merge_sessionscache'] = """ |         self.query['merge_sessionscache'] = """ | ||||||
|             SELECT min(sessionStart), max(sessionEnd), sum(ringHDs), sum(tourHDs), sum(totalProfit), sum(bigBets) |             SELECT min(sessionStart), max(sessionEnd), sum(ringHDs), sum(tourHDs), sum(ringProfitUSD), sum(ringProfitEUR) | ||||||
|             FROM SessionsCache |             FROM SessionsCache | ||||||
|         WHERE sessionEnd>=%s |         WHERE (case when id=%s or id=%s then 1 else 0 end)=1""" | ||||||
|         AND sessionStart<=%s""" |  | ||||||
|          |          | ||||||
|         self.query['delete_sessions'] = """ |         self.query['delete_sessions'] = """ | ||||||
|             DELETE FROM SessionsCache |             DELETE FROM SessionsCache | ||||||
|         WHERE sessionEnd>=%s |         WHERE id=%s""" | ||||||
|         AND sessionStart<=%s""" |          | ||||||
|  |         self.query['update_hands_sessionid'] = """ | ||||||
|  |             UPDATE Hands SET | ||||||
|  |             sessionId=%s | ||||||
|  |         WHERE (case when sessionId=%s or sessionId=%s then 1 else 0 end)=1""" | ||||||
|  |          | ||||||
|  |         #################################### | ||||||
|  |         # Database management queries | ||||||
|  |         #################################### | ||||||
| 
 | 
 | ||||||
|         if db_server == 'mysql': |         if db_server == 'mysql': | ||||||
|             self.query['analyze'] = """ |             self.query['analyze'] = """ | ||||||
|  | @ -4254,6 +4526,13 @@ class Sql: | ||||||
|                                         WHERE s.name=%s AND t.siteTourneyNo=%s |                                         WHERE s.name=%s AND t.siteTourneyNo=%s | ||||||
|         """ |         """ | ||||||
| 
 | 
 | ||||||
|  |         self.query['getSiteTourneyNos'] = """SELECT t.siteTourneyNo | ||||||
|  |                                         FROM Tourneys t | ||||||
|  |                                         INNER JOIN TourneyTypes tt ON (t.tourneyTypeId = tt.id) | ||||||
|  |                                         INNER JOIN Sites s ON (tt.siteId = s.id) | ||||||
|  |                                         WHERE tt.siteId=%s | ||||||
|  |         """ | ||||||
|  | 
 | ||||||
|         self.query['getTourneyPlayerInfo'] = """SELECT tp.* |         self.query['getTourneyPlayerInfo'] = """SELECT tp.* | ||||||
|                                         FROM Tourneys t |                                         FROM Tourneys t | ||||||
|                                         INNER JOIN TourneyTypes tt ON (t.tourneyTypeId = tt.id) |                                         INNER JOIN TourneyTypes tt ON (t.tourneyTypeId = tt.id) | ||||||
|  | @ -4323,11 +4602,12 @@ class Sql: | ||||||
|         self.query['handsPlayersTTypeId_joiner'] = " OR TourneysPlayersId+0=" |         self.query['handsPlayersTTypeId_joiner'] = " OR TourneysPlayersId+0=" | ||||||
|         self.query['handsPlayersTTypeId_joiner_id'] = " OR id=" |         self.query['handsPlayersTTypeId_joiner_id'] = " OR id=" | ||||||
| 
 | 
 | ||||||
|         self.query['store_hand'] = """INSERT INTO Hands ( |         self.query['store_hand'] = """insert into Hands ( | ||||||
|                                             tablename, |                                             tablename, | ||||||
|                                             gametypeid, |  | ||||||
|                                             sitehandno, |                                             sitehandno, | ||||||
|                                             tourneyId, |                                             tourneyId, | ||||||
|  |                                             gametypeid, | ||||||
|  |                                             sessionId, | ||||||
|                                             startTime, |                                             startTime, | ||||||
|                                             importtime, |                                             importtime, | ||||||
|                                             seats, |                                             seats, | ||||||
|  | @ -4355,13 +4635,13 @@ class Sql: | ||||||
|                                             street4Pot, |                                             street4Pot, | ||||||
|                                             showdownPot |                                             showdownPot | ||||||
|                                              ) |                                              ) | ||||||
|                                              VALUES |                                              values | ||||||
|                                               (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, |                                               (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, | ||||||
|                                                %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, |                                                %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, | ||||||
|                                                %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)""" |                                                %s, %s, %s, %s, %s, %s, %s, %s, %s)""" | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         self.query['store_hands_players'] = """INSERT INTO HandsPlayers ( |         self.query['store_hands_players'] = """insert into HandsPlayers ( | ||||||
|                 handId, |                 handId, | ||||||
|                 playerId, |                 playerId, | ||||||
|                 startCash, |                 startCash, | ||||||
|  | @ -4418,8 +4698,15 @@ class Sql: | ||||||
|                 street0_3BDone, |                 street0_3BDone, | ||||||
|                 street0_4BChance, |                 street0_4BChance, | ||||||
|                 street0_4BDone, |                 street0_4BDone, | ||||||
|                 other3BStreet0, |                 street0_C4BChance, | ||||||
|                 other4BStreet0, |                 street0_C4BDone, | ||||||
|  |                 street0_FoldTo3BChance, | ||||||
|  |                 street0_FoldTo3BDone, | ||||||
|  |                 street0_FoldTo4BChance, | ||||||
|  |                 street0_FoldTo4BDone, | ||||||
|  |                 street0_SqueezeChance, | ||||||
|  |                 street0_SqueezeDone, | ||||||
|  |                 success_Steal, | ||||||
|                 otherRaisedStreet0, |                 otherRaisedStreet0, | ||||||
|                 otherRaisedStreet1, |                 otherRaisedStreet1, | ||||||
|                 otherRaisedStreet2, |                 otherRaisedStreet2, | ||||||
|  | @ -4458,7 +4745,7 @@ class Sql: | ||||||
|                 street3Raises, |                 street3Raises, | ||||||
|                 street4Raises |                 street4Raises | ||||||
|                ) |                ) | ||||||
|                VALUES ( |                values ( | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|  | @ -4477,11 +4764,14 @@ class Sql: | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s |                     %s, %s, %s, %s, %s, | ||||||
|  |                     %s, %s, %s, %s, %s, | ||||||
|  |                     %s, %s | ||||||
|                 )""" |                 )""" | ||||||
| 
 | 
 | ||||||
|         self.query['store_hands_actions'] = """INSERT INTO HandsActions ( |         self.query['store_hands_actions'] = """insert into HandsActions ( | ||||||
|                         handsPlayerId, |                         handId, | ||||||
|  |                         playerId, | ||||||
|                         street, |                         street, | ||||||
|                         actionNo, |                         actionNo, | ||||||
|                         streetActionNo, |                         streetActionNo, | ||||||
|  | @ -4493,10 +4783,10 @@ class Sql: | ||||||
|                         cardsDiscarded, |                         cardsDiscarded, | ||||||
|                         allIn |                         allIn | ||||||
|                ) |                ) | ||||||
|                VALUES ( |                values ( | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s, %s, %s, %s, %s, |                     %s, %s, %s, %s, %s, | ||||||
|                     %s |                     %s, %s | ||||||
|                 )""" |                 )""" | ||||||
|          |          | ||||||
|         ################################ |         ################################ | ||||||
|  |  | ||||||
							
								
								
									
										82
									
								
								pyfpdb/ScriptAddStatToRegression.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								pyfpdb/ScriptAddStatToRegression.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,82 @@ | ||||||
|  | #!/usr/bin/python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | 
 | ||||||
|  | #Copyright 2008-2011 Carl Gherardi | ||||||
|  | #This program is free software: you can redistribute it and/or modify | ||||||
|  | #it under the terms of the GNU Affero General Public License as published by | ||||||
|  | #the Free Software Foundation, version 3 of the License. | ||||||
|  | # | ||||||
|  | #This program is distributed in the hope that it will be useful, | ||||||
|  | #but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | #You should have received a copy of the GNU Affero General Public License | ||||||
|  | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | #In the "official" distribution you can find the license in agpl-3.0.txt | ||||||
|  | 
 | ||||||
|  | """A script for adding new stats to the regression test library""" | ||||||
|  | 
 | ||||||
|  | import Options | ||||||
|  | 
 | ||||||
|  | import logging, os, sys | ||||||
|  | import re, urllib2 | ||||||
|  | import codecs | ||||||
|  | import pprint | ||||||
|  | pp = pprint.PrettyPrinter(indent=4) | ||||||
|  | 
 | ||||||
|  | def write_file(filename, data): | ||||||
|  |     print data | ||||||
|  |     f = open(filename, 'w') | ||||||
|  |     f.write(data) | ||||||
|  |     f.close() | ||||||
|  |     print f | ||||||
|  | 
 | ||||||
|  | def update(leaf, stat, default): | ||||||
|  |     filename = leaf | ||||||
|  |     #print "DEBUG: fileanme: %s" % filename | ||||||
|  | 
 | ||||||
|  |     # Test if this is a hand history file | ||||||
|  |     if filename.endswith('.hp'): | ||||||
|  |         in_fh = codecs.open(filename, 'r', 'utf8') | ||||||
|  |         whole_file = in_fh.read() | ||||||
|  |         in_fh.close() | ||||||
|  | 
 | ||||||
|  |         hash = eval(whole_file) | ||||||
|  |         for player in hash: | ||||||
|  |             hash[player][stat] = default | ||||||
|  | 
 | ||||||
|  |         string = pp.pformat(hash) | ||||||
|  |         write_file(filename, string) | ||||||
|  | 
 | ||||||
|  | def walk_testfiles(dir, stat, default): | ||||||
|  |     """Walks a directory, and executes a callback on each file """ | ||||||
|  |     dir = os.path.abspath(dir) | ||||||
|  |     for file in [file for file in os.listdir(dir) if not file in [".",".."]]: | ||||||
|  |         nfile = os.path.join(dir,file) | ||||||
|  |         if os.path.isdir(nfile): | ||||||
|  |             walk_testfiles(nfile, stat, default) | ||||||
|  |         else: | ||||||
|  |             update(nfile, stat, default) | ||||||
|  | 
 | ||||||
|  | def usage(): | ||||||
|  |     print "USAGE:" | ||||||
|  |     print "\t./ScriptAddStatToRegression.py" | ||||||
|  |     sys.exit(0) | ||||||
|  | 
 | ||||||
|  | def main(argv=None): | ||||||
|  |     if argv is None: | ||||||
|  |         argv = sys.argv[1:] | ||||||
|  | 
 | ||||||
|  |     (options, argv) = Options.fpdb_options() | ||||||
|  | 
 | ||||||
|  |     if options.usage == True: | ||||||
|  |         usage() | ||||||
|  | 
 | ||||||
|  |     print "WARNING:" | ||||||
|  |     print "This script will modify many files in the regression test suite" | ||||||
|  |     print "As a safety precaution, you need to edit the file manually to run it" | ||||||
|  |     #walk_testfiles('regression-test-files/', 'zzzzzzz', False) | ||||||
|  | 
 | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     main() | ||||||
							
								
								
									
										74
									
								
								pyfpdb/ScriptFetchWinamaxResults.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								pyfpdb/ScriptFetchWinamaxResults.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,74 @@ | ||||||
|  | #!/usr/bin/python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | 
 | ||||||
|  | #Copyright 2008-2011 Carl Gherardi | ||||||
|  | #This program is free software: you can redistribute it and/or modify | ||||||
|  | #it under the terms of the GNU Affero General Public License as published by | ||||||
|  | #the Free Software Foundation, version 3 of the License. | ||||||
|  | # | ||||||
|  | #This program is distributed in the hope that it will be useful, | ||||||
|  | #but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | #You should have received a copy of the GNU Affero General Public License | ||||||
|  | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | #In the "official" distribution you can find the license in agpl-3.0.txt | ||||||
|  | 
 | ||||||
|  | """A script for fetching Winamax tourney results""" | ||||||
|  | 
 | ||||||
|  | import Configuration | ||||||
|  | import Database | ||||||
|  | 
 | ||||||
|  | import logging, os, sys | ||||||
|  | import re, urllib2 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def fetch_winamax_results_page(tourney_id): | ||||||
|  |     url = "https://www.winamax.fr/poker/tournament.php?ID=%s" % tourney_id | ||||||
|  |     data = urllib2.urlopen(url).read() | ||||||
|  |     return data | ||||||
|  | 
 | ||||||
|  | def write_file(filename, data): | ||||||
|  |     f = open(filename, 'w') | ||||||
|  |     print f | ||||||
|  |     f.write(data) | ||||||
|  |     f.close() | ||||||
|  |     print f | ||||||
|  | 
 | ||||||
|  | def main(): | ||||||
|  |     config = Configuration.Config() | ||||||
|  |     db = Database.Database(config) | ||||||
|  | 
 | ||||||
|  |     tourney_ids = db.getSiteTourneyNos("Winamax") | ||||||
|  |     tids = [] | ||||||
|  | 
 | ||||||
|  |     for tid in tourney_ids: | ||||||
|  |         blah, = tid # Unpack tuple | ||||||
|  |         tids.append(str(blah)) | ||||||
|  |     #    winamax_get_winning(tid,"blah") | ||||||
|  |     results_dir = config.get_import_parameters().get("ResultsDirectory") | ||||||
|  |     results_dir = os.path.expanduser(results_dir) | ||||||
|  |     site_dir = os.path.join(results_dir, "Winamax") | ||||||
|  |     print "DEBUG: site_dir: %s" % site_dir | ||||||
|  |     filelist = [file for file in os.listdir(site_dir) if not file in [".",".."]] | ||||||
|  |     print "DEBUG: filelist : %s" % filelist | ||||||
|  |     print "DEBUG: tids     : %s" % tids | ||||||
|  | 
 | ||||||
|  |     for f in filelist: | ||||||
|  |         try: | ||||||
|  |             tids.remove(f) | ||||||
|  |         except ValueError: | ||||||
|  |             print "Warning: '%s' is not a known tourney_id" % f | ||||||
|  | 
 | ||||||
|  |     if len(tids) == 0: | ||||||
|  |         print "No tourney results files to fetch" | ||||||
|  |     else: | ||||||
|  |         for tid in tids: | ||||||
|  |             filename = os.path.join(site_dir, tid) | ||||||
|  |             data = fetch_winamax_results_page(tid) | ||||||
|  |             print u"DEBUG: write_file(%s)" %(filename) | ||||||
|  |             write_file(filename, data) | ||||||
|  | 
 | ||||||
|  | if __name__ == '__main__': | ||||||
|  |     main() | ||||||
							
								
								
									
										100
									
								
								pyfpdb/SitenameSummary.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								pyfpdb/SitenameSummary.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,100 @@ | ||||||
|  | #!/usr/bin/python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | 
 | ||||||
|  | #Copyright 2008-2010 Steffen Schaumburg | ||||||
|  | #This program is free software: you can redistribute it and/or modify | ||||||
|  | #it under the terms of the GNU Affero General Public License as published by | ||||||
|  | #the Free Software Foundation, version 3 of the License. | ||||||
|  | # | ||||||
|  | #This program is distributed in the hope that it will be useful, | ||||||
|  | #but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | #You should have received a copy of the GNU Affero General Public License | ||||||
|  | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | #In the "official" distribution you can find the license in agpl-3.0.txt. | ||||||
|  | 
 | ||||||
|  | """A site template for tounrey summary parsing""" | ||||||
|  | 
 | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
|  | from decimal import Decimal | ||||||
|  | import datetime | ||||||
|  | 
 | ||||||
|  | from Exceptions import FpdbParseError | ||||||
|  | from HandHistoryConverter import * | ||||||
|  | import PokerStarsToFpdb | ||||||
|  | from TourneySummary import * | ||||||
|  | 
 | ||||||
|  | class Sitename(TourneySummary): | ||||||
|  |     limits = { 'No Limit':'nl', 'Pot Limit':'pl', 'Limit':'fl', 'LIMIT':'fl' } | ||||||
|  |     games = {                          # base, category | ||||||
|  |                               "Hold'em" : ('hold','holdem'),  | ||||||
|  |                                 'Omaha' : ('hold','omahahi'), | ||||||
|  |                           'Omaha Hi/Lo' : ('hold','omahahilo'), | ||||||
|  |                                  'Razz' : ('stud','razz'),  | ||||||
|  |                                  'RAZZ' : ('stud','razz'), | ||||||
|  |                           '7 Card Stud' : ('stud','studhi'), | ||||||
|  |                     '7 Card Stud Hi/Lo' : ('stud','studhilo'), | ||||||
|  |                                'Badugi' : ('draw','badugi'), | ||||||
|  |               'Triple Draw 2-7 Lowball' : ('draw','27_3draw'), | ||||||
|  |                           '5 Card Draw' : ('draw','fivedraw') | ||||||
|  |                } | ||||||
|  | 
 | ||||||
|  |     substitutions = { | ||||||
|  |                      'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP",    # legal ISO currency codes | ||||||
|  |                             'LS' : u"\$|\xe2\x82\xac|\u20AC|" # legal currency symbols | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |     re_SplitTourneys = re.compile("PokerStars Tournament ") | ||||||
|  |      | ||||||
|  |     re_TourNo = re.compile("\#(?P<TOURNO>[0-9]+),") | ||||||
|  | 
 | ||||||
|  |     re_TourneyInfo = re.compile(u""" | ||||||
|  |                         \#(?P<TOURNO>[0-9]+),\s | ||||||
|  |                         (?P<LIMIT>No\sLimit|Limit|LIMIT|Pot\sLimit)\s | ||||||
|  |                         (?P<GAME>Hold\'em|Razz|RAZZ|7\sCard\sStud|7\sCard\sStud\sHi/Lo|Omaha|Omaha\sHi/Lo|Badugi|Triple\sDraw\s2\-7\sLowball|5\sCard\sDraw)\s+ | ||||||
|  |                         (?P<DESC>[ a-zA-Z]+\s+)? | ||||||
|  |                         (Buy-In:\s[%(LS)s](?P<BUYIN>[.0-9]+)(\/[%(LS)s](?P<FEE>[.0-9]+))?(?P<CUR>\s(%(LEGAL_ISO)s))?\s+)? | ||||||
|  |                         (?P<ENTRIES>[0-9]+)\splayers\s+ | ||||||
|  |                         ([%(LS)s]?(?P<ADDED>[.\d]+)\sadded\sto\sthe\sprize\spool\sby\sPokerStars\.com\s+)? | ||||||
|  |                         (Total\sPrize\sPool:\s[%(LS)s]?(?P<PRIZEPOOL>[.0-9]+)(\s(%(LEGAL_ISO)s))?\s+)? | ||||||
|  |                         (Target\sTournament\s.*)? | ||||||
|  |                         Tournament\sstarted\s+(-\s)? | ||||||
|  |                         (?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\-\s]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)\s?\(?(?P<TZ>[A-Z]+)\)?\s | ||||||
|  |                                """ % substitutions ,re.VERBOSE|re.MULTILINE|re.DOTALL) | ||||||
|  | 
 | ||||||
|  |     re_Currency = re.compile(u"""(?P<CURRENCY>[%(LS)s]|FPP)""" % substitutions) | ||||||
|  | 
 | ||||||
|  |     re_Player = re.compile(u"""(?P<RANK>[0-9]+):\s(?P<NAME>.*)\s\(.*\),(\s)?(\$(?P<WINNINGS>[0-9]+\.[0-9]+))?(?P<STILLPLAYING>still\splaying)?((?P<TICKET>Tournament\sTicket)\s\(WSOP\sStep\s(?P<LEVEL>\d)\))?(\s+)?""") | ||||||
|  | 
 | ||||||
|  |     re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)") | ||||||
|  | 
 | ||||||
|  |     codepage = ["utf-8"] | ||||||
|  | 
 | ||||||
|  |     def parseSummary(self): | ||||||
|  |         m = self.re_TourneyInfo.search(self.summaryText) | ||||||
|  |         if m == None: | ||||||
|  |             tmp = self.summaryText[0:200] | ||||||
|  |             log.error(_("parseSummary: Unable to recognise Tourney Info: '%s'") % tmp) | ||||||
|  |             log.error(_("parseSummary: Raising FpdbParseError")) | ||||||
|  |             raise FpdbParseError(_("Unable to recognise Tourney Info: '%s'") % tmp) | ||||||
|  | 
 | ||||||
|  |         print "DEBUG: m.groupdict(): %s" % m.groupdict() | ||||||
|  | 
 | ||||||
|  |         mg = m.groupdict() | ||||||
|  |         self.tourNo = '' | ||||||
|  |         self.gametype['limitType'] = '' | ||||||
|  |         self.gametype['category']  = '' | ||||||
|  |         self.buyin = 0 | ||||||
|  |         self.fee   = 0 | ||||||
|  |         self.prizepool = 0 | ||||||
|  |         self.entries   = 0 | ||||||
|  |         #self.startTime = datetime.datetime.strptime(datetimestr, "%Y/%m/%d %H:%M:%S") | ||||||
|  | 
 | ||||||
|  |         self.currency = "USD" | ||||||
|  | 
 | ||||||
|  |         #self.addPlayer(rank, name, winnings, self.currency, None, None, None) | ||||||
|  | 
 | ||||||
							
								
								
									
										117
									
								
								pyfpdb/Stats.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						
									
										117
									
								
								pyfpdb/Stats.py
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							|  | @ -378,6 +378,21 @@ def steal(stat_dict, player): | ||||||
|     except: |     except: | ||||||
|         return (stat, 'NA', 'st=NA', 'steal=NA', '(0/0)', '% steal attempted') |         return (stat, 'NA', 'st=NA', 'steal=NA', '(0/0)', '% steal attempted') | ||||||
| 
 | 
 | ||||||
|  | def s_steal(stat_dict, player): | ||||||
|  |     """   Success Steal %.""" | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['suc_st'])/float(stat_dict[player]['steal']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 's_st=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 's_steal=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['suc_st'], stat_dict[player]['steal']), | ||||||
|  |                 _('% success steal') | ||||||
|  |                 ) | ||||||
|  |     except: | ||||||
|  |         return (stat, 'NA', 'st=NA', 's_steal=NA', '(0/0)', '% success steal') | ||||||
|  | 
 | ||||||
| def f_SB_steal(stat_dict, player): | def f_SB_steal(stat_dict, player): | ||||||
|     """    Folded SB to steal.""" |     """    Folded SB to steal.""" | ||||||
|     stat = 0.0 |     stat = 0.0 | ||||||
|  | @ -448,14 +463,112 @@ def three_B(stat_dict, player): | ||||||
|                 '3B=%3.1f%%'    % (100.0*stat), |                 '3B=%3.1f%%'    % (100.0*stat), | ||||||
|                 '3B_pf=%3.1f%%' % (100.0*stat), |                 '3B_pf=%3.1f%%' % (100.0*stat), | ||||||
|                 '(%d/%d)'       % (stat_dict[player]['tb_0'], stat_dict[player]['tb_opp_0']), |                 '(%d/%d)'       % (stat_dict[player]['tb_0'], stat_dict[player]['tb_opp_0']), | ||||||
|                 _('% 3/4 Bet preflop/3rd')) |                 _('% 3 Bet preflop/3rd')) | ||||||
|     except: |     except: | ||||||
|         return (stat, |         return (stat, | ||||||
|                 'NA', |                 'NA', | ||||||
|                 '3B=NA', |                 '3B=NA', | ||||||
|                 '3B_pf=NA', |                 '3B_pf=NA', | ||||||
|                 '(0/0)', |                 '(0/0)', | ||||||
|                 _('% 3/4 Bet preflop/3rd')) |                 _('% 3 Bet preflop/3rd')) | ||||||
|  | 
 | ||||||
|  | def four_B(stat_dict, player): | ||||||
|  |     """    Four bet preflop/4rd.""" | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['fb_0'])/float(stat_dict[player]['fb_opp_0']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 '4B=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 '4B=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['fb_0'], stat_dict[player]['fb_opp_0']), | ||||||
|  |                 _('% 4 Bet preflop/4rd')) | ||||||
|  |     except: | ||||||
|  |         return (stat, | ||||||
|  |                 'NA', | ||||||
|  |                 '4B=NA', | ||||||
|  |                 '4B=NA', | ||||||
|  |                 '(0/0)', | ||||||
|  |                 _('% 4 Bet preflop/4rd')) | ||||||
|  | 
 | ||||||
|  | def cfour_B(stat_dict, player): | ||||||
|  |     """   Cold Four bet preflop/4rd.""" | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['cfb_0'])/float(stat_dict[player]['cfb_opp_0']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 'C4B=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 'C4B_pf=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['cfb_0'], stat_dict[player]['cfb_opp_0']), | ||||||
|  |                 _('% Cold 4 Bet preflop/4rd')) | ||||||
|  |     except: | ||||||
|  |         return (stat, | ||||||
|  |                 'NA', | ||||||
|  |                 'C4B=NA', | ||||||
|  |                 'C4B_pf=NA', | ||||||
|  |                 '(0/0)', | ||||||
|  |                 _('% Cold 4 Bet preflop/4rd')) | ||||||
|  | 
 | ||||||
|  | def squeeze(stat_dict, player): | ||||||
|  |     """ Squeeze bet preflop.""" | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['sqz_0'])/float(stat_dict[player]['sqz_opp_0']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 'SQZ=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 'SQZ_pf=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['sqz_0'], stat_dict[player]['sqz_opp_0']), | ||||||
|  |                 _('% Squeeze preflop')) | ||||||
|  |     except: | ||||||
|  |         return (stat, | ||||||
|  |                 'NA', | ||||||
|  |                 'SQZ=NA', | ||||||
|  |                 'SQZ_pf=NA', | ||||||
|  |                 '(0/0)', | ||||||
|  |                 _('% Squeeze preflop')) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def f_3bet(stat_dict, player): | ||||||
|  |     """ Fold to 3bet preflop. """ | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['f3b_0'])/float(stat_dict[player]['f3b_opp_0']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 'F3B=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 'F3B_pf=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['f3b_0'], stat_dict[player]['f3b_opp_0']), | ||||||
|  |                 _('% Fold to 3 Bet preflop')) | ||||||
|  |     except: | ||||||
|  |         return (stat, | ||||||
|  |                 'NA', | ||||||
|  |                 'F3B=NA', | ||||||
|  |                 'F3B_pf=NA', | ||||||
|  |                 '(0/0)', | ||||||
|  |                 _('% Fold to 3 Bet preflop')) | ||||||
|  | 
 | ||||||
|  | def f_4bet(stat_dict, player): | ||||||
|  |     """ Fold to 4bet preflop. """ | ||||||
|  |     stat = 0.0 | ||||||
|  |     try: | ||||||
|  |         stat = float(stat_dict[player]['f4b_0'])/float(stat_dict[player]['f4b_opp_0']) | ||||||
|  |         return (stat, | ||||||
|  |                 '%3.1f'         % (100.0*stat), | ||||||
|  |                 'F4B=%3.1f%%'    % (100.0*stat), | ||||||
|  |                 'F4B_pf=%3.1f%%' % (100.0*stat), | ||||||
|  |                 '(%d/%d)'       % (stat_dict[player]['f4b_0'], stat_dict[player]['f4b_opp_0']), | ||||||
|  |                 _('% Fold to 4 Bet preflop')) | ||||||
|  |     except: | ||||||
|  |         return (stat, | ||||||
|  |                 'NA', | ||||||
|  |                 'F4B=NA', | ||||||
|  |                 'F4B_pf=NA', | ||||||
|  |                 '(0/0)', | ||||||
|  |                 _('% Fold to 4 Bet preflop')) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| def WMsF(stat_dict, player): | def WMsF(stat_dict, player): | ||||||
|     """    Won $ when saw flop/4th.""" |     """    Won $ when saw flop/4th.""" | ||||||
|  |  | ||||||
|  | @ -9,15 +9,19 @@ | ||||||
| # it under the terms of the GNU General Public License as published by | # it under the terms of the GNU General Public License as published by | ||||||
| # the Free Software Foundation, version 3 of the License. | # the Free Software Foundation, version 3 of the License. | ||||||
| # | # | ||||||
|  | # TODO gettextify usage print | ||||||
| 
 | 
 | ||||||
| import L10n | import L10n | ||||||
| _ = L10n.get_translation() | _ = L10n.get_translation() | ||||||
| 
 | 
 | ||||||
| import sys, random | import sys, random | ||||||
|  | import re | ||||||
| import pokereval | import pokereval | ||||||
| 
 | 
 | ||||||
| SUITS = ['h', 'd', 's', 'c'] | SUITS = ['h', 'd', 's', 'c'] | ||||||
| 
 | 
 | ||||||
|  | CONNECTORS = ['32', '43', '54', '65', '76', '87', '98', 'T9', 'JT', 'QJ', 'KQ', 'AK'] | ||||||
|  | 
 | ||||||
| ANY = 0 | ANY = 0 | ||||||
| SUITED = 1 | SUITED = 1 | ||||||
| OFFSUIT = 2 | OFFSUIT = 2 | ||||||
|  | @ -64,13 +68,6 @@ class Stove: | ||||||
|         hands_in_range = string.strip().split(',') |         hands_in_range = string.strip().split(',') | ||||||
|         for h in hands_in_range: |         for h in hands_in_range: | ||||||
|             _h = h.strip() |             _h = h.strip() | ||||||
|             if len(_h) > 3: |  | ||||||
|                 cc = _h.split() |  | ||||||
|                 r1 = cc[0] |  | ||||||
|                 r2 = cc[1] |  | ||||||
|                 vp = Cards(r1, r2) |  | ||||||
|                 h_range.add(vp) |  | ||||||
|             else: |  | ||||||
|             h_range.expand(expand_hands(_h, self.hand, self.board)) |             h_range.expand(expand_hands(_h, self.hand, self.board)) | ||||||
| 
 | 
 | ||||||
|         self.h_range = h_range |         self.h_range = h_range | ||||||
|  | @ -82,7 +79,7 @@ class Cards: | ||||||
|         self.c2 = c2 |         self.c2 = c2 | ||||||
| 
 | 
 | ||||||
|     def get(self): |     def get(self): | ||||||
|         return [c1, c2] |         return [self.c1, self.c2] | ||||||
| 
 | 
 | ||||||
| class Board: | class Board: | ||||||
|     def __init__(self, b1=None, b2=None, b3=None, b4=None, b5=None): |     def __init__(self, b1=None, b2=None, b3=None, b4=None, b5=None): | ||||||
|  | @ -174,6 +171,35 @@ def expand_hands(abbrev, hand, board): | ||||||
|     known_cards.update(set([hand.c2, hand.c2])) |     known_cards.update(set([hand.c2, hand.c2])) | ||||||
|     known_cards.update(set([board.b1, board.b2, board.b3, board.b4, board.b5])) |     known_cards.update(set([board.b1, board.b2, board.b3, board.b4, board.b5])) | ||||||
| 
 | 
 | ||||||
|  |     re.search('[2-9TJQKA]{2}(s|o)',abbrev) | ||||||
|  | 
 | ||||||
|  |     if re.search('^[2-9TJQKA]{2}(s|o)$',abbrev): #AKs or AKo | ||||||
|  |         return standard_expand(abbrev, hand, known_cards) | ||||||
|  |     elif re.search('^[2-9TJQKA]{2}(s|o)\+$',abbrev): #76s+ or 76o+ | ||||||
|  |         return iterative_expand(abbrev, hand, known_cards) | ||||||
|  |     #elif: AhXh | ||||||
|  |     #elif: Ah6h+A | ||||||
|  | 
 | ||||||
|  | def iterative_expand(abbrev, hand, known_cards): | ||||||
|  |     r1 = abbrev[0] | ||||||
|  |     r2 = abbrev[1] | ||||||
|  | 
 | ||||||
|  |     h_range = [] | ||||||
|  |     considered = set() | ||||||
|  | 
 | ||||||
|  |     idx = CONNECTORS.index('%s%s' % (r1, r2)) | ||||||
|  | 
 | ||||||
|  |     ltr = abbrev[2] | ||||||
|  | 
 | ||||||
|  |     h_range = [] | ||||||
|  |     for h in CONNECTORS[idx:]: | ||||||
|  |         abr = "%s%s" % (h, ltr) | ||||||
|  |         h_range += standard_expand(abr, hand, known_cards) | ||||||
|  | 
 | ||||||
|  |     return h_range | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def standard_expand(abbrev, hand, known_cards): | ||||||
|     # Card ranks may be different |     # Card ranks may be different | ||||||
|     r1 = abbrev[0] |     r1 = abbrev[0] | ||||||
|     r2 = abbrev[1] |     r2 = abbrev[1] | ||||||
|  |  | ||||||
|  | @ -118,6 +118,7 @@ class Table_Window(object): | ||||||
|         self.site = site |         self.site = site | ||||||
|         self.hud = None   # fill in later |         self.hud = None   # fill in later | ||||||
|         self.gdkhandle = None |         self.gdkhandle = None | ||||||
|  |         self.number = None | ||||||
|         if tournament is not None and table_number is not None: |         if tournament is not None and table_number is not None: | ||||||
|             self.tournament = int(tournament) |             self.tournament = int(tournament) | ||||||
|             self.table = int(table_number) |             self.table = int(table_number) | ||||||
|  | @ -135,7 +136,14 @@ class Table_Window(object): | ||||||
|             return None |             return None | ||||||
| 
 | 
 | ||||||
|         self.search_string = getTableTitleRe(self.config, self.site, self.type, **table_kwargs) |         self.search_string = getTableTitleRe(self.config, self.site, self.type, **table_kwargs) | ||||||
|  |         trys = 0 | ||||||
|  |         while True: | ||||||
|             self.find_table_parameters() |             self.find_table_parameters() | ||||||
|  |             if self.number is not None: break | ||||||
|  |             trys += 1 | ||||||
|  |             if trys > 4: | ||||||
|  |                 log.error("Can't find table %s" % table_name) | ||||||
|  |                 return None | ||||||
| 
 | 
 | ||||||
|         geo = self.get_geometry() |         geo = self.get_geometry() | ||||||
|         if geo is None:  return None |         if geo is None:  return None | ||||||
|  |  | ||||||
							
								
								
									
										79
									
								
								pyfpdb/TestHandsPlayers.py
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							
							
						
						
									
										79
									
								
								pyfpdb/TestHandsPlayers.py
									
									
									
									
									
										
										
										Executable file → Normal file
									
								
							|  | @ -91,7 +91,7 @@ def compare_gametypes_file(filename, importer, errors): | ||||||
|     for hand in handlist: |     for hand in handlist: | ||||||
|         ghash = hand.gametyperow |         ghash = hand.gametyperow | ||||||
|         for i in range(len(ghash)): |         for i in range(len(ghash)): | ||||||
|             print "DEBUG: about to compare: '%s' and '%s'" %(ghash[i], testhash[i]) |             #print "DEBUG: about to compare: '%s' and '%s'" %(ghash[i], testhash[i]) | ||||||
|             if ghash[i] == testhash[i]: |             if ghash[i] == testhash[i]: | ||||||
|                 # The stats match - continue |                 # The stats match - continue | ||||||
|                 pass |                 pass | ||||||
|  | @ -152,14 +152,14 @@ def compare_hands_file(filename, importer, errors): | ||||||
|                     pass |                     pass | ||||||
|                 else: |                 else: | ||||||
|                     # Stats don't match.  |                     # Stats don't match.  | ||||||
|                     if datum == "gametypeId": |                     if datum == "gametypeId" or datum == 'sessionId': | ||||||
|                         # Not an error. gametypeIds are dependent on the order added to the db. |                         # Not an error. gametypeIds are dependent on the order added to the db. | ||||||
|                         #print "DEBUG: Skipping mismatched gamtypeId" |                         #print "DEBUG: Skipping mismatched gamtypeId" | ||||||
|                         pass |                         pass | ||||||
|                     else: |                     else: | ||||||
|                         errors.error_report(filename, hand, datum, ghash, testhash, None) |                         errors.error_report(filename, hand, datum, ghash, testhash, None) | ||||||
|             except KeyError, e: |             except KeyError, e: | ||||||
|                 errors.error_report(filename, False, "KeyError: '%s'" % stat, False, False, p) |                 errors.error_report(filename, False, "KeyError: '%s'" % datum, False, False, None) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def compare(leaf, importer, errors, site): | def compare(leaf, importer, errors, site): | ||||||
|  | @ -189,12 +189,19 @@ def compare(leaf, importer, errors, site): | ||||||
| def walk_testfiles(dir, function, importer, errors, site): | def walk_testfiles(dir, function, importer, errors, site): | ||||||
|     """Walks a directory, and executes a callback on each file """ |     """Walks a directory, and executes a callback on each file """ | ||||||
|     dir = os.path.abspath(dir) |     dir = os.path.abspath(dir) | ||||||
|  |     try: | ||||||
|         for file in [file for file in os.listdir(dir) if not file in [".",".."]]: |         for file in [file for file in os.listdir(dir) if not file in [".",".."]]: | ||||||
|             nfile = os.path.join(dir,file) |             nfile = os.path.join(dir,file) | ||||||
|             if os.path.isdir(nfile): |             if os.path.isdir(nfile): | ||||||
|                 walk_testfiles(nfile, compare, importer, errors, site) |                 walk_testfiles(nfile, compare, importer, errors, site) | ||||||
|             else: |             else: | ||||||
|             compare(nfile, importer, errors, site) |                 function(nfile, importer, errors, site) | ||||||
|  |     except OSError as (errno, strerror): | ||||||
|  |         if errno == 20: | ||||||
|  |             # Error 20 is 'not a directory' | ||||||
|  |             function(dir, importer, errors, site) | ||||||
|  |         else: | ||||||
|  |             raise OSError(errno, strerror) | ||||||
| 
 | 
 | ||||||
| def usage(): | def usage(): | ||||||
|     print "USAGE:" |     print "USAGE:" | ||||||
|  | @ -202,6 +209,8 @@ def usage(): | ||||||
|     print "\t./TestHandsPlayers.py" |     print "\t./TestHandsPlayers.py" | ||||||
|     print "Run tests for a sinlge site:" |     print "Run tests for a sinlge site:" | ||||||
|     print "\t./TestHandsPlayers -s <Sitename>" |     print "\t./TestHandsPlayers -s <Sitename>" | ||||||
|  |     print "Run tests for a sinlge file in a site:" | ||||||
|  |     print "\t./TestHandsPlayers -s <Sitename> -f <filname>" | ||||||
|     sys.exit(0) |     sys.exit(0) | ||||||
| 
 | 
 | ||||||
| def main(argv=None): | def main(argv=None): | ||||||
|  | @ -215,10 +224,16 @@ def main(argv=None): | ||||||
|     if options.usage == True: |     if options.usage == True: | ||||||
|         usage() |         usage() | ||||||
| 
 | 
 | ||||||
|  |     single_file_test = False | ||||||
|  | 
 | ||||||
|     if options.sitename: |     if options.sitename: | ||||||
|         options.sitename = Options.site_alias(options.sitename) |         options.sitename = Options.site_alias(options.sitename) | ||||||
|         if options.sitename == False: |         if options.sitename == False: | ||||||
|             usage() |             usage() | ||||||
|  |         if options.filename: | ||||||
|  |             print "Testing single hand: '%s'" % options.filename | ||||||
|  |             single_file_test = True | ||||||
|  |         else: | ||||||
|             print "Only regression testing '%s' files" % (options.sitename) |             print "Only regression testing '%s' files" % (options.sitename) | ||||||
|         test_all_sites = False |         test_all_sites = False | ||||||
| 
 | 
 | ||||||
|  | @ -245,6 +260,7 @@ def main(argv=None): | ||||||
|     AbsoluteErrors    = FpdbError('Absolute Poker') |     AbsoluteErrors    = FpdbError('Absolute Poker') | ||||||
|     UltimateBetErrors = FpdbError('Ultimate Bet') |     UltimateBetErrors = FpdbError('Ultimate Bet') | ||||||
|     EverleafErrors    = FpdbError('Everleaf Poker') |     EverleafErrors    = FpdbError('Everleaf Poker') | ||||||
|  |     EverestErrors     = FpdbError('Everest Poker') | ||||||
|     CarbonErrors      = FpdbError('Carbon') |     CarbonErrors      = FpdbError('Carbon') | ||||||
|     PKRErrors         = FpdbError('PKR') |     PKRErrors         = FpdbError('PKR') | ||||||
|     iPokerErrors      = FpdbError('iPoker') |     iPokerErrors      = FpdbError('iPoker') | ||||||
|  | @ -256,7 +272,7 @@ def main(argv=None): | ||||||
|                     BetfairErrors, OnGameErrors, AbsoluteErrors, |                     BetfairErrors, OnGameErrors, AbsoluteErrors, | ||||||
|                     EverleafErrors, CarbonErrors, PKRErrors, |                     EverleafErrors, CarbonErrors, PKRErrors, | ||||||
|                     iPokerErrors, WinamaxErrors, UltimateBetErrors, |                     iPokerErrors, WinamaxErrors, UltimateBetErrors, | ||||||
|                     Win2dayErrors, |                     Win2dayErrors, EverestErrors, | ||||||
|                 ] |                 ] | ||||||
| 
 | 
 | ||||||
|     sites = { |     sites = { | ||||||
|  | @ -273,6 +289,7 @@ def main(argv=None): | ||||||
|                 'iPoker' : False, |                 'iPoker' : False, | ||||||
|                 'Win2day' : False, |                 'Win2day' : False, | ||||||
|                 'Winamax' : False, |                 'Winamax' : False, | ||||||
|  |                 'Everest' : False, | ||||||
|             } |             } | ||||||
| 
 | 
 | ||||||
|     if test_all_sites == True: |     if test_all_sites == True: | ||||||
|  | @ -281,36 +298,62 @@ def main(argv=None): | ||||||
|     else: |     else: | ||||||
|         sites[options.sitename] = True |         sites[options.sitename] = True | ||||||
| 
 | 
 | ||||||
|     if sites['PokerStars'] == True: |     if sites['PokerStars'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Stars/", compare, importer, PokerStarsErrors, "PokerStars") |         walk_testfiles("regression-test-files/cash/Stars/", compare, importer, PokerStarsErrors, "PokerStars") | ||||||
|         walk_testfiles("regression-test-files/tour/Stars/", compare, importer, PokerStarsErrors, "PokerStars") |         walk_testfiles("regression-test-files/tour/Stars/", compare, importer, PokerStarsErrors, "PokerStars") | ||||||
|     if sites['Full Tilt Poker'] == True: |     elif sites['PokerStars'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, PokerStarsErrors, "PokerStars") | ||||||
|  | 
 | ||||||
|  |     if sites['Full Tilt Poker'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/FTP/", compare, importer, FTPErrors, "Full Tilt Poker") |         walk_testfiles("regression-test-files/cash/FTP/", compare, importer, FTPErrors, "Full Tilt Poker") | ||||||
|         walk_testfiles("regression-test-files/tour/FTP/", compare, importer, FTPErrors, "Full Tilt Poker") |         walk_testfiles("regression-test-files/tour/FTP/", compare, importer, FTPErrors, "Full Tilt Poker") | ||||||
|     if sites['PartyPoker'] == True: |     elif sites['Full Tilt Poker'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, FTPErrors, "Full Tilt Poker") | ||||||
|  |     if sites['PartyPoker'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker") |         walk_testfiles("regression-test-files/cash/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker") | ||||||
|         walk_testfiles("regression-test-files/tour/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker") |         walk_testfiles("regression-test-files/tour/PartyPoker/", compare, importer, PartyPokerErrors, "PartyPoker") | ||||||
|     if sites['Betfair'] == True: |     elif sites['PartyPoker'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, PartyPokerErrors, "PartyPoker") | ||||||
|  |     if sites['Betfair'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Betfair/", compare, importer, BetfairErrors, "Betfair") |         walk_testfiles("regression-test-files/cash/Betfair/", compare, importer, BetfairErrors, "Betfair") | ||||||
|     if sites['OnGame'] == True: |     elif sites['Betfair'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, BetfairErrors, "Betfair") | ||||||
|  |     if sites['OnGame'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/OnGame/", compare, importer, OnGameErrors, "OnGame") |         walk_testfiles("regression-test-files/cash/OnGame/", compare, importer, OnGameErrors, "OnGame") | ||||||
|     if sites['Absolute'] == True: |     elif sites['OnGame'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, OnGameErrors, "OnGame") | ||||||
|  |     if sites['Absolute'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Absolute/", compare, importer, AbsoluteErrors, "Absolute") |         walk_testfiles("regression-test-files/cash/Absolute/", compare, importer, AbsoluteErrors, "Absolute") | ||||||
|     if sites['UltimateBet'] == True: |         walk_testfiles("regression-test-files/tour/Absolute/", compare, importer, AbsoluteErrors, "Absolute") | ||||||
|  |     elif sites['Absolute'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, AbsoluteErrors, "Absolute") | ||||||
|  |     if sites['UltimateBet'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/UltimateBet/", compare, importer, UltimateBetErrors, "Absolute") |         walk_testfiles("regression-test-files/cash/UltimateBet/", compare, importer, UltimateBetErrors, "Absolute") | ||||||
|     if sites['Everleaf'] == True: |     elif sites['UltimateBet'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, UltimateBetErrors, "Absolute") | ||||||
|  |     if sites['Everleaf'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Everleaf/", compare, importer, EverleafErrors, "Everleaf") |         walk_testfiles("regression-test-files/cash/Everleaf/", compare, importer, EverleafErrors, "Everleaf") | ||||||
|     if sites['Carbon'] == True: |     elif sites['Everleaf'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, EverleafErrors, "Everleaf") | ||||||
|  |     if sites['Carbon'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Carbon/", compare, importer, CarbonErrors, "Carbon") |         walk_testfiles("regression-test-files/cash/Carbon/", compare, importer, CarbonErrors, "Carbon") | ||||||
|     #if sites['PKR'] == True: |     elif sites['Carbon'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, CarbonErrors, "Carbon") | ||||||
|  |     #if sites['PKR'] == True and not single_file_test: | ||||||
|     #    walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR") |     #    walk_testfiles("regression-test-files/cash/PKR/", compare, importer, PKRErrors, "PKR") | ||||||
|     if sites['iPoker'] == True: |     if sites['iPoker'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker") |         walk_testfiles("regression-test-files/cash/iPoker/", compare, importer, iPokerErrors, "iPoker") | ||||||
|     if sites['Winamax'] == True: |     elif sites['iPoker'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, iPokerErrors, "iPoker") | ||||||
|  |     if sites['Winamax'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Winamax/", compare, importer, WinamaxErrors, "Winamax") |         walk_testfiles("regression-test-files/cash/Winamax/", compare, importer, WinamaxErrors, "Winamax") | ||||||
|         walk_testfiles("regression-test-files/tour/Winamax/", compare, importer, WinamaxErrors, "Winamax") |         walk_testfiles("regression-test-files/tour/Winamax/", compare, importer, WinamaxErrors, "Winamax") | ||||||
|     if sites['Win2day'] == True: |     elif sites['Winamax'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, WinamaxErrors, "Winamax") | ||||||
|  |     if sites['Win2day'] == True and not single_file_test: | ||||||
|         walk_testfiles("regression-test-files/cash/Win2day/", compare, importer, Win2dayErrors, "Win2day") |         walk_testfiles("regression-test-files/cash/Win2day/", compare, importer, Win2dayErrors, "Win2day") | ||||||
|  |     elif sites['Win2day'] == True and single_file_test: | ||||||
|  |         walk_testfiles(options.filename, compare, importer, Win2dayErrors, "Win2day") | ||||||
| 
 | 
 | ||||||
|     totalerrors = 0 |     totalerrors = 0 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -56,8 +56,15 @@ class TourneyFilters(Filters.Filters): | ||||||
|         if 'day_start' in gen: |         if 'day_start' in gen: | ||||||
|             self.day_start = float(gen['day_start']) |             self.day_start = float(gen['day_start']) | ||||||
| 
 | 
 | ||||||
|  |         self.sw = gtk.ScrolledWindow() | ||||||
|  |         self.sw.set_border_width(0) | ||||||
|  |         self.sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) | ||||||
|  |         self.sw.set_size_request(370, 300) | ||||||
|  | 
 | ||||||
|         # Outer Packing box |         # Outer Packing box | ||||||
|         self.mainVBox = gtk.VBox(False, 0) |         self.mainVBox = gtk.VBox(False, 0) | ||||||
|  |         self.sw.add_with_viewport(self.mainVBox) | ||||||
|  |         self.sw.show() | ||||||
| 
 | 
 | ||||||
|         self.label = {} |         self.label = {} | ||||||
|         self.callback = {} |         self.callback = {} | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ class TourneySummary(object): | ||||||
|     LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'}                                                  # SAL- TO KEEP ?? |     LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'}                                                  # SAL- TO KEEP ?? | ||||||
|     SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''} |     SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''} | ||||||
|     MS = {'horse' : 'HORSE', '8game' : '8-Game', 'hose'  : 'HOSE', 'ha': 'HA'} |     MS = {'horse' : 'HORSE', '8game' : '8-Game', 'hose'  : 'HOSE', 'ha': 'HA'} | ||||||
|     SITEIDS = {'Fulltilt':1, 'Full Tilt Poker':1, 'PokerStars':2, 'Everleaf':3, 'Win2day':4, 'OnGame':5, 'UltimateBet':6, 'Betfair':7, 'Absolute':8, 'PartyPoker':9 } |     SITEIDS = {'Fulltilt':1, 'Full Tilt Poker':1, 'PokerStars':2, 'Everleaf':3, 'Win2day':4, 'OnGame':5, 'UltimateBet':6, 'Betfair':7, 'Absolute':8, 'PartyPoker':9, 'Winamax':14 } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     def __init__(self, db, config, siteName, summaryText, builtFrom = "HHC"): |     def __init__(self, db, config, siteName, summaryText, builtFrom = "HHC"): | ||||||
|  |  | ||||||
							
								
								
									
										119
									
								
								pyfpdb/WinamaxSummary.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										119
									
								
								pyfpdb/WinamaxSummary.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,119 @@ | ||||||
|  | #!/usr/bin/python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | 
 | ||||||
|  | #Copyright 2008-2011 Carl Gherardi | ||||||
|  | #This program is free software: you can redistribute it and/or modify | ||||||
|  | #it under the terms of the GNU Affero General Public License as published by | ||||||
|  | #the Free Software Foundation, version 3 of the License. | ||||||
|  | # | ||||||
|  | #This program is distributed in the hope that it will be useful, | ||||||
|  | #but WITHOUT ANY WARRANTY; without even the implied warranty of | ||||||
|  | #MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||||||
|  | #GNU General Public License for more details. | ||||||
|  | # | ||||||
|  | #You should have received a copy of the GNU Affero General Public License | ||||||
|  | #along with this program. If not, see <http://www.gnu.org/licenses/>. | ||||||
|  | #In the "official" distribution you can find the license in agpl-3.0.txt. | ||||||
|  | 
 | ||||||
|  | import L10n | ||||||
|  | _ = L10n.get_translation() | ||||||
|  | 
 | ||||||
|  | from decimal import Decimal | ||||||
|  | import datetime | ||||||
|  | from BeautifulSoup import BeautifulSoup | ||||||
|  | 
 | ||||||
|  | from Exceptions import FpdbParseError | ||||||
|  | from HandHistoryConverter import * | ||||||
|  | import PokerStarsToFpdb | ||||||
|  | from TourneySummary import * | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class WinamaxSummary(TourneySummary): | ||||||
|  |     limits = { 'No Limit':'nl', 'Pot Limit':'pl', 'Limit':'fl', 'LIMIT':'fl' } | ||||||
|  |     games = {                          # base, category | ||||||
|  |                               "Hold'em" : ('hold','holdem'),  | ||||||
|  |                                 'Omaha' : ('hold','omahahi'), | ||||||
|  |                           'Omaha Hi/Lo' : ('hold','omahahilo'), | ||||||
|  |                                  'Razz' : ('stud','razz'),  | ||||||
|  |                                  'RAZZ' : ('stud','razz'), | ||||||
|  |                           '7 Card Stud' : ('stud','studhi'), | ||||||
|  |                     '7 Card Stud Hi/Lo' : ('stud','studhilo'), | ||||||
|  |                                'Badugi' : ('draw','badugi'), | ||||||
|  |               'Triple Draw 2-7 Lowball' : ('draw','27_3draw'), | ||||||
|  |                           '5 Card Draw' : ('draw','fivedraw') | ||||||
|  |                } | ||||||
|  | 
 | ||||||
|  |     substitutions = { | ||||||
|  |                      'LEGAL_ISO' : "USD|EUR|GBP|CAD|FPP",    # legal ISO currency codes | ||||||
|  |                             'LS' : u"\$|\xe2\x82\xac|\u20AC|" # legal currency symbols | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|  |     re_GameType = re.compile("""<h1>((?P<LIMIT>No Limit|Pot Limit) (?P<GAME>Hold\'em))</h1>""") | ||||||
|  | 
 | ||||||
|  |     re_SplitTourneys = re.compile("PokerStars Tournament ") | ||||||
|  |      | ||||||
|  |     re_TourNo = re.compile("ID\=(?P<TOURNO>[0-9]+)") | ||||||
|  | 
 | ||||||
|  |     re_Player = re.compile(u"""(?P<RANK>\d+)<\/td><td width="30%">(?P<PNAME>.+?)<\/td><td width="60%">(?P<WINNINGS>.+?)</td>""") | ||||||
|  | 
 | ||||||
|  |     re_Details = re.compile(u"""<p class="text">(?P<LABEL>.+?) : (?P<VALUE>.+?)</p>""") | ||||||
|  |     re_Prizepool = re.compile(u"""<div class="title2">.+: (?P<PRIZEPOOL>[0-9,]+)""") | ||||||
|  | 
 | ||||||
|  |     re_DateTime = re.compile("\[(?P<Y>[0-9]{4})\/(?P<M>[0-9]{2})\/(?P<D>[0-9]{2})[\- ]+(?P<H>[0-9]+):(?P<MIN>[0-9]+):(?P<S>[0-9]+)") | ||||||
|  | 
 | ||||||
|  |     codepage = ["utf-8"] | ||||||
|  | 
 | ||||||
|  |     def parseSummary(self): | ||||||
|  |         self.currency = "EUR" | ||||||
|  |         soup = BeautifulSoup(self.summaryText) | ||||||
|  |         tl = soup.findAll('div', {"class":"left_content"}) | ||||||
|  | 
 | ||||||
|  |         ps = soup.findAll('p', {"class": "text"}) | ||||||
|  |         for p in ps: | ||||||
|  |             for m in self.re_Details.finditer(str(p)): | ||||||
|  |                 mg = m.groupdict() | ||||||
|  |                 #print mg | ||||||
|  |                 if mg['LABEL'] == 'Buy-in': | ||||||
|  |                     mg['VALUE'] = mg['VALUE'].replace(u"€", "") | ||||||
|  |                     mg['VALUE'] = mg['VALUE'].replace(u"+", "") | ||||||
|  |                     mg['VALUE'] = mg['VALUE'].strip(" $") | ||||||
|  |                     bi, fee = mg['VALUE'].split(" ") | ||||||
|  |                     self.buyin = int(100*Decimal(bi)) | ||||||
|  |                     self.fee   = int(100*Decimal(fee)) | ||||||
|  |                     #print "DEBUG: bi: '%s' fee: '%s" % (self.buyin, self.fee) | ||||||
|  |                 if mg['LABEL'] == 'Nombre de joueurs inscrits': | ||||||
|  |                     self.entries   = mg['VALUE'] | ||||||
|  |                 if mg['LABEL'] == 'D\xc3\xa9but du tournoi': | ||||||
|  |                     self.startTime = datetime.datetime.strptime(mg['VALUE'], "%d-%m-%Y %H:%M") | ||||||
|  |                 if mg['LABEL'] == 'Nombre de joueurs max': | ||||||
|  |                     # Max seats i think | ||||||
|  |                     pass | ||||||
|  | 
 | ||||||
|  |         div = soup.findAll('div', {"class": "title2"}) | ||||||
|  |         for m in self.re_Prizepool.finditer(str(div)): | ||||||
|  |             mg = m.groupdict() | ||||||
|  |             #print mg | ||||||
|  |             self.prizepool = mg['PRIZEPOOL'].replace(u',','.') | ||||||
|  |              | ||||||
|  | 
 | ||||||
|  |         for m in self.re_GameType.finditer(str(tl[0])): | ||||||
|  |             mg = m.groupdict() | ||||||
|  |             #print mg | ||||||
|  |             self.gametype['limitType'] = self.limits[mg['LIMIT']] | ||||||
|  |             self.gametype['category'] = self.games[mg['GAME']][1] | ||||||
|  | 
 | ||||||
|  |         for m in self.re_Player.finditer(str(tl[0])): | ||||||
|  |             mg = m.groupdict() | ||||||
|  |             #print mg | ||||||
|  |             winnings = mg['WINNINGS'].strip(u'€').replace(u',','.') | ||||||
|  |             winnings = int(100*Decimal(winnings)) | ||||||
|  |             rank     = mg['RANK'] | ||||||
|  |             name     = mg['PNAME'] | ||||||
|  |             #print "DEBUG: %s: %s" %(name, winnings) | ||||||
|  |             self.addPlayer(rank, name, winnings, self.currency, None, None, None) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |         for m in self.re_TourNo.finditer(self.summaryText): | ||||||
|  |             mg = m.groupdict() | ||||||
|  |             #print mg | ||||||
|  |             self.tourNo = mg['TOURNO'] | ||||||
|  | @ -89,7 +89,7 @@ class Winamax(HandHistoryConverter): | ||||||
|             buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Gratuit|Ticket\suniquement)?\s |             buyIn:\s(?P<BUYIN>(?P<BIAMT>[%(LS)s\d\,]+)?\s\+?\s(?P<BIRAKE>[%(LS)s\d\,]+)?\+?(?P<BOUNTY>[%(LS)s\d\.]+)?\s?(?P<TOUR_ISO>%(LEGAL_ISO)s)?|Gratuit|Ticket\suniquement)?\s | ||||||
|             (level:\s(?P<LEVEL>\d+))? |             (level:\s(?P<LEVEL>\d+))? | ||||||
|             .*)? |             .*)? | ||||||
|             \s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s |             \s-\sHandId:\s\#(?P<HID1>\d+)-(?P<HID2>\d+)-(?P<HID3>\d+).*\s  # REB says: HID3 is the correct hand number | ||||||
|             (?P<GAME>Holdem|Omaha)\s |             (?P<GAME>Holdem|Omaha)\s | ||||||
|             (?P<LIMIT>no\slimit|pot\slimit)\s |             (?P<LIMIT>no\slimit|pot\slimit)\s | ||||||
|             \( |             \( | ||||||
|  | @ -107,6 +107,7 @@ class Winamax(HandHistoryConverter): | ||||||
|     re_TailSplitHands = re.compile(r'\n\s*\n') |     re_TailSplitHands = re.compile(r'\n\s*\n') | ||||||
|     re_Button       = re.compile(r'Seat\s#(?P<BUTTON>\d+)\sis\sthe\sbutton') |     re_Button       = re.compile(r'Seat\s#(?P<BUTTON>\d+)\sis\sthe\sbutton') | ||||||
|     re_Board        = re.compile(r"\[(?P<CARDS>.+)\]") |     re_Board        = re.compile(r"\[(?P<CARDS>.+)\]") | ||||||
|  |     re_Total        = re.compile(r"Total pot (?P<TOTAL>[\.\d]+).*(No rake|Rake (?P<RAKE>[\.\d]+))" % substitutions) | ||||||
| 
 | 
 | ||||||
|     # 2010/09/21 03:10:51 UTC |     # 2010/09/21 03:10:51 UTC | ||||||
|     re_DateTime = re.compile(""" |     re_DateTime = re.compile(""" | ||||||
|  | @ -221,13 +222,19 @@ class Winamax(HandHistoryConverter): | ||||||
|                 hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, "CET", "UTC") |                 hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, "CET", "UTC") | ||||||
|             if key == 'HID1': |             if key == 'HID1': | ||||||
|                 # Need to remove non-alphanumerics for MySQL |                 # Need to remove non-alphanumerics for MySQL | ||||||
|                 hand.handid = "1%.9d%s%s"%(int(info['HID2']),info['HID1'],info['HID3']) | #                hand.handid = "1%.9d%s%s"%(int(info['HID2']),info['HID1'],info['HID3']) | ||||||
|  |                 hand.handid = "%s%s%s"%(int(info['HID2']),info['HID1'],info['HID3']) | ||||||
|                 if len (hand.handid) > 19: |                 if len (hand.handid) > 19: | ||||||
|                     hand.handid = "%s" % info['HID1'] |                     hand.handid = "%s%s" % (int(info['HID2']), int(info['HID3'])) | ||||||
|  |                      | ||||||
|  | #            if key == 'HID3': | ||||||
|  | #                hand.handid = int(info['HID3'])   # correct hand no (REB) | ||||||
|             if key == 'TOURNO': |             if key == 'TOURNO': | ||||||
|                 hand.tourNo = info[key] |                 hand.tourNo = info[key] | ||||||
|             if key == 'TABLE': |             if key == 'TABLE': | ||||||
|                 hand.tablename = info[key] |                 hand.tablename = info[key] | ||||||
|  |             if key == 'MAXPLAYER' and info[key] != None: | ||||||
|  |                 hand.maxseats = int(info[key]) | ||||||
| 
 | 
 | ||||||
|             if key == 'BUYIN': |             if key == 'BUYIN': | ||||||
|                 if hand.tourNo!=None: |                 if hand.tourNo!=None: | ||||||
|  | @ -269,8 +276,15 @@ class Winamax(HandHistoryConverter): | ||||||
|                                 hand.isKO = False |                                 hand.isKO = False | ||||||
| 
 | 
 | ||||||
|                             info['BIRAKE'] = info['BIRAKE'].strip(u'$€') |                             info['BIRAKE'] = info['BIRAKE'].strip(u'$€') | ||||||
|                             hand.buyin = int(100*Decimal(info['BIAMT'])) |                             rake_factor = 1 | ||||||
|                             hand.fee = int(100*Decimal(info['BIRAKE'])) |                             bi_factor = 1 | ||||||
|  |                             if info['BIAMT'].find(".") == -1: | ||||||
|  |                                 bi_factor = 100 | ||||||
|  |                             if info['BIRAKE'].find(".") == -1: | ||||||
|  |                                 rake_factor = 100 | ||||||
|  | 
 | ||||||
|  |                             hand.buyin = bi_factor*info['BIAMT'] | ||||||
|  |                             hand.fee = rake_factor*info['BIRAKE'] | ||||||
|                         else: |                         else: | ||||||
|                             hand.buyin = int(Decimal(info['BIAMT'])) |                             hand.buyin = int(Decimal(info['BIAMT'])) | ||||||
|                             hand.fee = 0 |                             hand.fee = 0 | ||||||
|  | @ -278,9 +292,9 @@ class Winamax(HandHistoryConverter): | ||||||
|             if key == 'LEVEL': |             if key == 'LEVEL': | ||||||
|                 hand.level = info[key] |                 hand.level = info[key] | ||||||
| 
 | 
 | ||||||
|         # TODO: These |         m =  self.re_Button.search(hand.handText) | ||||||
|         hand.buttonpos = 1 |         hand.buttonpos = m.groupdict().get('BUTTON', None) | ||||||
|         hand.maxseats = 10    # Set to None - Hand.py will guessMaxSeats() | 
 | ||||||
|         hand.mixed = None |         hand.mixed = None | ||||||
| 
 | 
 | ||||||
|     def readPlayerStacks(self, hand): |     def readPlayerStacks(self, hand): | ||||||
|  | @ -416,10 +430,6 @@ class Winamax(HandHistoryConverter): | ||||||
|         # Return any uncalled bet. |         # Return any uncalled bet. | ||||||
|         committed = sorted([ (v,k) for (k,v) in hand.pot.committed.items()]) |         committed = sorted([ (v,k) for (k,v) in hand.pot.committed.items()]) | ||||||
|         #print "DEBUG: committed: %s" % committed |         #print "DEBUG: committed: %s" % committed | ||||||
|         #ERROR below. lastbet is correct in most cases, but wrong when |  | ||||||
|         #             additional money is committed to the pot in cash games |  | ||||||
|         #             due to an additional sb being posted. (Speculate that |  | ||||||
|         #             posting sb+bb is also potentially wrong) |  | ||||||
|         returned = {} |         returned = {} | ||||||
|         lastbet = committed[-1][0] - committed[-2][0] |         lastbet = committed[-1][0] - committed[-2][0] | ||||||
|         if lastbet > 0: # uncalled |         if lastbet > 0: # uncalled | ||||||
|  | @ -430,14 +440,29 @@ class Winamax(HandHistoryConverter): | ||||||
| 
 | 
 | ||||||
|         collectees = [] |         collectees = [] | ||||||
| 
 | 
 | ||||||
|  |         tp = self.re_Total.search(hand.handText) | ||||||
|  |         rake = tp.group('RAKE') | ||||||
|  |         if rake == None: | ||||||
|  |             rake = 0 | ||||||
|         for m in self.re_CollectPot.finditer(hand.handText): |         for m in self.re_CollectPot.finditer(hand.handText): | ||||||
|             collectees.append([m.group('PNAME'), m.group('POT')]) |             collectees.append([m.group('PNAME'), m.group('POT')]) | ||||||
| 
 | 
 | ||||||
|  |         #print "DEBUG: Total pot: %s" % tp.groupdict() | ||||||
|  |         #print "DEBUG: According to pot: %s" % total | ||||||
|  |         #print "DEBUG: Rake: %s" % rake | ||||||
|  | 
 | ||||||
|  |         if len(collectees) == 1: | ||||||
|  |             plyr, p = collectees[0] | ||||||
|  |             # p may be wrong, use calculated total - rake | ||||||
|  |             p = total - Decimal(rake) | ||||||
|  |             #print "DEBUG: len1: addCollectPot(%s,%s)" %(plyr, p) | ||||||
|  |             hand.addCollectPot(player=plyr,pot=p) | ||||||
|  |         else: | ||||||
|             for plyr, p in collectees: |             for plyr, p in collectees: | ||||||
|             if plyr in returned.keys() and Decimal(p) - returned[plyr] == 0: |                 if plyr in returned.keys(): | ||||||
|                     p = Decimal(p) - returned[plyr] |                     p = Decimal(p) - returned[plyr] | ||||||
|                 if p > 0: |                 if p > 0: | ||||||
|                 print "DEBUG: addCollectPot(%s,%s)" %(plyr, p) |                     #print "DEBUG: addCollectPot(%s,%s)" %(plyr, p) | ||||||
|                     hand.addCollectPot(player=plyr,pot=p) |                     hand.addCollectPot(player=plyr,pot=p) | ||||||
| 
 | 
 | ||||||
|     def readShownCards(self,hand): |     def readShownCards(self,hand): | ||||||
|  |  | ||||||
|  | @ -35,11 +35,15 @@ import Xlib.display | ||||||
| 
 | 
 | ||||||
| #    FPDB modules | #    FPDB modules | ||||||
| from TableWindow import Table_Window | from TableWindow import Table_Window | ||||||
|  | import Configuration | ||||||
| 
 | 
 | ||||||
| #    We might as well do this once and make them globals | #    We might as well do this once and make them globals | ||||||
| disp = Xlib.display.Display() | disp = Xlib.display.Display() | ||||||
| root = disp.screen().root | root = disp.screen().root | ||||||
| 
 | 
 | ||||||
|  | c = Configuration.Config() | ||||||
|  | log = Configuration.get_logger("logging.conf", "hud", log_dir=c.dir_log, log_file='HUD-log.txt') | ||||||
|  | 
 | ||||||
| class Table(Table_Window): | class Table(Table_Window): | ||||||
| 
 | 
 | ||||||
|     def find_table_parameters(self): |     def find_table_parameters(self): | ||||||
|  | @ -56,14 +60,18 @@ class Table(Table_Window): | ||||||
|         self.number = None |         self.number = None | ||||||
|         for listing in os.popen('xwininfo -root -tree').readlines(): |         for listing in os.popen('xwininfo -root -tree').readlines(): | ||||||
|             if re.search(self.search_string, listing, re.I): |             if re.search(self.search_string, listing, re.I): | ||||||
|  |                 log.info(listing) | ||||||
|                 mo = re.match(reg, listing, re.VERBOSE) |                 mo = re.match(reg, listing, re.VERBOSE) | ||||||
|                 title  = re.sub('\"', '', mo.groupdict()["TITLE"]) |                 title  = re.sub('\"', '', mo.groupdict()["TITLE"]) | ||||||
|                 if self.check_bad_words(title): continue |                 if self.check_bad_words(title): continue | ||||||
|                 self.number = int( mo.groupdict()["XID"], 0 ) |                 self.number = int( mo.groupdict()["XID"], 0 ) | ||||||
|                 self.title = title |                 self.title = title | ||||||
|  |                 if self.number is None: | ||||||
|  |                     log.warning(_("Could not retrieve XID from table xwininfo. xwininfo is %s") % listing) | ||||||
|                 break |                 break | ||||||
| 
 | 
 | ||||||
|         if self.number is None: |         if self.number is None: | ||||||
|  |             log.warning(_("No match in XTables for table '%s'.") % self.search_string) | ||||||
|             return None |             return None | ||||||
|         (self.window, self.parent) = self.get_window_from_xid(self.number) |         (self.window, self.parent) = self.get_window_from_xid(self.number) | ||||||
| 
 | 
 | ||||||
|  | @ -88,23 +96,51 @@ class Table(Table_Window): | ||||||
|                 if w.id == id: |                 if w.id == id: | ||||||
|                     return (w, top_level) |                     return (w, top_level) | ||||||
| 
 | 
 | ||||||
|  |     #def get_geometry(self): | ||||||
|  |         #try: | ||||||
|  |             #my_geo = self.window.get_geometry() | ||||||
|  |             #if self.parent is None: | ||||||
|  |                 #return {'x'      : my_geo.x, | ||||||
|  |                         #'y'      : my_geo.y, | ||||||
|  |                         #'width'  : my_geo.width, | ||||||
|  |                         #'height' : my_geo.height | ||||||
|  |                        #} | ||||||
|  |             #else: | ||||||
|  |                 #pa_geo = self.parent.get_geometry() | ||||||
|  |                 #return {'x'      : my_geo.x + pa_geo.x, | ||||||
|  |                         #'y'      : my_geo.y + pa_geo.y, | ||||||
|  |                         #'width'  : my_geo.width, | ||||||
|  |                         #'height' : my_geo.height | ||||||
|  |                        #} | ||||||
|  |         #except: | ||||||
|  |             #return None | ||||||
|  | 
 | ||||||
|     def get_geometry(self): |     def get_geometry(self): | ||||||
|  |         geo_re = ''' | ||||||
|  |                 Absolute\supper-left\sX: \s+ (?P<X>\d+)   # x | ||||||
|  |                 .+ | ||||||
|  |                 Absolute\supper-left\sY: \s+ (?P<Y>\d+)   # y | ||||||
|  |                 .+ | ||||||
|  |                 Width: \s+ (?P<W>\d+)                   # width | ||||||
|  |                 .+ | ||||||
|  |                 Height: \s+ (?P<H>\d+)                  # height | ||||||
|  |             ''' | ||||||
|  |         des_re = 'No such window with id' | ||||||
|  | 
 | ||||||
|  |         listing = os.popen("xwininfo -id %d -stats" % (self.number)).read() | ||||||
|  | 
 | ||||||
|  |         mo = re.search(des_re, listing) | ||||||
|  |         if mo is not None: | ||||||
|  |             return None      # table has been destroyed | ||||||
|  | 
 | ||||||
|  |         mo = re.search(geo_re, listing, re.VERBOSE|re.DOTALL) | ||||||
|         try: |         try: | ||||||
|             my_geo = self.window.get_geometry() |             return {'x'        : int(mo.groupdict()['X']), | ||||||
|             if self.parent is None: |                     'y'        : int(mo.groupdict()['Y']), | ||||||
|                 return {'x'      : my_geo.x, |                     'width'    : int(mo.groupdict()['W']), | ||||||
|                         'y'      : my_geo.y, |                     'height'   : int(mo.groupdict()['H']) | ||||||
|                         'width'  : my_geo.width, |  | ||||||
|                         'height' : my_geo.height |  | ||||||
|                    } |                    } | ||||||
|             else: |         except AttributeError: | ||||||
|                 pa_geo = self.parent.get_geometry() |  | ||||||
|                 return {'x'      : my_geo.x + pa_geo.x, |  | ||||||
|                         'y'      : my_geo.y + pa_geo.y, |  | ||||||
|                         'width'  : my_geo.width, |  | ||||||
|                         'height' : my_geo.height |  | ||||||
|                        } |  | ||||||
|         except: |  | ||||||
|             return None |             return None | ||||||
| 
 | 
 | ||||||
|     def get_window_title(self): |     def get_window_title(self): | ||||||
|  | @ -129,4 +165,3 @@ def treewalk(parent): | ||||||
|         for ww in treewalk(w): |         for ww in treewalk(w): | ||||||
|             yield ww |             yield ww | ||||||
|         yield w |         yield w | ||||||
| 
 |  | ||||||
|  |  | ||||||
							
								
								
									
										4
									
								
								pyfpdb/decimal.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								pyfpdb/decimal.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | try: | ||||||
|  |     from cdecimal import * | ||||||
|  | except ImportError: | ||||||
|  |     from decimal import * | ||||||
|  | @ -116,7 +116,10 @@ import GuiGraphViewer | ||||||
| import GuiTourneyGraphViewer | import GuiTourneyGraphViewer | ||||||
| import GuiSessionViewer | import GuiSessionViewer | ||||||
| import GuiReplayer | import GuiReplayer | ||||||
|  | try: | ||||||
|     import GuiStove |     import GuiStove | ||||||
|  | except: | ||||||
|  |     print _("GuiStove not found. If you want to use it please install pypoker-eval.") | ||||||
| import SQL | import SQL | ||||||
| import Database | import Database | ||||||
| import Configuration | import Configuration | ||||||
|  | @ -256,7 +259,6 @@ class fpdb: | ||||||
|                , ('PyGTK',            '.'.join([str(x) for x in gtk.pygtk_version])) |                , ('PyGTK',            '.'.join([str(x) for x in gtk.pygtk_version])) | ||||||
|                , ('matplotlib',       matplotlib_version) |                , ('matplotlib',       matplotlib_version) | ||||||
|                , ('numpy',            numpy_version) |                , ('numpy',            numpy_version) | ||||||
|                , ('sqlite3',          sqlite3_version) |  | ||||||
|                , ('sqlite',          sqlite_version) |                , ('sqlite',          sqlite_version) | ||||||
|                , ('fpdb version',     VERSION) |                , ('fpdb version',     VERSION) | ||||||
|                , ('database used',    self.settings['db-server']) |                , ('database used',    self.settings['db-server']) | ||||||
|  |  | ||||||
|  | @ -83,7 +83,6 @@ class Importer: | ||||||
|         self.pos_in_file = {}        # dict to remember how far we have read in the file |         self.pos_in_file = {}        # dict to remember how far we have read in the file | ||||||
|         #Set defaults |         #Set defaults | ||||||
|         self.callHud    = self.config.get_import_parameters().get("callFpdbHud") |         self.callHud    = self.config.get_import_parameters().get("callFpdbHud") | ||||||
|         self.cacheSessions = self.config.get_import_parameters().get("cacheSessions") |  | ||||||
| 
 | 
 | ||||||
|         # CONFIGURATION OPTIONS |         # CONFIGURATION OPTIONS | ||||||
|         self.settings.setdefault("handCount", 0) |         self.settings.setdefault("handCount", 0) | ||||||
|  | @ -470,12 +469,20 @@ class Importer: | ||||||
|                 handlist = hhc.getProcessedHands() |                 handlist = hhc.getProcessedHands() | ||||||
|                 self.pos_in_file[file] = hhc.getLastCharacterRead() |                 self.pos_in_file[file] = hhc.getLastCharacterRead() | ||||||
|                 to_hud = [] |                 to_hud = [] | ||||||
|  |                 hp_bulk = [] | ||||||
|  |                 ha_bulk = [] | ||||||
|  |                 i = 0 | ||||||
| 
 | 
 | ||||||
|                 for hand in handlist: |                 for hand in handlist: | ||||||
|  |                     i += 1 | ||||||
|                     if hand is not None: |                     if hand is not None: | ||||||
|                         hand.prepInsert(self.database, printtest = self.settings['testData']) |                         hand.prepInsert(self.database, printtest = self.settings['testData']) | ||||||
|                         try: |                         try: | ||||||
|                             hand.insert(self.database, printtest = self.settings['testData']) |                             hp_inserts, ha_inserts = hand.insert(self.database, hp_data = hp_bulk,  | ||||||
|  |                                                                  ha_data = ha_bulk, insert_data = len(handlist)==i, | ||||||
|  |                                                                  printtest = self.settings['testData']) | ||||||
|  |                             hp_bulk += hp_inserts | ||||||
|  |                             ha_bulk += ha_inserts | ||||||
|                         except Exceptions.FpdbHandDuplicate: |                         except Exceptions.FpdbHandDuplicate: | ||||||
|                             duplicates += 1 |                             duplicates += 1 | ||||||
|                         else: |                         else: | ||||||
|  | @ -492,13 +499,6 @@ class Importer: | ||||||
|                             hand.updateHudCache(self.database) |                             hand.updateHudCache(self.database) | ||||||
|                 self.database.commit() |                 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 |                 #pipe the Hands.id out to the HUD | ||||||
|                 if self.caller: |                 if self.caller: | ||||||
|                     for hid in to_hud: |                     for hid in to_hud: | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								pyfpdb/locale/es/LC_MESSAGES/fpdb.mo
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								pyfpdb/locale/es/LC_MESSAGES/fpdb.mo
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										3737
									
								
								pyfpdb/locale/fpdb-es_ES.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3737
									
								
								pyfpdb/locale/fpdb-es_ES.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							|  | @ -6,11 +6,13 @@ python /usr/share/doc/python-2.*/examples/Tools/i18n/pygettext.py --output-dir=l | ||||||
| 
 | 
 | ||||||
| echo "merging template with existing translations" | echo "merging template with existing translations" | ||||||
| msgmerge --update locale/fpdb-de_DE.po locale/fpdb-en_GB.pot | msgmerge --update locale/fpdb-de_DE.po locale/fpdb-en_GB.pot | ||||||
|  | msgmerge --update locale/fpdb-es_ES.po locale/fpdb-en_GB.pot | ||||||
| msgmerge --update locale/fpdb-fr_FR.po locale/fpdb-en_GB.pot | msgmerge --update locale/fpdb-fr_FR.po locale/fpdb-en_GB.pot | ||||||
| msgmerge --update locale/fpdb-hu_HU.po locale/fpdb-en_GB.pot | msgmerge --update locale/fpdb-hu_HU.po locale/fpdb-en_GB.pot | ||||||
| 
 | 
 | ||||||
| echo "compiling mo files" | echo "compiling mo files" | ||||||
| python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/de/LC_MESSAGES/fpdb.mo locale/fpdb-de_DE.po | python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/de/LC_MESSAGES/fpdb.mo locale/fpdb-de_DE.po | ||||||
|  | python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/es/LC_MESSAGES/fpdb.mo locale/fpdb-es_ES.po | ||||||
| python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/fr/LC_MESSAGES/fpdb.mo locale/fpdb-fr_FR.po | python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/fr/LC_MESSAGES/fpdb.mo locale/fpdb-fr_FR.po | ||||||
| python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/hu/LC_MESSAGES/fpdb.mo locale/fpdb-hu_HU.po | python /usr/share/doc/python-2.*/examples/Tools/i18n/msgfmt.py --output-file=locale/hu/LC_MESSAGES/fpdb.mo locale/fpdb-hu_HU.po | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': False, |                  'street0_4BChance': False, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': False, |                  'street1Aggr': False, | ||||||
|                  'street1Bets': 0, |                  'street1Bets': 0, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -2, |                  'totalProfit': -2, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 4, |                     'totalProfit': 4, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -705,6 +768,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -741,6 +812,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -1,98 +1,4 @@ | ||||||
| {   u'Player1': {   'card1': 0, | {   u'Hero': {   'card1': 13, | ||||||
|                     'card2': 0, |  | ||||||
|                     'card3': 0, |  | ||||||
|                     'card4': 0, |  | ||||||
|                     'card5': 0, |  | ||||||
|                     'card6': 0, |  | ||||||
|                     'card7': 0, |  | ||||||
|                     'foldBbToStealChance': False, |  | ||||||
|                     'foldSbToStealChance': False, |  | ||||||
|                     'foldToOtherRaisedStreet0': False, |  | ||||||
|                     'foldToOtherRaisedStreet1': False, |  | ||||||
|                     'foldToOtherRaisedStreet2': False, |  | ||||||
|                     'foldToOtherRaisedStreet3': False, |  | ||||||
|                     'foldToOtherRaisedStreet4': False, |  | ||||||
|                     'foldToStreet1CBChance': False, |  | ||||||
|                     'foldToStreet1CBDone': False, |  | ||||||
|                     'foldToStreet2CBChance': False, |  | ||||||
|                     'foldToStreet2CBDone': False, |  | ||||||
|                     'foldToStreet3CBChance': False, |  | ||||||
|                     'foldToStreet3CBDone': False, |  | ||||||
|                     'foldToStreet4CBChance': False, |  | ||||||
|                     'foldToStreet4CBDone': False, |  | ||||||
|                     'foldedBbToSteal': False, |  | ||||||
|                     'foldedSbToSteal': False, |  | ||||||
|                     'other3BStreet0': False, |  | ||||||
|                     'other4BStreet0': False, |  | ||||||
|                     'otherRaisedStreet0': False, |  | ||||||
|                     'otherRaisedStreet1': False, |  | ||||||
|                     'otherRaisedStreet2': False, |  | ||||||
|                     'otherRaisedStreet3': False, |  | ||||||
|                     'otherRaisedStreet4': False, |  | ||||||
|                     'position': 4, |  | ||||||
|                     'raiseFirstInChance': True, |  | ||||||
|                     'raisedFirstIn': False, |  | ||||||
|                     'rake': 0, |  | ||||||
|                     'sawShowdown': False, |  | ||||||
|                     'seatNo': 3, |  | ||||||
|                     'sitout': False, |  | ||||||
|                     'startCards': 0, |  | ||||||
|                     'startCash': 3413, |  | ||||||
|                     'street0Aggr': False, |  | ||||||
|                     'street0Bets': 0, |  | ||||||
|                     'street0Calls': 0, |  | ||||||
|                     'street0Raises': 0, |  | ||||||
|                     'street0VPI': False, |  | ||||||
|                     'street0_3BChance': False, |  | ||||||
|                     'street0_3BDone': False, |  | ||||||
|                     'street0_4BChance': False, |  | ||||||
|                     'street0_4BDone': False, |  | ||||||
|                     'street1Aggr': False, |  | ||||||
|                     'street1Bets': 0, |  | ||||||
|                     'street1CBChance': False, |  | ||||||
|                     'street1CBDone': False, |  | ||||||
|                     'street1Calls': 0, |  | ||||||
|                     'street1CheckCallRaiseChance': False, |  | ||||||
|                     'street1CheckCallRaiseDone': False, |  | ||||||
|                     'street1Raises': 0, |  | ||||||
|                     'street1Seen': False, |  | ||||||
|                     'street2Aggr': False, |  | ||||||
|                     'street2Bets': 0, |  | ||||||
|                     'street2CBChance': False, |  | ||||||
|                     'street2CBDone': False, |  | ||||||
|                     'street2Calls': 0, |  | ||||||
|                     'street2CheckCallRaiseChance': False, |  | ||||||
|                     'street2CheckCallRaiseDone': False, |  | ||||||
|                     'street2Raises': 0, |  | ||||||
|                     'street2Seen': False, |  | ||||||
|                     'street3Aggr': False, |  | ||||||
|                     'street3Bets': 0, |  | ||||||
|                     'street3CBChance': False, |  | ||||||
|                     'street3CBDone': False, |  | ||||||
|                     'street3Calls': 0, |  | ||||||
|                     'street3CheckCallRaiseChance': False, |  | ||||||
|                     'street3CheckCallRaiseDone': False, |  | ||||||
|                     'street3Raises': 0, |  | ||||||
|                     'street3Seen': False, |  | ||||||
|                     'street4Aggr': False, |  | ||||||
|                     'street4Bets': 0, |  | ||||||
|                     'street4CBChance': False, |  | ||||||
|                     'street4CBDone': False, |  | ||||||
|                     'street4Calls': 0, |  | ||||||
|                     'street4CheckCallRaiseChance': False, |  | ||||||
|                     'street4CheckCallRaiseDone': False, |  | ||||||
|                     'street4Raises': 0, |  | ||||||
|                     'street4Seen': False, |  | ||||||
|                     'totalProfit': 0, |  | ||||||
|                     'tourneyTypeId': None, |  | ||||||
|                     'tourneysPlayersIds': None, |  | ||||||
|                     'winnings': 0, |  | ||||||
|                     'wonAtSD': 0.0, |  | ||||||
|                     'wonWhenSeenStreet1': 0.0, |  | ||||||
|                     'wonWhenSeenStreet2': 0.0, |  | ||||||
|                     'wonWhenSeenStreet3': 0.0, |  | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'Hero': {   'card1': 13, |  | ||||||
|                  'card2': 46, |                  'card2': 46, | ||||||
|                  'card3': 0, |                  'card3': 0, | ||||||
|                  'card4': 0, |                  'card4': 0, | ||||||
|  | @ -141,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': False, |                  'street0_4BChance': False, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': False, |                  'street1Aggr': False, | ||||||
|                  'street1Bets': 0, |                  'street1Bets': 0, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -177,6 +91,110 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 0, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player1': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 4, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 3, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 3413, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': True, |                     'street0_3BDone': True, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': True, |                     'street1Aggr': True, | ||||||
|                     'street1Bets': 1, |                     'street1Bets': 1, | ||||||
|                     'street1CBChance': True, |                     'street1CBChance': True, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 2700, |                     'totalProfit': 2700, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -25, |                     'totalProfit': -25, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -100, |                     'totalProfit': -100, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2867, |                     'totalProfit': -2867, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -705,6 +768,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -741,6 +812,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -0,0 +1,34 @@ | ||||||
|  | <SESSION time="1291146443" tableName="Toulouse-2" id="1069.21.2" type="ring" money="€" screenName="Hero" game="omaha-hi" gametype="pot-limit"/> | ||||||
|  | <HAND time="1291155932" id="6351562000" index="0" blinds="5 €/10 €" stakes="10 €/10 €"> | ||||||
|  |   <SEAT position="0" name="Hero" balance="100000"/> | ||||||
|  |   <SEAT position="4" name="Villain" balance="50000"/> | ||||||
|  |   <DEALER position="0"/> | ||||||
|  |   <BLIND position="0" amount="500" penalty="0"/> | ||||||
|  |   <BLIND position="4" amount="1000" penalty="0"/> | ||||||
|  |   <HOLE position="4">--</HOLE> | ||||||
|  |   <HOLE position="0">8h</HOLE> | ||||||
|  |   <HOLE position="4">--</HOLE> | ||||||
|  |   <HOLE position="0">2c</HOLE> | ||||||
|  |   <HOLE position="4">--</HOLE> | ||||||
|  |   <HOLE position="0">Qc</HOLE> | ||||||
|  |   <HOLE position="4">--</HOLE> | ||||||
|  |   <HOLE position="0">Ah</HOLE> | ||||||
|  |   <BET position="0" amount="2500"/> | ||||||
|  |   <BET position="4" amount="2000"/> | ||||||
|  |   <SWEEP rake="150" tax="100">5750</SWEEP> | ||||||
|  |   <COMMUNITY>6s, 8c, Jh</COMMUNITY> | ||||||
|  |   <BET position="4" amount="6000"/> | ||||||
|  |   <BET position="0" amount="6000"/> | ||||||
|  |   <SWEEP rake="150" tax="100">17750</SWEEP> | ||||||
|  |   <COMMUNITY>6h</COMMUNITY> | ||||||
|  |   <BET position="4" amount="0"/> | ||||||
|  |   <BET position="0" amount="0"/> | ||||||
|  |   <SWEEP rake="150" tax="100">17750</SWEEP> | ||||||
|  |   <COMMUNITY>4c</COMMUNITY> | ||||||
|  |   <BET position="4" amount="18000"/> | ||||||
|  |   <FOLD position="0"/> | ||||||
|  |   <PUSH position="4" amount="18000"/> | ||||||
|  |   <SWEEP rake="150" tax="100">17750</SWEEP> | ||||||
|  |   <XSHOW position="4"/> | ||||||
|  |   <WIN position="4" amount="17750" pot="0" potAmount="17750"/> | ||||||
|  | </HAND> | ||||||
|  | @ -0,0 +1 @@ | ||||||
|  | (15, 'EUR', 'ring', 'hold', 'omahahi', 'pl', 'h', 500, 1000, 1000, 2000) | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 44, | ||||||
|  |     'boardcard2': 0, | ||||||
|  |     'boardcard3': 0, | ||||||
|  |     'boardcard4': 5, | ||||||
|  |     'boardcard5': 29, | ||||||
|  |     'gametypeId': 1, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 10, | ||||||
|  |     'playersAtShowdown': 0, | ||||||
|  |     'playersAtStreet1': 2, | ||||||
|  |     'playersAtStreet2': 2, | ||||||
|  |     'playersAtStreet3': 2, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 2, | ||||||
|  |     'seats': 2, | ||||||
|  |     'sessionId': 1, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'6351562000', | ||||||
|  |     'startTime': datetime.datetime(2011, 2, 9, 11, 58), | ||||||
|  |     'street0Raises': 1, | ||||||
|  |     'street1Pot': 18000, | ||||||
|  |     'street1Raises': 1, | ||||||
|  |     'street2Pot': 18000, | ||||||
|  |     'street2Raises': 0, | ||||||
|  |     'street3Pot': 36000, | ||||||
|  |     'street3Raises': 1, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Toulouse-2', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,206 @@ | ||||||
|  | {   u'Hero': {   'card1': 0, | ||||||
|  |                  'card2': 0, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': True, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': True, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': True, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 'S', | ||||||
|  |                  'raiseFirstInChance': True, | ||||||
|  |                  'raisedFirstIn': True, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': u'0', | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 10000000, | ||||||
|  |                  'street0Aggr': True, | ||||||
|  |                  'street0Bets': 1, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': True, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 1, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': True, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': True, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': True, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': -9000, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Villain': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': True, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'B', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 300, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': u'4', | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 5000000, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': True, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': True, | ||||||
|  |                     'street3Bets': 1, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 8700, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 17700, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                     'street0_3BDone': True, |                     'street0_3BDone': True, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -98, |                     'totalProfit': -98, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 96, |                     'totalProfit': 96, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -3, |                     'totalProfit': -3, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -705,6 +768,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -741,6 +812,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': False, |                  'street0_4BChance': False, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': False, |                  'street1Aggr': False, | ||||||
|                  'street1Bets': 0, |                  'street1Bets': 0, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -5, |                  'totalProfit': -5, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': True, |                     'street1Aggr': True, | ||||||
|                     'street1Bets': 1, |                     'street1Bets': 1, | ||||||
|                     'street1CBChance': True, |                     'street1CBChance': True, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 50, |                     'totalProfit': 50, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -50, |                     'totalProfit': -50, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 2, |     'playersVpi': 2, | ||||||
|     'seats': 5, |     'seats': 5, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'25325990000', |     'siteHandNo': u'25325990000', | ||||||
|     'startTime': datetime.datetime(2010, 12, 20, 15, 0, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 12, 20, 15, 0, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': True, |                  'street0_4BChance': True, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': False, |                  'street1Aggr': False, | ||||||
|                  'street1Bets': 0, |                  'street1Bets': 0, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -7500, |                  'totalProfit': -7500, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -15000, |                     'totalProfit': -15000, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': True, |                     'street0_4BChance': True, | ||||||
|                     'street0_4BDone': True, |                     'street0_4BDone': True, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': True, |                     'street1Aggr': True, | ||||||
|                     'street1Bets': 1, |                     'street1Bets': 1, | ||||||
|                     'street1CBChance': True, |                     'street1CBChance': True, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -135000, |                     'totalProfit': -135000, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': True, |                     'street0_3BDone': True, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 157200, |                     'totalProfit': 157200, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -14,6 +14,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 1, |     'playersVpi': 1, | ||||||
|     'seats': 4, |     'seats': 4, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'25585334444', |     'siteHandNo': u'25585334444', | ||||||
|     'startTime': datetime.datetime(2010, 11, 15, 23, 8, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 11, 15, 23, 8, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -25000, |                     'totalProfit': -25000, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -12500, |                     'totalProfit': -12500, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 37500, |                     'totalProfit': 37500, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | (1, 'USD', 'ring', 'draw', 'fivedraw', 'fl', 'h', 5, 10, 10, 20) | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 0, | ||||||
|  |     'boardcard2': 0, | ||||||
|  |     'boardcard3': 0, | ||||||
|  |     'boardcard4': 0, | ||||||
|  |     'boardcard5': 0, | ||||||
|  |     'gametypeId': 1, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 6, | ||||||
|  |     'playersAtShowdown': 3, | ||||||
|  |     'playersAtStreet1': 4, | ||||||
|  |     'playersAtStreet2': 3, | ||||||
|  |     'playersAtStreet3': 3, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 4, | ||||||
|  |     'seats': 5, | ||||||
|  |     'sessionId': 1, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'25319060000', | ||||||
|  |     'startTime': datetime.datetime(2010, 11, 6, 16, 4, tzinfo=pytz.utc), | ||||||
|  |     'street0Raises': 1, | ||||||
|  |     'street1Pot': 0, | ||||||
|  |     'street1Raises': 2, | ||||||
|  |     'street2Pot': 0, | ||||||
|  |     'street2Raises': 0, | ||||||
|  |     'street3Pot': 0, | ||||||
|  |     'street3Raises': 0, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Shady Oak', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,515 @@ | ||||||
|  | {   u'Hero': {   'card1': 0, | ||||||
|  |                  'card2': 0, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 2, | ||||||
|  |                  'raiseFirstInChance': True, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 5, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 200, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 0, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player1': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 1, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': True, | ||||||
|  |                     'rake': 10, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 1, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 273, | ||||||
|  |                     'street0Aggr': True, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 130, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 190, | ||||||
|  |                     'wonAtSD': 1.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player2': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 0, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 2, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 404, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 0, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -60, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player3': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'S', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 3, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 188, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 1, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -60, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player4': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': True, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'B', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 4, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 200, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 1, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -20, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | (1, 'USD', 'ring', 'draw', 'fivedraw', 'nl', 'h', 25, 50, 50, 100) | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 0, | ||||||
|  |     'boardcard2': 0, | ||||||
|  |     'boardcard3': 0, | ||||||
|  |     'boardcard4': 0, | ||||||
|  |     'boardcard5': 0, | ||||||
|  |     'gametypeId': 117, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 6, | ||||||
|  |     'playersAtShowdown': 2, | ||||||
|  |     'playersAtStreet1': 4, | ||||||
|  |     'playersAtStreet2': 2, | ||||||
|  |     'playersAtStreet3': 2, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 4, | ||||||
|  |     'seats': 6, | ||||||
|  |     'sessionId': None, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'25340557279', | ||||||
|  |     'startTime': datetime.datetime(2010, 11, 7, 8, 0, 26, tzinfo=pytz.utc), | ||||||
|  |     'street0Raises': 1, | ||||||
|  |     'street1Pot': 0, | ||||||
|  |     'street1Raises': 1, | ||||||
|  |     'street2Pot': 0, | ||||||
|  |     'street2Raises': 0, | ||||||
|  |     'street3Pot': 0, | ||||||
|  |     'street3Raises': 0, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Calla Lily', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,618 @@ | ||||||
|  | {   u'Hero': {   'card1': 0, | ||||||
|  |                  'card2': 0, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 2, | ||||||
|  |                  'raiseFirstInChance': True, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 5, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 5000, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 0, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player1': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 0, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 60, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 1, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 5880, | ||||||
|  |                     'street0Aggr': True, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': True, | ||||||
|  |                     'street1CBDone': True, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 640, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 1140, | ||||||
|  |                     'wonAtSD': 1.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player2': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'S', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 2, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 6010, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 0, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': True, | ||||||
|  |                     'street2CheckCallRaiseDone': True, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -500, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player3': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': True, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'B', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 3, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 1860, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 1, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': True, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -100, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player4': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 3, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 4, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 3450, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player6': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': True, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 1, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 6, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 1815, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 2, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': 1, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': True, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -100, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 0, | ||||||
|  |     'boardcard2': 0, | ||||||
|  |     'boardcard3': 0, | ||||||
|  |     'boardcard4': 0, | ||||||
|  |     'boardcard5': 0, | ||||||
|  |     'gametypeId': 1, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 6, | ||||||
|  |     'playersAtShowdown': 2, | ||||||
|  |     'playersAtStreet1': 2, | ||||||
|  |     'playersAtStreet2': 2, | ||||||
|  |     'playersAtStreet3': 2, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 1, | ||||||
|  |     'seats': 4, | ||||||
|  |     'sessionId': None, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'25340539000', | ||||||
|  |     'startTime': datetime.datetime(2010, 11, 7, 7, 58, tzinfo=pytz.utc), | ||||||
|  |     'street0Raises': 0, | ||||||
|  |     'street1Pot': 0, | ||||||
|  |     'street1Raises': 1, | ||||||
|  |     'street2Pot': 0, | ||||||
|  |     'street2Raises': 0, | ||||||
|  |     'street3Pot': 0, | ||||||
|  |     'street3Raises': 0, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Axe Handle', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,412 @@ | ||||||
|  | {   u'Hero': {   'card1': 0, | ||||||
|  |                  'card2': 0, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': True, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 'B', | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': True, | ||||||
|  |                  'seatNo': 3, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 2713, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 1, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': True, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': True, | ||||||
|  |                  'street2CheckCallRaiseDone': True, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': True, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': True, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': -50, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player2': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'S', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 2, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 1470, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -10, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player4': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 1, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 5, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 4, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 800, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 55, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 105, | ||||||
|  |                     'wonAtSD': 1.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player6': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 0, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 6, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 2693, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | (1, 'USD', 'ring', 'draw', 'badugi', 'fl', 'l', 2, 5, 5, 10) | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 0, | ||||||
|  |     'boardcard2': 0, | ||||||
|  |     'boardcard3': 0, | ||||||
|  |     'boardcard4': 0, | ||||||
|  |     'boardcard5': 0, | ||||||
|  |     'gametypeId': 2, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 7, | ||||||
|  |     'playersAtShowdown': 3, | ||||||
|  |     'playersAtStreet1': 4, | ||||||
|  |     'playersAtStreet2': 4, | ||||||
|  |     'playersAtStreet3': 3, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 3, | ||||||
|  |     'seats': 7, | ||||||
|  |     'sessionId': None, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'25340585274', | ||||||
|  |     'startTime': datetime.datetime(2010, 11, 7, 8, 2, 56, tzinfo=pytz.utc), | ||||||
|  |     'street0Raises': 0, | ||||||
|  |     'street1Pot': 0, | ||||||
|  |     'street1Raises': 1, | ||||||
|  |     'street2Pot': 0, | ||||||
|  |     'street2Raises': 1, | ||||||
|  |     'street3Pot': 0, | ||||||
|  |     'street3Raises': 1, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Laurelvale', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,721 @@ | ||||||
|  | {   u'Hero': {   'card1': 0, | ||||||
|  |                  'card2': 0, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': True, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': True, | ||||||
|  |                  'otherRaisedStreet2': True, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 'B', | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 1, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 100, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 1, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': True, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': True, | ||||||
|  |                  'street2CheckCallRaiseDone': True, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': True, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': True, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': -10, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player2': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 4, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 2, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 275, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player3': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 3, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 3, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 345, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player4': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': True, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 2, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 5, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 4, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 90, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': True, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 1, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': True, | ||||||
|  |                     'street3Bets': 1, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': True, | ||||||
|  |                     'street3CheckCallRaiseDone': True, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 65, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 95, | ||||||
|  |                     'wonAtSD': 1.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player5': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': True, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 1, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 5, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 165, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': True, | ||||||
|  |                     'street2Bets': 1, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 1, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -30, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player6': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 0, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 6, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 236, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player7': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': True, | ||||||
|  |                     'otherRaisedStreet3': True, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'S', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': True, | ||||||
|  |                     'seatNo': 7, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 220, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 1, | ||||||
|  |                     'street2CheckCallRaiseChance': True, | ||||||
|  |                     'street2CheckCallRaiseDone': True, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 1, | ||||||
|  |                     'street3CheckCallRaiseChance': True, | ||||||
|  |                     'street3CheckCallRaiseDone': True, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -30, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
										
											Binary file not shown.
										
									
								
							|  | @ -0,0 +1 @@ | ||||||
|  | (1, 'USD', 'ring', 'hold', 'holdem', 'fl', 'h', 50, 100, 100, 200) | ||||||
|  | @ -0,0 +1,31 @@ | ||||||
|  | {   'boardcard1': 35, | ||||||
|  |     'boardcard2': 41, | ||||||
|  |     'boardcard3': 52, | ||||||
|  |     'boardcard4': 17, | ||||||
|  |     'boardcard5': 29, | ||||||
|  |     'gametypeId': 99, | ||||||
|  |     'importTime': None, | ||||||
|  |     'maxSeats': 9, | ||||||
|  |     'playersAtShowdown': 0, | ||||||
|  |     'playersAtStreet1': 3, | ||||||
|  |     'playersAtStreet2': 2, | ||||||
|  |     'playersAtStreet3': 2, | ||||||
|  |     'playersAtStreet4': 0, | ||||||
|  |     'playersVpi': 3, | ||||||
|  |     'seats': 7, | ||||||
|  |     'sessionId': 1, | ||||||
|  |     'showdownPot': 0, | ||||||
|  |     'siteHandNo': u'26321049583', | ||||||
|  |     'startTime': datetime.datetime(2010, 12, 12, 1, 26, 12, tzinfo=pytz.utc), | ||||||
|  |     'street0Raises': 1, | ||||||
|  |     'street1Pot': 1150, | ||||||
|  |     'street1Raises': 2, | ||||||
|  |     'street2Pot': 1550, | ||||||
|  |     'street2Raises': 1, | ||||||
|  |     'street3Pot': 1750, | ||||||
|  |     'street3Raises': 1, | ||||||
|  |     'street4Pot': 0, | ||||||
|  |     'street4Raises': 0, | ||||||
|  |     'tableName': u'Slaw', | ||||||
|  |     'texture': None, | ||||||
|  |     'tourneyId': None} | ||||||
|  | @ -0,0 +1,721 @@ | ||||||
|  | {   u'Hero': {   'card1': 47, | ||||||
|  |                  'card2': 9, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 3, | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 9, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 100, | ||||||
|  |                  'startCash': 7875, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': True, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 0, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player1': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': True, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': True, | ||||||
|  |                     'otherRaisedStreet3': True, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 2, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 1, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 2100, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 1, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 1, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 1, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': True, | ||||||
|  |                     'street3CheckCallRaiseDone': True, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -600, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player2': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 1, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 2, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 3150, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 0, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player3': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 0, | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 75, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 3, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 1950, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 1, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': True, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': True, | ||||||
|  |                     'street2Bets': 1, | ||||||
|  |                     'street2CBChance': True, | ||||||
|  |                     'street2CBDone': True, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': True, | ||||||
|  |                     'street3Aggr': True, | ||||||
|  |                     'street3Bets': 1, | ||||||
|  |                     'street3CBChance': True, | ||||||
|  |                     'street3CBDone': True, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': True, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': 875, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 1475, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 1.0, | ||||||
|  |                     'wonWhenSeenStreet2': 1.0, | ||||||
|  |                     'wonWhenSeenStreet3': 1.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player6': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'S', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 6, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 2000, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -50, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player7': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': False, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': False, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 'B', | ||||||
|  |                     'raiseFirstInChance': False, | ||||||
|  |                     'raisedFirstIn': False, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 7, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 4050, | ||||||
|  |                     'street0Aggr': False, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': False, | ||||||
|  |                     'street0_3BChance': True, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': False, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': False, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': False, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -100, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player8': {   'card1': 0, | ||||||
|  |                     'card2': 0, | ||||||
|  |                     'card3': 0, | ||||||
|  |                     'card4': 0, | ||||||
|  |                     'card5': 0, | ||||||
|  |                     'card6': 0, | ||||||
|  |                     'card7': 0, | ||||||
|  |                     'foldBbToStealChance': False, | ||||||
|  |                     'foldSbToStealChance': False, | ||||||
|  |                     'foldToOtherRaisedStreet0': False, | ||||||
|  |                     'foldToOtherRaisedStreet1': True, | ||||||
|  |                     'foldToOtherRaisedStreet2': False, | ||||||
|  |                     'foldToOtherRaisedStreet3': False, | ||||||
|  |                     'foldToOtherRaisedStreet4': False, | ||||||
|  |                     'foldToStreet1CBChance': False, | ||||||
|  |                     'foldToStreet1CBDone': False, | ||||||
|  |                     'foldToStreet2CBChance': False, | ||||||
|  |                     'foldToStreet2CBDone': False, | ||||||
|  |                     'foldToStreet3CBChance': False, | ||||||
|  |                     'foldToStreet3CBDone': False, | ||||||
|  |                     'foldToStreet4CBChance': False, | ||||||
|  |                     'foldToStreet4CBDone': False, | ||||||
|  |                     'foldedBbToSteal': False, | ||||||
|  |                     'foldedSbToSteal': False, | ||||||
|  |                     'other3BStreet0': False, | ||||||
|  |                     'other4BStreet0': False, | ||||||
|  |                     'otherRaisedStreet0': False, | ||||||
|  |                     'otherRaisedStreet1': True, | ||||||
|  |                     'otherRaisedStreet2': False, | ||||||
|  |                     'otherRaisedStreet3': False, | ||||||
|  |                     'otherRaisedStreet4': False, | ||||||
|  |                     'position': 4, | ||||||
|  |                     'raiseFirstInChance': True, | ||||||
|  |                     'raisedFirstIn': True, | ||||||
|  |                     'rake': 0, | ||||||
|  |                     'sawShowdown': False, | ||||||
|  |                     'seatNo': 8, | ||||||
|  |                     'sitout': False, | ||||||
|  |                     'startCards': 0, | ||||||
|  |                     'startCash': 7050, | ||||||
|  |                     'street0Aggr': True, | ||||||
|  |                     'street0Bets': 0, | ||||||
|  |                     'street0Calls': 0, | ||||||
|  |                     'street0Raises': 0, | ||||||
|  |                     'street0VPI': True, | ||||||
|  |                     'street0_3BChance': False, | ||||||
|  |                     'street0_3BDone': False, | ||||||
|  |                     'street0_4BChance': False, | ||||||
|  |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|  |                     'street1Aggr': False, | ||||||
|  |                     'street1Bets': 0, | ||||||
|  |                     'street1CBChance': True, | ||||||
|  |                     'street1CBDone': False, | ||||||
|  |                     'street1Calls': 0, | ||||||
|  |                     'street1CheckCallRaiseChance': False, | ||||||
|  |                     'street1CheckCallRaiseDone': False, | ||||||
|  |                     'street1Raises': 0, | ||||||
|  |                     'street1Seen': True, | ||||||
|  |                     'street2Aggr': False, | ||||||
|  |                     'street2Bets': 0, | ||||||
|  |                     'street2CBChance': False, | ||||||
|  |                     'street2CBDone': False, | ||||||
|  |                     'street2Calls': 0, | ||||||
|  |                     'street2CheckCallRaiseChance': True, | ||||||
|  |                     'street2CheckCallRaiseDone': False, | ||||||
|  |                     'street2Raises': 0, | ||||||
|  |                     'street2Seen': False, | ||||||
|  |                     'street3Aggr': False, | ||||||
|  |                     'street3Bets': 0, | ||||||
|  |                     'street3CBChance': False, | ||||||
|  |                     'street3CBDone': False, | ||||||
|  |                     'street3Calls': 0, | ||||||
|  |                     'street3CheckCallRaiseChance': False, | ||||||
|  |                     'street3CheckCallRaiseDone': False, | ||||||
|  |                     'street3Raises': 0, | ||||||
|  |                     'street3Seen': False, | ||||||
|  |                     'street4Aggr': False, | ||||||
|  |                     'street4Bets': 0, | ||||||
|  |                     'street4CBChance': False, | ||||||
|  |                     'street4CBDone': False, | ||||||
|  |                     'street4Calls': 0, | ||||||
|  |                     'street4CheckCallRaiseChance': False, | ||||||
|  |                     'street4CheckCallRaiseDone': False, | ||||||
|  |                     'street4Raises': 0, | ||||||
|  |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|  |                     'totalProfit': -200, | ||||||
|  |                     'tourneyTypeId': None, | ||||||
|  |                     'tourneysPlayersIds': None, | ||||||
|  |                     'winnings': 0, | ||||||
|  |                     'wonAtSD': 0.0, | ||||||
|  |                     'wonWhenSeenStreet1': 0.0, | ||||||
|  |                     'wonWhenSeenStreet2': 0.0, | ||||||
|  |                     'wonWhenSeenStreet3': 0.0, | ||||||
|  |                     'wonWhenSeenStreet4': 0.0}} | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 1, |     'playersVpi': 1, | ||||||
|     'seats': 6, |     'seats': 6, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'20000000801', |     'siteHandNo': u'20000000801', | ||||||
|     'startTime': datetime.datetime(2010, 8, 13, 19, 59, 2, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 8, 13, 19, 59, 2, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -1,4 +1,107 @@ | ||||||
| {   u'Player1': {   'card1': 0, | {   u'Hero': {   'card1': 1, | ||||||
|  |                  'card2': 34, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': True, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': True, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 'B', | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 5, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 8, | ||||||
|  |                  'startCash': 200, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': True, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': -2, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 0, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Player1': {   'card1': 0, | ||||||
|                     'card2': 0, |                     'card2': 0, | ||||||
|                     'card3': 0, |                     'card3': 0, | ||||||
|                     'card4': 0, |                     'card4': 0, | ||||||
|  | @ -47,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -83,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 3, |                     'totalProfit': 3, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -1, |                     'totalProfit': -1, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -374,100 +513,6 @@ | ||||||
|                     'wonWhenSeenStreet2': 0.0, |                     'wonWhenSeenStreet2': 0.0, | ||||||
|                     'wonWhenSeenStreet3': 0.0, |                     'wonWhenSeenStreet3': 0.0, | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|     u'Hero': {   'card1': 1, |  | ||||||
|                     'card2': 34, |  | ||||||
|                     'card3': 0, |  | ||||||
|                     'card4': 0, |  | ||||||
|                     'card5': 0, |  | ||||||
|                     'card6': 0, |  | ||||||
|                     'card7': 0, |  | ||||||
|                     'foldBbToStealChance': True, |  | ||||||
|                     'foldSbToStealChance': False, |  | ||||||
|                     'foldToOtherRaisedStreet0': False, |  | ||||||
|                     'foldToOtherRaisedStreet1': False, |  | ||||||
|                     'foldToOtherRaisedStreet2': False, |  | ||||||
|                     'foldToOtherRaisedStreet3': False, |  | ||||||
|                     'foldToOtherRaisedStreet4': False, |  | ||||||
|                     'foldToStreet1CBChance': False, |  | ||||||
|                     'foldToStreet1CBDone': False, |  | ||||||
|                     'foldToStreet2CBChance': False, |  | ||||||
|                     'foldToStreet2CBDone': False, |  | ||||||
|                     'foldToStreet3CBChance': False, |  | ||||||
|                     'foldToStreet3CBDone': False, |  | ||||||
|                     'foldToStreet4CBChance': False, |  | ||||||
|                     'foldToStreet4CBDone': False, |  | ||||||
|                     'foldedBbToSteal': True, |  | ||||||
|                     'foldedSbToSteal': False, |  | ||||||
|                     'other3BStreet0': False, |  | ||||||
|                     'other4BStreet0': False, |  | ||||||
|                     'otherRaisedStreet0': False, |  | ||||||
|                     'otherRaisedStreet1': False, |  | ||||||
|                     'otherRaisedStreet2': False, |  | ||||||
|                     'otherRaisedStreet3': False, |  | ||||||
|                     'otherRaisedStreet4': False, |  | ||||||
|                     'position': 'B', |  | ||||||
|                     'raiseFirstInChance': False, |  | ||||||
|                     'raisedFirstIn': False, |  | ||||||
|                     'rake': 0, |  | ||||||
|                     'sawShowdown': False, |  | ||||||
|                     'seatNo': 5, |  | ||||||
|                     'sitout': False, |  | ||||||
|                     'startCards': 8, |  | ||||||
|                     'startCash': 200, |  | ||||||
|                     'street0Aggr': False, |  | ||||||
|                     'street0Bets': 0, |  | ||||||
|                     'street0Calls': 0, |  | ||||||
|                     'street0Raises': 0, |  | ||||||
|                     'street0VPI': False, |  | ||||||
|                     'street0_3BChance': True, |  | ||||||
|                     'street0_3BDone': False, |  | ||||||
|                     'street0_4BChance': False, |  | ||||||
|                     'street0_4BDone': False, |  | ||||||
|                     'street1Aggr': False, |  | ||||||
|                     'street1Bets': 0, |  | ||||||
|                     'street1CBChance': False, |  | ||||||
|                     'street1CBDone': False, |  | ||||||
|                     'street1Calls': 0, |  | ||||||
|                     'street1CheckCallRaiseChance': False, |  | ||||||
|                     'street1CheckCallRaiseDone': False, |  | ||||||
|                     'street1Raises': 0, |  | ||||||
|                     'street1Seen': False, |  | ||||||
|                     'street2Aggr': False, |  | ||||||
|                     'street2Bets': 0, |  | ||||||
|                     'street2CBChance': False, |  | ||||||
|                     'street2CBDone': False, |  | ||||||
|                     'street2Calls': 0, |  | ||||||
|                     'street2CheckCallRaiseChance': False, |  | ||||||
|                     'street2CheckCallRaiseDone': False, |  | ||||||
|                     'street2Raises': 0, |  | ||||||
|                     'street2Seen': False, |  | ||||||
|                     'street3Aggr': False, |  | ||||||
|                     'street3Bets': 0, |  | ||||||
|                     'street3CBChance': False, |  | ||||||
|                     'street3CBDone': False, |  | ||||||
|                     'street3Calls': 0, |  | ||||||
|                     'street3CheckCallRaiseChance': False, |  | ||||||
|                     'street3CheckCallRaiseDone': False, |  | ||||||
|                     'street3Raises': 0, |  | ||||||
|                     'street3Seen': False, |  | ||||||
|                     'street4Aggr': False, |  | ||||||
|                     'street4Bets': 0, |  | ||||||
|                     'street4CBChance': False, |  | ||||||
|                     'street4CBDone': False, |  | ||||||
|                     'street4Calls': 0, |  | ||||||
|                     'street4CheckCallRaiseChance': False, |  | ||||||
|                     'street4CheckCallRaiseDone': False, |  | ||||||
|                     'street4Raises': 0, |  | ||||||
|                     'street4Seen': False, |  | ||||||
|                     'totalProfit': -2, |  | ||||||
|                     'tourneyTypeId': None, |  | ||||||
|                     'tourneysPlayersIds': None, |  | ||||||
|                     'winnings': 0, |  | ||||||
|                     'wonAtSD': 0.0, |  | ||||||
|                     'wonWhenSeenStreet1': 0.0, |  | ||||||
|                     'wonWhenSeenStreet2': 0.0, |  | ||||||
|                     'wonWhenSeenStreet3': 0.0, |  | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'Player6': {   'card1': 0, |     u'Player6': {   'card1': 0, | ||||||
|                     'card2': 0, |                     'card2': 0, | ||||||
|                     'card3': 0, |                     'card3': 0, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 0, |     'playersVpi': 0, | ||||||
|     'seats': 9, |     'seats': 9, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'22488827305', |     'siteHandNo': u'22488827305', | ||||||
|     'startTime': datetime.datetime(2010, 7, 21, 19, 13, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 7, 21, 19, 13, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -1,4 +1,107 @@ | ||||||
| {   u'MANUTD': {   'card1': 0, | {   u'Hero': {   'card1': 50, | ||||||
|  |                  'card2': 16, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 'B', | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 6, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 37, | ||||||
|  |                  'startCash': 200, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 2, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 4, | ||||||
|  |                  'wonAtSD': 0.0, | ||||||
|  |                  'wonWhenSeenStreet1': 0.0, | ||||||
|  |                  'wonWhenSeenStreet2': 0.0, | ||||||
|  |                  'wonWhenSeenStreet3': 0.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'MANUTD': {   'card1': 0, | ||||||
|                    'card2': 0, |                    'card2': 0, | ||||||
|                    'card3': 0, |                    'card3': 0, | ||||||
|                    'card4': 0, |                    'card4': 0, | ||||||
|  | @ -47,6 +150,14 @@ | ||||||
|                    'street0_3BDone': False, |                    'street0_3BDone': False, | ||||||
|                    'street0_4BChance': False, |                    'street0_4BChance': False, | ||||||
|                    'street0_4BDone': False, |                    'street0_4BDone': False, | ||||||
|  |                    'street0_C4BChance': False, | ||||||
|  |                    'street0_C4BDone': False, | ||||||
|  |                    'street0_FoldTo3BChance': False, | ||||||
|  |                    'street0_FoldTo3BDone': False, | ||||||
|  |                    'street0_FoldTo4BChance': False, | ||||||
|  |                    'street0_FoldTo4BDone': False, | ||||||
|  |                    'street0_SqueezeChance': False, | ||||||
|  |                    'street0_SqueezeDone': False, | ||||||
|                    'street1Aggr': False, |                    'street1Aggr': False, | ||||||
|                    'street1Bets': 0, |                    'street1Bets': 0, | ||||||
|                    'street1CBChance': False, |                    'street1CBChance': False, | ||||||
|  | @ -83,6 +194,7 @@ | ||||||
|                    'street4CheckCallRaiseDone': False, |                    'street4CheckCallRaiseDone': False, | ||||||
|                    'street4Raises': 0, |                    'street4Raises': 0, | ||||||
|                    'street4Seen': False, |                    'street4Seen': False, | ||||||
|  |                    'success_Steal': False, | ||||||
|                    'totalProfit': -2, |                    'totalProfit': -2, | ||||||
|                    'tourneyTypeId': None, |                    'tourneyTypeId': None, | ||||||
|                    'tourneysPlayersIds': None, |                    'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +253,14 @@ | ||||||
|                   'street0_3BDone': False, |                   'street0_3BDone': False, | ||||||
|                   'street0_4BChance': False, |                   'street0_4BChance': False, | ||||||
|                   'street0_4BDone': False, |                   'street0_4BDone': False, | ||||||
|  |                   'street0_C4BChance': False, | ||||||
|  |                   'street0_C4BDone': False, | ||||||
|  |                   'street0_FoldTo3BChance': False, | ||||||
|  |                   'street0_FoldTo3BDone': False, | ||||||
|  |                   'street0_FoldTo4BChance': False, | ||||||
|  |                   'street0_FoldTo4BDone': False, | ||||||
|  |                   'street0_SqueezeChance': False, | ||||||
|  |                   'street0_SqueezeDone': False, | ||||||
|                   'street1Aggr': False, |                   'street1Aggr': False, | ||||||
|                   'street1Bets': 0, |                   'street1Bets': 0, | ||||||
|                   'street1CBChance': False, |                   'street1CBChance': False, | ||||||
|  | @ -177,6 +297,7 @@ | ||||||
|                   'street4CheckCallRaiseDone': False, |                   'street4CheckCallRaiseDone': False, | ||||||
|                   'street4Raises': 0, |                   'street4Raises': 0, | ||||||
|                   'street4Seen': False, |                   'street4Seen': False, | ||||||
|  |                   'success_Steal': False, | ||||||
|                   'totalProfit': 0, |                   'totalProfit': 0, | ||||||
|                   'tourneyTypeId': None, |                   'tourneyTypeId': None, | ||||||
|                   'tourneysPlayersIds': None, |                   'tourneysPlayersIds': None, | ||||||
|  | @ -186,100 +307,6 @@ | ||||||
|                   'wonWhenSeenStreet2': 0.0, |                   'wonWhenSeenStreet2': 0.0, | ||||||
|                   'wonWhenSeenStreet3': 0.0, |                   'wonWhenSeenStreet3': 0.0, | ||||||
|                   'wonWhenSeenStreet4': 0.0}, |                   'wonWhenSeenStreet4': 0.0}, | ||||||
|     u'Hero': {   'card1': 50, |  | ||||||
|                    'card2': 16, |  | ||||||
|                    'card3': 0, |  | ||||||
|                    'card4': 0, |  | ||||||
|                    'card5': 0, |  | ||||||
|                    'card6': 0, |  | ||||||
|                    'card7': 0, |  | ||||||
|                    'foldBbToStealChance': False, |  | ||||||
|                    'foldSbToStealChance': False, |  | ||||||
|                    'foldToOtherRaisedStreet0': False, |  | ||||||
|                    'foldToOtherRaisedStreet1': False, |  | ||||||
|                    'foldToOtherRaisedStreet2': False, |  | ||||||
|                    'foldToOtherRaisedStreet3': False, |  | ||||||
|                    'foldToOtherRaisedStreet4': False, |  | ||||||
|                    'foldToStreet1CBChance': False, |  | ||||||
|                    'foldToStreet1CBDone': False, |  | ||||||
|                    'foldToStreet2CBChance': False, |  | ||||||
|                    'foldToStreet2CBDone': False, |  | ||||||
|                    'foldToStreet3CBChance': False, |  | ||||||
|                    'foldToStreet3CBDone': False, |  | ||||||
|                    'foldToStreet4CBChance': False, |  | ||||||
|                    'foldToStreet4CBDone': False, |  | ||||||
|                    'foldedBbToSteal': False, |  | ||||||
|                    'foldedSbToSteal': False, |  | ||||||
|                    'other3BStreet0': False, |  | ||||||
|                    'other4BStreet0': False, |  | ||||||
|                    'otherRaisedStreet0': False, |  | ||||||
|                    'otherRaisedStreet1': False, |  | ||||||
|                    'otherRaisedStreet2': False, |  | ||||||
|                    'otherRaisedStreet3': False, |  | ||||||
|                    'otherRaisedStreet4': False, |  | ||||||
|                    'position': 'B', |  | ||||||
|                    'raiseFirstInChance': False, |  | ||||||
|                    'raisedFirstIn': False, |  | ||||||
|                    'rake': 0, |  | ||||||
|                    'sawShowdown': False, |  | ||||||
|                    'seatNo': 6, |  | ||||||
|                    'sitout': False, |  | ||||||
|                    'startCards': 37, |  | ||||||
|                    'startCash': 200, |  | ||||||
|                    'street0Aggr': False, |  | ||||||
|                    'street0Bets': 0, |  | ||||||
|                    'street0Calls': 0, |  | ||||||
|                    'street0Raises': 0, |  | ||||||
|                    'street0VPI': False, |  | ||||||
|                    'street0_3BChance': False, |  | ||||||
|                    'street0_3BDone': False, |  | ||||||
|                    'street0_4BChance': False, |  | ||||||
|                    'street0_4BDone': False, |  | ||||||
|                    'street1Aggr': False, |  | ||||||
|                    'street1Bets': 0, |  | ||||||
|                    'street1CBChance': False, |  | ||||||
|                    'street1CBDone': False, |  | ||||||
|                    'street1Calls': 0, |  | ||||||
|                    'street1CheckCallRaiseChance': False, |  | ||||||
|                    'street1CheckCallRaiseDone': False, |  | ||||||
|                    'street1Raises': 0, |  | ||||||
|                    'street1Seen': False, |  | ||||||
|                    'street2Aggr': False, |  | ||||||
|                    'street2Bets': 0, |  | ||||||
|                    'street2CBChance': False, |  | ||||||
|                    'street2CBDone': False, |  | ||||||
|                    'street2Calls': 0, |  | ||||||
|                    'street2CheckCallRaiseChance': False, |  | ||||||
|                    'street2CheckCallRaiseDone': False, |  | ||||||
|                    'street2Raises': 0, |  | ||||||
|                    'street2Seen': False, |  | ||||||
|                    'street3Aggr': False, |  | ||||||
|                    'street3Bets': 0, |  | ||||||
|                    'street3CBChance': False, |  | ||||||
|                    'street3CBDone': False, |  | ||||||
|                    'street3Calls': 0, |  | ||||||
|                    'street3CheckCallRaiseChance': False, |  | ||||||
|                    'street3CheckCallRaiseDone': False, |  | ||||||
|                    'street3Raises': 0, |  | ||||||
|                    'street3Seen': False, |  | ||||||
|                    'street4Aggr': False, |  | ||||||
|                    'street4Bets': 0, |  | ||||||
|                    'street4CBChance': False, |  | ||||||
|                    'street4CBDone': False, |  | ||||||
|                    'street4Calls': 0, |  | ||||||
|                    'street4CheckCallRaiseChance': False, |  | ||||||
|                    'street4CheckCallRaiseDone': False, |  | ||||||
|                    'street4Raises': 0, |  | ||||||
|                    'street4Seen': False, |  | ||||||
|                    'totalProfit': 2, |  | ||||||
|                    'tourneyTypeId': None, |  | ||||||
|                    'tourneysPlayersIds': None, |  | ||||||
|                    'winnings': 4, |  | ||||||
|                    'wonAtSD': 0.0, |  | ||||||
|                    'wonWhenSeenStreet1': 0.0, |  | ||||||
|                    'wonWhenSeenStreet2': 0.0, |  | ||||||
|                    'wonWhenSeenStreet3': 0.0, |  | ||||||
|                    'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'proud2Bwhack': {   'card1': 0, |     u'proud2Bwhack': {   'card1': 0, | ||||||
|                          'card2': 0, |                          'card2': 0, | ||||||
|                          'card3': 0, |                          'card3': 0, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                          'street0_3BDone': False, |                          'street0_3BDone': False, | ||||||
|                          'street0_4BChance': False, |                          'street0_4BChance': False, | ||||||
|                          'street0_4BDone': False, |                          'street0_4BDone': False, | ||||||
|  |                          'street0_C4BChance': False, | ||||||
|  |                          'street0_C4BDone': False, | ||||||
|  |                          'street0_FoldTo3BChance': False, | ||||||
|  |                          'street0_FoldTo3BDone': False, | ||||||
|  |                          'street0_FoldTo4BChance': False, | ||||||
|  |                          'street0_FoldTo4BDone': False, | ||||||
|  |                          'street0_SqueezeChance': False, | ||||||
|  |                          'street0_SqueezeDone': False, | ||||||
|                          'street1Aggr': False, |                          'street1Aggr': False, | ||||||
|                          'street1Bets': 0, |                          'street1Bets': 0, | ||||||
|                          'street1CBChance': False, |                          'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                          'street4CheckCallRaiseDone': False, |                          'street4CheckCallRaiseDone': False, | ||||||
|                          'street4Raises': 0, |                          'street4Raises': 0, | ||||||
|                          'street4Seen': False, |                          'street4Seen': False, | ||||||
|  |                          'success_Steal': False, | ||||||
|                          'totalProfit': 0, |                          'totalProfit': 0, | ||||||
|                          'tourneyTypeId': None, |                          'tourneyTypeId': None, | ||||||
|                          'tourneysPlayersIds': None, |                          'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                         'street0_3BDone': False, |                         'street0_3BDone': False, | ||||||
|                         'street0_4BChance': False, |                         'street0_4BChance': False, | ||||||
|                         'street0_4BDone': False, |                         'street0_4BDone': False, | ||||||
|  |                         'street0_C4BChance': False, | ||||||
|  |                         'street0_C4BDone': False, | ||||||
|  |                         'street0_FoldTo3BChance': False, | ||||||
|  |                         'street0_FoldTo3BDone': False, | ||||||
|  |                         'street0_FoldTo4BChance': False, | ||||||
|  |                         'street0_FoldTo4BDone': False, | ||||||
|  |                         'street0_SqueezeChance': False, | ||||||
|  |                         'street0_SqueezeDone': False, | ||||||
|                         'street1Aggr': False, |                         'street1Aggr': False, | ||||||
|                         'street1Bets': 0, |                         'street1Bets': 0, | ||||||
|                         'street1CBChance': False, |                         'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                         'street4CheckCallRaiseDone': False, |                         'street4CheckCallRaiseDone': False, | ||||||
|                         'street4Raises': 0, |                         'street4Raises': 0, | ||||||
|                         'street4Seen': False, |                         'street4Seen': False, | ||||||
|  |                         'success_Steal': False, | ||||||
|                         'totalProfit': 0, |                         'totalProfit': 0, | ||||||
|                         'tourneyTypeId': None, |                         'tourneyTypeId': None, | ||||||
|                         'tourneysPlayersIds': None, |                         'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                      'street0_3BDone': False, |                      'street0_3BDone': False, | ||||||
|                      'street0_4BChance': False, |                      'street0_4BChance': False, | ||||||
|                      'street0_4BDone': False, |                      'street0_4BDone': False, | ||||||
|  |                      'street0_C4BChance': False, | ||||||
|  |                      'street0_C4BDone': False, | ||||||
|  |                      'street0_FoldTo3BChance': False, | ||||||
|  |                      'street0_FoldTo3BDone': False, | ||||||
|  |                      'street0_FoldTo4BChance': False, | ||||||
|  |                      'street0_FoldTo4BDone': False, | ||||||
|  |                      'street0_SqueezeChance': False, | ||||||
|  |                      'street0_SqueezeDone': False, | ||||||
|                      'street1Aggr': False, |                      'street1Aggr': False, | ||||||
|                      'street1Bets': 0, |                      'street1Bets': 0, | ||||||
|                      'street1CBChance': False, |                      'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                      'street4CheckCallRaiseDone': False, |                      'street4CheckCallRaiseDone': False, | ||||||
|                      'street4Raises': 0, |                      'street4Raises': 0, | ||||||
|                      'street4Seen': False, |                      'street4Seen': False, | ||||||
|  |                      'success_Steal': False, | ||||||
|                      'totalProfit': 0, |                      'totalProfit': 0, | ||||||
|                      'tourneyTypeId': None, |                      'tourneyTypeId': None, | ||||||
|                      'tourneysPlayersIds': None, |                      'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -705,6 +768,14 @@ | ||||||
|                    'street0_3BDone': False, |                    'street0_3BDone': False, | ||||||
|                    'street0_4BChance': False, |                    'street0_4BChance': False, | ||||||
|                    'street0_4BDone': False, |                    'street0_4BDone': False, | ||||||
|  |                    'street0_C4BChance': False, | ||||||
|  |                    'street0_C4BDone': False, | ||||||
|  |                    'street0_FoldTo3BChance': False, | ||||||
|  |                    'street0_FoldTo3BDone': False, | ||||||
|  |                    'street0_FoldTo4BChance': False, | ||||||
|  |                    'street0_FoldTo4BDone': False, | ||||||
|  |                    'street0_SqueezeChance': False, | ||||||
|  |                    'street0_SqueezeDone': False, | ||||||
|                    'street1Aggr': False, |                    'street1Aggr': False, | ||||||
|                    'street1Bets': 0, |                    'street1Bets': 0, | ||||||
|                    'street1CBChance': False, |                    'street1CBChance': False, | ||||||
|  | @ -741,6 +812,7 @@ | ||||||
|                    'street4CheckCallRaiseDone': False, |                    'street4CheckCallRaiseDone': False, | ||||||
|                    'street4Raises': 0, |                    'street4Raises': 0, | ||||||
|                    'street4Seen': False, |                    'street4Seen': False, | ||||||
|  |                    'success_Steal': False, | ||||||
|                    'totalProfit': 0, |                    'totalProfit': 0, | ||||||
|                    'tourneyTypeId': None, |                    'tourneyTypeId': None, | ||||||
|                    'tourneysPlayersIds': None, |                    'tourneysPlayersIds': None, | ||||||
|  | @ -799,6 +871,14 @@ | ||||||
|                       'street0_3BDone': False, |                       'street0_3BDone': False, | ||||||
|                       'street0_4BChance': False, |                       'street0_4BChance': False, | ||||||
|                       'street0_4BDone': False, |                       'street0_4BDone': False, | ||||||
|  |                       'street0_C4BChance': False, | ||||||
|  |                       'street0_C4BDone': False, | ||||||
|  |                       'street0_FoldTo3BChance': False, | ||||||
|  |                       'street0_FoldTo3BDone': False, | ||||||
|  |                       'street0_FoldTo4BChance': False, | ||||||
|  |                       'street0_FoldTo4BDone': False, | ||||||
|  |                       'street0_SqueezeChance': False, | ||||||
|  |                       'street0_SqueezeDone': False, | ||||||
|                       'street1Aggr': False, |                       'street1Aggr': False, | ||||||
|                       'street1Bets': 0, |                       'street1Bets': 0, | ||||||
|                       'street1CBChance': False, |                       'street1CBChance': False, | ||||||
|  | @ -835,6 +915,7 @@ | ||||||
|                       'street4CheckCallRaiseDone': False, |                       'street4CheckCallRaiseDone': False, | ||||||
|                       'street4Raises': 0, |                       'street4Raises': 0, | ||||||
|                       'street4Seen': False, |                       'street4Seen': False, | ||||||
|  |                       'success_Steal': False, | ||||||
|                       'totalProfit': 0, |                       'totalProfit': 0, | ||||||
|                       'tourneyTypeId': None, |                       'tourneyTypeId': None, | ||||||
|                       'tourneysPlayersIds': None, |                       'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 3, |     'playersVpi': 3, | ||||||
|     'seats': 6, |     'seats': 6, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'18932478237', |     'siteHandNo': u'18932478237', | ||||||
|     'startTime': datetime.datetime(2010, 3, 3, 16, 37, 56, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 3, 3, 16, 37, 56, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                        'street0_3BDone': False, |                        'street0_3BDone': False, | ||||||
|                        'street0_4BChance': False, |                        'street0_4BChance': False, | ||||||
|                        'street0_4BDone': False, |                        'street0_4BDone': False, | ||||||
|  |                        'street0_C4BChance': False, | ||||||
|  |                        'street0_C4BDone': False, | ||||||
|  |                        'street0_FoldTo3BChance': False, | ||||||
|  |                        'street0_FoldTo3BDone': False, | ||||||
|  |                        'street0_FoldTo4BChance': False, | ||||||
|  |                        'street0_FoldTo4BDone': False, | ||||||
|  |                        'street0_SqueezeChance': False, | ||||||
|  |                        'street0_SqueezeDone': False, | ||||||
|                        'street1Aggr': False, |                        'street1Aggr': False, | ||||||
|                        'street1Bets': 0, |                        'street1Bets': 0, | ||||||
|                        'street1CBChance': False, |                        'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                        'street4CheckCallRaiseDone': False, |                        'street4CheckCallRaiseDone': False, | ||||||
|                        'street4Raises': 0, |                        'street4Raises': 0, | ||||||
|                        'street4Seen': False, |                        'street4Seen': False, | ||||||
|  |                        'success_Steal': False, | ||||||
|                        'totalProfit': -2, |                        'totalProfit': -2, | ||||||
|                        'tourneyTypeId': None, |                        'tourneyTypeId': None, | ||||||
|                        'tourneysPlayersIds': None, |                        'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                         'street0_3BDone': False, |                         'street0_3BDone': False, | ||||||
|                         'street0_4BChance': False, |                         'street0_4BChance': False, | ||||||
|                         'street0_4BDone': False, |                         'street0_4BDone': False, | ||||||
|  |                         'street0_C4BChance': False, | ||||||
|  |                         'street0_C4BDone': False, | ||||||
|  |                         'street0_FoldTo3BChance': False, | ||||||
|  |                         'street0_FoldTo3BDone': False, | ||||||
|  |                         'street0_FoldTo4BChance': False, | ||||||
|  |                         'street0_FoldTo4BDone': False, | ||||||
|  |                         'street0_SqueezeChance': False, | ||||||
|  |                         'street0_SqueezeDone': False, | ||||||
|                         'street1Aggr': False, |                         'street1Aggr': False, | ||||||
|                         'street1Bets': 0, |                         'street1Bets': 0, | ||||||
|                         'street1CBChance': False, |                         'street1CBChance': False, | ||||||
|  | @ -177,6 +194,110 @@ | ||||||
|                         'street4CheckCallRaiseDone': False, |                         'street4CheckCallRaiseDone': False, | ||||||
|                         'street4Raises': 0, |                         'street4Raises': 0, | ||||||
|                         'street4Seen': False, |                         'street4Seen': False, | ||||||
|  |                         'success_Steal': False, | ||||||
|  |                         'totalProfit': 0, | ||||||
|  |                         'tourneyTypeId': None, | ||||||
|  |                         'tourneysPlayersIds': None, | ||||||
|  |                         'winnings': 0, | ||||||
|  |                         'wonAtSD': 0.0, | ||||||
|  |                         'wonWhenSeenStreet1': 0.0, | ||||||
|  |                         'wonWhenSeenStreet2': 0.0, | ||||||
|  |                         'wonWhenSeenStreet3': 0.0, | ||||||
|  |                         'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Hero': {   'card1': 15, | ||||||
|  |                  'card2': 10, | ||||||
|  |                  'card3': 42, | ||||||
|  |                  'card4': 25, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 0, | ||||||
|  |                  'raiseFirstInChance': False, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 1, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 209, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': 0, |                  'totalProfit': 0, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +356,14 @@ | ||||||
|                    'street0_3BDone': False, |                    'street0_3BDone': False, | ||||||
|                    'street0_4BChance': False, |                    'street0_4BChance': False, | ||||||
|                    'street0_4BDone': False, |                    'street0_4BDone': False, | ||||||
|  |                    'street0_C4BChance': False, | ||||||
|  |                    'street0_C4BDone': False, | ||||||
|  |                    'street0_FoldTo3BChance': False, | ||||||
|  |                    'street0_FoldTo3BDone': False, | ||||||
|  |                    'street0_FoldTo4BChance': False, | ||||||
|  |                    'street0_FoldTo4BDone': False, | ||||||
|  |                    'street0_SqueezeChance': False, | ||||||
|  |                    'street0_SqueezeDone': False, | ||||||
|                    'street1Aggr': False, |                    'street1Aggr': False, | ||||||
|                    'street1Bets': 0, |                    'street1Bets': 0, | ||||||
|                    'street1CBChance': False, |                    'street1CBChance': False, | ||||||
|  | @ -271,6 +400,7 @@ | ||||||
|                    'street4CheckCallRaiseDone': False, |                    'street4CheckCallRaiseDone': False, | ||||||
|                    'street4Raises': 0, |                    'street4Raises': 0, | ||||||
|                    'street4Seen': False, |                    'street4Seen': False, | ||||||
|  |                    'success_Steal': False, | ||||||
|                    'totalProfit': -16, |                    'totalProfit': -16, | ||||||
|                    'tourneyTypeId': None, |                    'tourneyTypeId': None, | ||||||
|                    'tourneysPlayersIds': None, |                    'tourneysPlayersIds': None, | ||||||
|  | @ -280,100 +410,6 @@ | ||||||
|                    'wonWhenSeenStreet2': 0.0, |                    'wonWhenSeenStreet2': 0.0, | ||||||
|                    'wonWhenSeenStreet3': 0.0, |                    'wonWhenSeenStreet3': 0.0, | ||||||
|                    'wonWhenSeenStreet4': 0.0}, |                    'wonWhenSeenStreet4': 0.0}, | ||||||
|     u'Hero': {   'card1': 15, |  | ||||||
|                       'card2': 10, |  | ||||||
|                       'card3': 42, |  | ||||||
|                       'card4': 25, |  | ||||||
|                       'card5': 0, |  | ||||||
|                       'card6': 0, |  | ||||||
|                       'card7': 0, |  | ||||||
|                       'foldBbToStealChance': False, |  | ||||||
|                       'foldSbToStealChance': False, |  | ||||||
|                       'foldToOtherRaisedStreet0': False, |  | ||||||
|                       'foldToOtherRaisedStreet1': False, |  | ||||||
|                       'foldToOtherRaisedStreet2': False, |  | ||||||
|                       'foldToOtherRaisedStreet3': False, |  | ||||||
|                       'foldToOtherRaisedStreet4': False, |  | ||||||
|                       'foldToStreet1CBChance': False, |  | ||||||
|                       'foldToStreet1CBDone': False, |  | ||||||
|                       'foldToStreet2CBChance': False, |  | ||||||
|                       'foldToStreet2CBDone': False, |  | ||||||
|                       'foldToStreet3CBChance': False, |  | ||||||
|                       'foldToStreet3CBDone': False, |  | ||||||
|                       'foldToStreet4CBChance': False, |  | ||||||
|                       'foldToStreet4CBDone': False, |  | ||||||
|                       'foldedBbToSteal': False, |  | ||||||
|                       'foldedSbToSteal': False, |  | ||||||
|                       'other3BStreet0': False, |  | ||||||
|                       'other4BStreet0': False, |  | ||||||
|                       'otherRaisedStreet0': False, |  | ||||||
|                       'otherRaisedStreet1': False, |  | ||||||
|                       'otherRaisedStreet2': False, |  | ||||||
|                       'otherRaisedStreet3': False, |  | ||||||
|                       'otherRaisedStreet4': False, |  | ||||||
|                       'position': 0, |  | ||||||
|                       'raiseFirstInChance': False, |  | ||||||
|                       'raisedFirstIn': False, |  | ||||||
|                       'rake': 0, |  | ||||||
|                       'sawShowdown': False, |  | ||||||
|                       'seatNo': 1, |  | ||||||
|                       'sitout': False, |  | ||||||
|                       'startCards': 0, |  | ||||||
|                       'startCash': 209, |  | ||||||
|                       'street0Aggr': False, |  | ||||||
|                       'street0Bets': 0, |  | ||||||
|                       'street0Calls': 0, |  | ||||||
|                       'street0Raises': 0, |  | ||||||
|                       'street0VPI': False, |  | ||||||
|                       'street0_3BChance': False, |  | ||||||
|                       'street0_3BDone': False, |  | ||||||
|                       'street0_4BChance': False, |  | ||||||
|                       'street0_4BDone': False, |  | ||||||
|                       'street1Aggr': False, |  | ||||||
|                       'street1Bets': 0, |  | ||||||
|                       'street1CBChance': False, |  | ||||||
|                       'street1CBDone': False, |  | ||||||
|                       'street1Calls': 0, |  | ||||||
|                       'street1CheckCallRaiseChance': False, |  | ||||||
|                       'street1CheckCallRaiseDone': False, |  | ||||||
|                       'street1Raises': 0, |  | ||||||
|                       'street1Seen': False, |  | ||||||
|                       'street2Aggr': False, |  | ||||||
|                       'street2Bets': 0, |  | ||||||
|                       'street2CBChance': False, |  | ||||||
|                       'street2CBDone': False, |  | ||||||
|                       'street2Calls': 0, |  | ||||||
|                       'street2CheckCallRaiseChance': False, |  | ||||||
|                       'street2CheckCallRaiseDone': False, |  | ||||||
|                       'street2Raises': 0, |  | ||||||
|                       'street2Seen': False, |  | ||||||
|                       'street3Aggr': False, |  | ||||||
|                       'street3Bets': 0, |  | ||||||
|                       'street3CBChance': False, |  | ||||||
|                       'street3CBDone': False, |  | ||||||
|                       'street3Calls': 0, |  | ||||||
|                       'street3CheckCallRaiseChance': False, |  | ||||||
|                       'street3CheckCallRaiseDone': False, |  | ||||||
|                       'street3Raises': 0, |  | ||||||
|                       'street3Seen': False, |  | ||||||
|                       'street4Aggr': False, |  | ||||||
|                       'street4Bets': 0, |  | ||||||
|                       'street4CBChance': False, |  | ||||||
|                       'street4CBDone': False, |  | ||||||
|                       'street4Calls': 0, |  | ||||||
|                       'street4CheckCallRaiseChance': False, |  | ||||||
|                       'street4CheckCallRaiseDone': False, |  | ||||||
|                       'street4Raises': 0, |  | ||||||
|                       'street4Seen': False, |  | ||||||
|                       'totalProfit': 0, |  | ||||||
|                       'tourneyTypeId': None, |  | ||||||
|                       'tourneysPlayersIds': None, |  | ||||||
|                       'winnings': 0, |  | ||||||
|                       'wonAtSD': 0.0, |  | ||||||
|                       'wonWhenSeenStreet1': 0.0, |  | ||||||
|                       'wonWhenSeenStreet2': 0.0, |  | ||||||
|                       'wonWhenSeenStreet3': 0.0, |  | ||||||
|                       'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'Timoha777': {   'card1': 24, |     u'Timoha777': {   'card1': 24, | ||||||
|                       'card2': 23, |                       'card2': 23, | ||||||
|                       'card3': 16, |                       'card3': 16, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                       'street0_3BDone': False, |                       'street0_3BDone': False, | ||||||
|                       'street0_4BChance': False, |                       'street0_4BChance': False, | ||||||
|                       'street0_4BDone': False, |                       'street0_4BDone': False, | ||||||
|  |                       'street0_C4BChance': False, | ||||||
|  |                       'street0_C4BDone': False, | ||||||
|  |                       'street0_FoldTo3BChance': False, | ||||||
|  |                       'street0_FoldTo3BDone': False, | ||||||
|  |                       'street0_FoldTo4BChance': False, | ||||||
|  |                       'street0_FoldTo4BDone': False, | ||||||
|  |                       'street0_SqueezeChance': False, | ||||||
|  |                       'street0_SqueezeDone': False, | ||||||
|                       'street1Aggr': False, |                       'street1Aggr': False, | ||||||
|                       'street1Bets': 0, |                       'street1Bets': 0, | ||||||
|                       'street1CBChance': False, |                       'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                       'street4CheckCallRaiseDone': False, |                       'street4CheckCallRaiseDone': False, | ||||||
|                       'street4Raises': 0, |                       'street4Raises': 0, | ||||||
|                       'street4Seen': False, |                       'street4Seen': False, | ||||||
|  |                       'success_Steal': False, | ||||||
|                       'totalProfit': 53, |                       'totalProfit': 53, | ||||||
|                       'tourneyTypeId': None, |                       'tourneyTypeId': None, | ||||||
|                       'tourneysPlayersIds': None, |                       'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                        'street0_3BDone': False, |                        'street0_3BDone': False, | ||||||
|                        'street0_4BChance': False, |                        'street0_4BChance': False, | ||||||
|                        'street0_4BDone': False, |                        'street0_4BDone': False, | ||||||
|  |                        'street0_C4BChance': False, | ||||||
|  |                        'street0_C4BDone': False, | ||||||
|  |                        'street0_FoldTo3BChance': False, | ||||||
|  |                        'street0_FoldTo3BDone': False, | ||||||
|  |                        'street0_FoldTo4BChance': False, | ||||||
|  |                        'street0_FoldTo4BDone': False, | ||||||
|  |                        'street0_SqueezeChance': False, | ||||||
|  |                        'street0_SqueezeDone': False, | ||||||
|                        'street1Aggr': True, |                        'street1Aggr': True, | ||||||
|                        'street1Bets': 1, |                        'street1Bets': 1, | ||||||
|                        'street1CBChance': False, |                        'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                        'street4CheckCallRaiseDone': False, |                        'street4CheckCallRaiseDone': False, | ||||||
|                        'street4Raises': 0, |                        'street4Raises': 0, | ||||||
|                        'street4Seen': False, |                        'street4Seen': False, | ||||||
|  |                        'success_Steal': False, | ||||||
|                        'totalProfit': -41, |                        'totalProfit': -41, | ||||||
|                        'tourneyTypeId': None, |                        'tourneyTypeId': None, | ||||||
|                        'tourneysPlayersIds': None, |                        'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -1,98 +1,4 @@ | ||||||
| {   u'Hero': {   'card1': 43, | {   u'FILL A RACK': {   'card1': 0, | ||||||
|                     'card2': 1, |  | ||||||
|                     'card3': 9, |  | ||||||
|                     'card4': 0, |  | ||||||
|                     'card5': 0, |  | ||||||
|                     'card6': 0, |  | ||||||
|                     'card7': 0, |  | ||||||
|                     'foldBbToStealChance': False, |  | ||||||
|                     'foldSbToStealChance': False, |  | ||||||
|                     'foldToOtherRaisedStreet0': False, |  | ||||||
|                     'foldToOtherRaisedStreet1': False, |  | ||||||
|                     'foldToOtherRaisedStreet2': False, |  | ||||||
|                     'foldToOtherRaisedStreet3': False, |  | ||||||
|                     'foldToOtherRaisedStreet4': False, |  | ||||||
|                     'foldToStreet1CBChance': False, |  | ||||||
|                     'foldToStreet1CBDone': False, |  | ||||||
|                     'foldToStreet2CBChance': False, |  | ||||||
|                     'foldToStreet2CBDone': False, |  | ||||||
|                     'foldToStreet3CBChance': False, |  | ||||||
|                     'foldToStreet3CBDone': False, |  | ||||||
|                     'foldToStreet4CBChance': False, |  | ||||||
|                     'foldToStreet4CBDone': False, |  | ||||||
|                     'foldedBbToSteal': False, |  | ||||||
|                     'foldedSbToSteal': False, |  | ||||||
|                     'other3BStreet0': False, |  | ||||||
|                     'other4BStreet0': False, |  | ||||||
|                     'otherRaisedStreet0': False, |  | ||||||
|                     'otherRaisedStreet1': False, |  | ||||||
|                     'otherRaisedStreet2': False, |  | ||||||
|                     'otherRaisedStreet3': False, |  | ||||||
|                     'otherRaisedStreet4': False, |  | ||||||
|                     'position': 1, |  | ||||||
|                     'raiseFirstInChance': True, |  | ||||||
|                     'raisedFirstIn': False, |  | ||||||
|                     'rake': 0, |  | ||||||
|                     'sawShowdown': False, |  | ||||||
|                     'seatNo': 5, |  | ||||||
|                     'sitout': False, |  | ||||||
|                     'startCards': 0, |  | ||||||
|                     'startCash': 26550, |  | ||||||
|                     'street0Aggr': False, |  | ||||||
|                     'street0Bets': 0, |  | ||||||
|                     'street0Calls': 0, |  | ||||||
|                     'street0Raises': 0, |  | ||||||
|                     'street0VPI': False, |  | ||||||
|                     'street0_3BChance': False, |  | ||||||
|                     'street0_3BDone': False, |  | ||||||
|                     'street0_4BChance': False, |  | ||||||
|                     'street0_4BDone': False, |  | ||||||
|                     'street1Aggr': False, |  | ||||||
|                     'street1Bets': 0, |  | ||||||
|                     'street1CBChance': False, |  | ||||||
|                     'street1CBDone': False, |  | ||||||
|                     'street1Calls': 0, |  | ||||||
|                     'street1CheckCallRaiseChance': False, |  | ||||||
|                     'street1CheckCallRaiseDone': False, |  | ||||||
|                     'street1Raises': 0, |  | ||||||
|                     'street1Seen': False, |  | ||||||
|                     'street2Aggr': False, |  | ||||||
|                     'street2Bets': 0, |  | ||||||
|                     'street2CBChance': False, |  | ||||||
|                     'street2CBDone': False, |  | ||||||
|                     'street2Calls': 0, |  | ||||||
|                     'street2CheckCallRaiseChance': False, |  | ||||||
|                     'street2CheckCallRaiseDone': False, |  | ||||||
|                     'street2Raises': 0, |  | ||||||
|                     'street2Seen': False, |  | ||||||
|                     'street3Aggr': False, |  | ||||||
|                     'street3Bets': 0, |  | ||||||
|                     'street3CBChance': False, |  | ||||||
|                     'street3CBDone': False, |  | ||||||
|                     'street3Calls': 0, |  | ||||||
|                     'street3CheckCallRaiseChance': False, |  | ||||||
|                     'street3CheckCallRaiseDone': False, |  | ||||||
|                     'street3Raises': 0, |  | ||||||
|                     'street3Seen': False, |  | ||||||
|                     'street4Aggr': False, |  | ||||||
|                     'street4Bets': 0, |  | ||||||
|                     'street4CBChance': False, |  | ||||||
|                     'street4CBDone': False, |  | ||||||
|                     'street4Calls': 0, |  | ||||||
|                     'street4CheckCallRaiseChance': False, |  | ||||||
|                     'street4CheckCallRaiseDone': False, |  | ||||||
|                     'street4Raises': 0, |  | ||||||
|                     'street4Seen': False, |  | ||||||
|                     'totalProfit': -50, |  | ||||||
|                     'tourneyTypeId': None, |  | ||||||
|                     'tourneysPlayersIds': None, |  | ||||||
|                     'winnings': 0, |  | ||||||
|                     'wonAtSD': 0.0, |  | ||||||
|                     'wonWhenSeenStreet1': 0.0, |  | ||||||
|                     'wonWhenSeenStreet2': 0.0, |  | ||||||
|                     'wonWhenSeenStreet3': 0.0, |  | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'FILL A RACK': {   'card1': 0, |  | ||||||
|                         'card2': 0, |                         'card2': 0, | ||||||
|                         'card3': 26, |                         'card3': 26, | ||||||
|                         'card4': 0, |                         'card4': 0, | ||||||
|  | @ -141,6 +47,14 @@ | ||||||
|                         'street0_3BDone': False, |                         'street0_3BDone': False, | ||||||
|                         'street0_4BChance': False, |                         'street0_4BChance': False, | ||||||
|                         'street0_4BDone': False, |                         'street0_4BDone': False, | ||||||
|  |                         'street0_C4BChance': False, | ||||||
|  |                         'street0_C4BDone': False, | ||||||
|  |                         'street0_FoldTo3BChance': False, | ||||||
|  |                         'street0_FoldTo3BDone': False, | ||||||
|  |                         'street0_FoldTo4BChance': False, | ||||||
|  |                         'street0_FoldTo4BDone': False, | ||||||
|  |                         'street0_SqueezeChance': False, | ||||||
|  |                         'street0_SqueezeDone': False, | ||||||
|                         'street1Aggr': False, |                         'street1Aggr': False, | ||||||
|                         'street1Bets': 0, |                         'street1Bets': 0, | ||||||
|                         'street1CBChance': False, |                         'street1CBChance': False, | ||||||
|  | @ -177,6 +91,110 @@ | ||||||
|                         'street4CheckCallRaiseDone': False, |                         'street4CheckCallRaiseDone': False, | ||||||
|                         'street4Raises': 0, |                         'street4Raises': 0, | ||||||
|                         'street4Seen': False, |                         'street4Seen': False, | ||||||
|  |                         'success_Steal': False, | ||||||
|  |                         'totalProfit': -50, | ||||||
|  |                         'tourneyTypeId': None, | ||||||
|  |                         'tourneysPlayersIds': None, | ||||||
|  |                         'winnings': 0, | ||||||
|  |                         'wonAtSD': 0.0, | ||||||
|  |                         'wonWhenSeenStreet1': 0.0, | ||||||
|  |                         'wonWhenSeenStreet2': 0.0, | ||||||
|  |                         'wonWhenSeenStreet3': 0.0, | ||||||
|  |                         'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'Hero': {   'card1': 43, | ||||||
|  |                  'card2': 1, | ||||||
|  |                  'card3': 9, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 1, | ||||||
|  |                  'raiseFirstInChance': True, | ||||||
|  |                  'raisedFirstIn': False, | ||||||
|  |                  'rake': 0, | ||||||
|  |                  'sawShowdown': False, | ||||||
|  |                  'seatNo': 5, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 0, | ||||||
|  |                  'startCash': 26550, | ||||||
|  |                  'street0Aggr': False, | ||||||
|  |                  'street0Bets': 0, | ||||||
|  |                  'street0Calls': 0, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': False, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': False, | ||||||
|  |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': False, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': False, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': False, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -50, |                  'totalProfit': -50, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                       'street0_3BDone': False, |                       'street0_3BDone': False, | ||||||
|                       'street0_4BChance': False, |                       'street0_4BChance': False, | ||||||
|                       'street0_4BDone': False, |                       'street0_4BDone': False, | ||||||
|  |                       'street0_C4BChance': False, | ||||||
|  |                       'street0_C4BDone': False, | ||||||
|  |                       'street0_FoldTo3BChance': False, | ||||||
|  |                       'street0_FoldTo3BDone': False, | ||||||
|  |                       'street0_FoldTo4BChance': False, | ||||||
|  |                       'street0_FoldTo4BDone': False, | ||||||
|  |                       'street0_SqueezeChance': False, | ||||||
|  |                       'street0_SqueezeDone': False, | ||||||
|                       'street1Aggr': True, |                       'street1Aggr': True, | ||||||
|                       'street1Bets': 1, |                       'street1Bets': 1, | ||||||
|                       'street1CBChance': True, |                       'street1CBChance': True, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                       'street4CheckCallRaiseDone': False, |                       'street4CheckCallRaiseDone': False, | ||||||
|                       'street4Raises': 0, |                       'street4Raises': 0, | ||||||
|                       'street4Seen': False, |                       'street4Seen': False, | ||||||
|  |                       'success_Steal': False, | ||||||
|                       'totalProfit': 600, |                       'totalProfit': 600, | ||||||
|                       'tourneyTypeId': None, |                       'tourneyTypeId': None, | ||||||
|                       'tourneysPlayersIds': None, |                       'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                      'street0_3BDone': False, |                      'street0_3BDone': False, | ||||||
|                      'street0_4BChance': False, |                      'street0_4BChance': False, | ||||||
|                      'street0_4BDone': False, |                      'street0_4BDone': False, | ||||||
|  |                      'street0_C4BChance': False, | ||||||
|  |                      'street0_C4BDone': False, | ||||||
|  |                      'street0_FoldTo3BChance': False, | ||||||
|  |                      'street0_FoldTo3BDone': False, | ||||||
|  |                      'street0_FoldTo4BChance': False, | ||||||
|  |                      'street0_FoldTo4BDone': False, | ||||||
|  |                      'street0_SqueezeChance': False, | ||||||
|  |                      'street0_SqueezeDone': False, | ||||||
|                      'street1Aggr': False, |                      'street1Aggr': False, | ||||||
|                      'street1Bets': 0, |                      'street1Bets': 0, | ||||||
|                      'street1CBChance': False, |                      'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                      'street4CheckCallRaiseDone': False, |                      'street4CheckCallRaiseDone': False, | ||||||
|                      'street4Raises': 0, |                      'street4Raises': 0, | ||||||
|                      'street4Seen': False, |                      'street4Seen': False, | ||||||
|  |                      'success_Steal': False, | ||||||
|                      'totalProfit': -50, |                      'totalProfit': -50, | ||||||
|                      'tourneyTypeId': None, |                      'tourneyTypeId': None, | ||||||
|                      'tourneysPlayersIds': None, |                      'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                        'street0_3BDone': False, |                        'street0_3BDone': False, | ||||||
|                        'street0_4BChance': False, |                        'street0_4BChance': False, | ||||||
|                        'street0_4BDone': False, |                        'street0_4BDone': False, | ||||||
|  |                        'street0_C4BChance': False, | ||||||
|  |                        'street0_C4BDone': False, | ||||||
|  |                        'street0_FoldTo3BChance': False, | ||||||
|  |                        'street0_FoldTo3BDone': False, | ||||||
|  |                        'street0_FoldTo4BChance': False, | ||||||
|  |                        'street0_FoldTo4BDone': False, | ||||||
|  |                        'street0_SqueezeChance': False, | ||||||
|  |                        'street0_SqueezeDone': False, | ||||||
|                        'street1Aggr': False, |                        'street1Aggr': False, | ||||||
|                        'street1Bets': 0, |                        'street1Bets': 0, | ||||||
|                        'street1CBChance': False, |                        'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                        'street4CheckCallRaiseDone': False, |                        'street4CheckCallRaiseDone': False, | ||||||
|                        'street4Raises': 0, |                        'street4Raises': 0, | ||||||
|                        'street4Seen': False, |                        'street4Seen': False, | ||||||
|  |                        'success_Steal': False, | ||||||
|                        'totalProfit': -50, |                        'totalProfit': -50, | ||||||
|                        'tourneyTypeId': None, |                        'tourneyTypeId': None, | ||||||
|                        'tourneysPlayersIds': None, |                        'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -50, |                     'totalProfit': -50, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                        'street0_3BDone': False, |                        'street0_3BDone': False, | ||||||
|                        'street0_4BChance': False, |                        'street0_4BChance': False, | ||||||
|                        'street0_4BDone': False, |                        'street0_4BDone': False, | ||||||
|  |                        'street0_C4BChance': False, | ||||||
|  |                        'street0_C4BDone': False, | ||||||
|  |                        'street0_FoldTo3BChance': False, | ||||||
|  |                        'street0_FoldTo3BDone': False, | ||||||
|  |                        'street0_FoldTo4BChance': False, | ||||||
|  |                        'street0_FoldTo4BDone': False, | ||||||
|  |                        'street0_SqueezeChance': False, | ||||||
|  |                        'street0_SqueezeDone': False, | ||||||
|                        'street1Aggr': False, |                        'street1Aggr': False, | ||||||
|                        'street1Bets': 0, |                        'street1Bets': 0, | ||||||
|                        'street1CBChance': False, |                        'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                        'street4CheckCallRaiseDone': False, |                        'street4CheckCallRaiseDone': False, | ||||||
|                        'street4Raises': 0, |                        'street4Raises': 0, | ||||||
|                        'street4Seen': False, |                        'street4Seen': False, | ||||||
|  |                        'success_Steal': False, | ||||||
|                        'totalProfit': -350, |                        'totalProfit': -350, | ||||||
|                        'tourneyTypeId': None, |                        'tourneyTypeId': None, | ||||||
|                        'tourneysPlayersIds': None, |                        'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 3, |     'playersVpi': 3, | ||||||
|     'seats': 7, |     'seats': 7, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'26190453000', |     'siteHandNo': u'26190453000', | ||||||
|     'startTime': datetime.datetime(2010, 12, 7, 9, 10, 10, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 12, 7, 9, 10, 10, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': False, |                  'street0_4BChance': False, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': False, |                  'street1Aggr': False, | ||||||
|                  'street1Bets': 0, |                  'street1Bets': 0, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -2, |                  'totalProfit': -2, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -22, |                     'totalProfit': -22, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -5, |                     'totalProfit': -5, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -42, |                     'totalProfit': -42, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': True, |                     'street1Aggr': True, | ||||||
|                     'street1Bets': 1, |                     'street1Bets': 1, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 70, |                     'totalProfit': 70, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -13,6 +13,7 @@ | ||||||
|     'playersAtStreet4': 0, |     'playersAtStreet4': 0, | ||||||
|     'playersVpi': 2, |     'playersVpi': 2, | ||||||
|     'seats': 7, |     'seats': 7, | ||||||
|  |     'sessionId': 1, | ||||||
|     'showdownPot': 0, |     'showdownPot': 0, | ||||||
|     'siteHandNo': u'26190500040', |     'siteHandNo': u'26190500040', | ||||||
|     'startTime': datetime.datetime(2010, 12, 7, 9, 19, tzinfo=pytz.utc), |     'startTime': datetime.datetime(2010, 12, 7, 9, 19, tzinfo=pytz.utc), | ||||||
|  |  | ||||||
|  | @ -47,6 +47,14 @@ | ||||||
|                  'street0_3BDone': False, |                  'street0_3BDone': False, | ||||||
|                  'street0_4BChance': False, |                  'street0_4BChance': False, | ||||||
|                  'street0_4BDone': False, |                  'street0_4BDone': False, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|                  'street1Aggr': True, |                  'street1Aggr': True, | ||||||
|                  'street1Bets': 1, |                  'street1Bets': 1, | ||||||
|                  'street1CBChance': False, |                  'street1CBChance': False, | ||||||
|  | @ -83,6 +91,7 @@ | ||||||
|                  'street4CheckCallRaiseDone': False, |                  'street4CheckCallRaiseDone': False, | ||||||
|                  'street4Raises': 0, |                  'street4Raises': 0, | ||||||
|                  'street4Seen': False, |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|                  'totalProfit': -15, |                  'totalProfit': -15, | ||||||
|                  'tourneyTypeId': None, |                  'tourneyTypeId': None, | ||||||
|                  'tourneysPlayersIds': None, |                  'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -235,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -271,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -5, |                     'totalProfit': -5, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -517,6 +562,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -553,6 +606,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -611,6 +665,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -647,6 +709,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -2, |                     'totalProfit': -2, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -705,6 +768,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -741,6 +812,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 26, |                     'totalProfit': 26, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -1,4 +1,107 @@ | ||||||
| {   u'player1': {   'card1': 0, | {   u'Hero': {   'card1': 25, | ||||||
|  |                  'card2': 51, | ||||||
|  |                  'card3': 0, | ||||||
|  |                  'card4': 0, | ||||||
|  |                  'card5': 0, | ||||||
|  |                  'card6': 0, | ||||||
|  |                  'card7': 0, | ||||||
|  |                  'foldBbToStealChance': False, | ||||||
|  |                  'foldSbToStealChance': False, | ||||||
|  |                  'foldToOtherRaisedStreet0': False, | ||||||
|  |                  'foldToOtherRaisedStreet1': False, | ||||||
|  |                  'foldToOtherRaisedStreet2': False, | ||||||
|  |                  'foldToOtherRaisedStreet3': False, | ||||||
|  |                  'foldToOtherRaisedStreet4': False, | ||||||
|  |                  'foldToStreet1CBChance': False, | ||||||
|  |                  'foldToStreet1CBDone': False, | ||||||
|  |                  'foldToStreet2CBChance': False, | ||||||
|  |                  'foldToStreet2CBDone': False, | ||||||
|  |                  'foldToStreet3CBChance': False, | ||||||
|  |                  'foldToStreet3CBDone': False, | ||||||
|  |                  'foldToStreet4CBChance': False, | ||||||
|  |                  'foldToStreet4CBDone': False, | ||||||
|  |                  'foldedBbToSteal': False, | ||||||
|  |                  'foldedSbToSteal': False, | ||||||
|  |                  'other3BStreet0': False, | ||||||
|  |                  'other4BStreet0': False, | ||||||
|  |                  'otherRaisedStreet0': False, | ||||||
|  |                  'otherRaisedStreet1': False, | ||||||
|  |                  'otherRaisedStreet2': False, | ||||||
|  |                  'otherRaisedStreet3': False, | ||||||
|  |                  'otherRaisedStreet4': False, | ||||||
|  |                  'position': 2, | ||||||
|  |                  'raiseFirstInChance': True, | ||||||
|  |                  'raisedFirstIn': True, | ||||||
|  |                  'rake': 215, | ||||||
|  |                  'sawShowdown': True, | ||||||
|  |                  'seatNo': 1, | ||||||
|  |                  'sitout': False, | ||||||
|  |                  'startCards': 155, | ||||||
|  |                  'startCash': 2610, | ||||||
|  |                  'street0Aggr': True, | ||||||
|  |                  'street0Bets': 1, | ||||||
|  |                  'street0Calls': 1, | ||||||
|  |                  'street0Raises': 0, | ||||||
|  |                  'street0VPI': True, | ||||||
|  |                  'street0_3BChance': False, | ||||||
|  |                  'street0_3BDone': False, | ||||||
|  |                  'street0_4BChance': True, | ||||||
|  |                  'street0_4BDone': True, | ||||||
|  |                  'street0_C4BChance': False, | ||||||
|  |                  'street0_C4BDone': False, | ||||||
|  |                  'street0_FoldTo3BChance': False, | ||||||
|  |                  'street0_FoldTo3BDone': False, | ||||||
|  |                  'street0_FoldTo4BChance': False, | ||||||
|  |                  'street0_FoldTo4BDone': False, | ||||||
|  |                  'street0_SqueezeChance': False, | ||||||
|  |                  'street0_SqueezeDone': False, | ||||||
|  |                  'street1Aggr': False, | ||||||
|  |                  'street1Bets': 0, | ||||||
|  |                  'street1CBChance': False, | ||||||
|  |                  'street1CBDone': False, | ||||||
|  |                  'street1Calls': 0, | ||||||
|  |                  'street1CheckCallRaiseChance': False, | ||||||
|  |                  'street1CheckCallRaiseDone': False, | ||||||
|  |                  'street1Raises': 0, | ||||||
|  |                  'street1Seen': True, | ||||||
|  |                  'street2Aggr': False, | ||||||
|  |                  'street2Bets': 0, | ||||||
|  |                  'street2CBChance': False, | ||||||
|  |                  'street2CBDone': False, | ||||||
|  |                  'street2Calls': 0, | ||||||
|  |                  'street2CheckCallRaiseChance': False, | ||||||
|  |                  'street2CheckCallRaiseDone': False, | ||||||
|  |                  'street2Raises': 0, | ||||||
|  |                  'street2Seen': True, | ||||||
|  |                  'street3Aggr': False, | ||||||
|  |                  'street3Bets': 0, | ||||||
|  |                  'street3CBChance': False, | ||||||
|  |                  'street3CBDone': False, | ||||||
|  |                  'street3Calls': 0, | ||||||
|  |                  'street3CheckCallRaiseChance': False, | ||||||
|  |                  'street3CheckCallRaiseDone': False, | ||||||
|  |                  'street3Raises': 0, | ||||||
|  |                  'street3Seen': True, | ||||||
|  |                  'street4Aggr': False, | ||||||
|  |                  'street4Bets': 0, | ||||||
|  |                  'street4CBChance': False, | ||||||
|  |                  'street4CBDone': False, | ||||||
|  |                  'street4Calls': 0, | ||||||
|  |                  'street4CheckCallRaiseChance': False, | ||||||
|  |                  'street4CheckCallRaiseDone': False, | ||||||
|  |                  'street4Raises': 0, | ||||||
|  |                  'street4Seen': False, | ||||||
|  |                  'success_Steal': False, | ||||||
|  |                  'totalProfit': 120, | ||||||
|  |                  'tourneyTypeId': None, | ||||||
|  |                  'tourneysPlayersIds': None, | ||||||
|  |                  'winnings': 325, | ||||||
|  |                  'wonAtSD': 1.0, | ||||||
|  |                  'wonWhenSeenStreet1': 1.0, | ||||||
|  |                  'wonWhenSeenStreet2': 1.0, | ||||||
|  |                  'wonWhenSeenStreet3': 1.0, | ||||||
|  |                  'wonWhenSeenStreet4': 0.0}, | ||||||
|  |     u'player1': {   'card1': 0, | ||||||
|                     'card2': 0, |                     'card2': 0, | ||||||
|                     'card3': 0, |                     'card3': 0, | ||||||
|                     'card4': 0, |                     'card4': 0, | ||||||
|  | @ -47,6 +150,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -83,6 +194,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -105, |                     'totalProfit': -105, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -141,6 +253,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -177,6 +297,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': 0, |                     'totalProfit': 0, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -186,100 +307,6 @@ | ||||||
|                     'wonWhenSeenStreet2': 0.0, |                     'wonWhenSeenStreet2': 0.0, | ||||||
|                     'wonWhenSeenStreet3': 0.0, |                     'wonWhenSeenStreet3': 0.0, | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |                     'wonWhenSeenStreet4': 0.0}, | ||||||
|     u'Hero': {   'card1': 25, |  | ||||||
|                     'card2': 51, |  | ||||||
|                     'card3': 0, |  | ||||||
|                     'card4': 0, |  | ||||||
|                     'card5': 0, |  | ||||||
|                     'card6': 0, |  | ||||||
|                     'card7': 0, |  | ||||||
|                     'foldBbToStealChance': False, |  | ||||||
|                     'foldSbToStealChance': False, |  | ||||||
|                     'foldToOtherRaisedStreet0': False, |  | ||||||
|                     'foldToOtherRaisedStreet1': False, |  | ||||||
|                     'foldToOtherRaisedStreet2': False, |  | ||||||
|                     'foldToOtherRaisedStreet3': False, |  | ||||||
|                     'foldToOtherRaisedStreet4': False, |  | ||||||
|                     'foldToStreet1CBChance': False, |  | ||||||
|                     'foldToStreet1CBDone': False, |  | ||||||
|                     'foldToStreet2CBChance': False, |  | ||||||
|                     'foldToStreet2CBDone': False, |  | ||||||
|                     'foldToStreet3CBChance': False, |  | ||||||
|                     'foldToStreet3CBDone': False, |  | ||||||
|                     'foldToStreet4CBChance': False, |  | ||||||
|                     'foldToStreet4CBDone': False, |  | ||||||
|                     'foldedBbToSteal': False, |  | ||||||
|                     'foldedSbToSteal': False, |  | ||||||
|                     'other3BStreet0': False, |  | ||||||
|                     'other4BStreet0': False, |  | ||||||
|                     'otherRaisedStreet0': False, |  | ||||||
|                     'otherRaisedStreet1': False, |  | ||||||
|                     'otherRaisedStreet2': False, |  | ||||||
|                     'otherRaisedStreet3': False, |  | ||||||
|                     'otherRaisedStreet4': False, |  | ||||||
|                     'position': 2, |  | ||||||
|                     'raiseFirstInChance': True, |  | ||||||
|                     'raisedFirstIn': True, |  | ||||||
|                     'rake': 215, |  | ||||||
|                     'sawShowdown': True, |  | ||||||
|                     'seatNo': 1, |  | ||||||
|                     'sitout': False, |  | ||||||
|                     'startCards': 155, |  | ||||||
|                     'startCash': 2610, |  | ||||||
|                     'street0Aggr': True, |  | ||||||
|                     'street0Bets': 1, |  | ||||||
|                     'street0Calls': 1, |  | ||||||
|                     'street0Raises': 0, |  | ||||||
|                     'street0VPI': True, |  | ||||||
|                     'street0_3BChance': False, |  | ||||||
|                     'street0_3BDone': False, |  | ||||||
|                     'street0_4BChance': True, |  | ||||||
|                     'street0_4BDone': True, |  | ||||||
|                     'street1Aggr': False, |  | ||||||
|                     'street1Bets': 0, |  | ||||||
|                     'street1CBChance': False, |  | ||||||
|                     'street1CBDone': False, |  | ||||||
|                     'street1Calls': 0, |  | ||||||
|                     'street1CheckCallRaiseChance': False, |  | ||||||
|                     'street1CheckCallRaiseDone': False, |  | ||||||
|                     'street1Raises': 0, |  | ||||||
|                     'street1Seen': True, |  | ||||||
|                     'street2Aggr': False, |  | ||||||
|                     'street2Bets': 0, |  | ||||||
|                     'street2CBChance': False, |  | ||||||
|                     'street2CBDone': False, |  | ||||||
|                     'street2Calls': 0, |  | ||||||
|                     'street2CheckCallRaiseChance': False, |  | ||||||
|                     'street2CheckCallRaiseDone': False, |  | ||||||
|                     'street2Raises': 0, |  | ||||||
|                     'street2Seen': True, |  | ||||||
|                     'street3Aggr': False, |  | ||||||
|                     'street3Bets': 0, |  | ||||||
|                     'street3CBChance': False, |  | ||||||
|                     'street3CBDone': False, |  | ||||||
|                     'street3Calls': 0, |  | ||||||
|                     'street3CheckCallRaiseChance': False, |  | ||||||
|                     'street3CheckCallRaiseDone': False, |  | ||||||
|                     'street3Raises': 0, |  | ||||||
|                     'street3Seen': True, |  | ||||||
|                     'street4Aggr': False, |  | ||||||
|                     'street4Bets': 0, |  | ||||||
|                     'street4CBChance': False, |  | ||||||
|                     'street4CBDone': False, |  | ||||||
|                     'street4Calls': 0, |  | ||||||
|                     'street4CheckCallRaiseChance': False, |  | ||||||
|                     'street4CheckCallRaiseDone': False, |  | ||||||
|                     'street4Raises': 0, |  | ||||||
|                     'street4Seen': False, |  | ||||||
|                     'totalProfit': 120, |  | ||||||
|                     'tourneyTypeId': None, |  | ||||||
|                     'tourneysPlayersIds': None, |  | ||||||
|                     'winnings': 325, |  | ||||||
|                     'wonAtSD': 1.0, |  | ||||||
|                     'wonWhenSeenStreet1': 1.0, |  | ||||||
|                     'wonWhenSeenStreet2': 1.0, |  | ||||||
|                     'wonWhenSeenStreet3': 1.0, |  | ||||||
|                     'wonWhenSeenStreet4': 0.0}, |  | ||||||
|     u'player4': {   'card1': 0, |     u'player4': {   'card1': 0, | ||||||
|                     'card2': 0, |                     'card2': 0, | ||||||
|                     'card3': 0, |                     'card3': 0, | ||||||
|  | @ -329,6 +356,14 @@ | ||||||
|                     'street0_3BDone': False, |                     'street0_3BDone': False, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -365,6 +400,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -25, |                     'totalProfit': -25, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  | @ -423,6 +459,14 @@ | ||||||
|                     'street0_3BDone': True, |                     'street0_3BDone': True, | ||||||
|                     'street0_4BChance': False, |                     'street0_4BChance': False, | ||||||
|                     'street0_4BDone': False, |                     'street0_4BDone': False, | ||||||
|  |                     'street0_C4BChance': False, | ||||||
|  |                     'street0_C4BDone': False, | ||||||
|  |                     'street0_FoldTo3BChance': False, | ||||||
|  |                     'street0_FoldTo3BDone': False, | ||||||
|  |                     'street0_FoldTo4BChance': False, | ||||||
|  |                     'street0_FoldTo4BDone': False, | ||||||
|  |                     'street0_SqueezeChance': False, | ||||||
|  |                     'street0_SqueezeDone': False, | ||||||
|                     'street1Aggr': False, |                     'street1Aggr': False, | ||||||
|                     'street1Bets': 0, |                     'street1Bets': 0, | ||||||
|                     'street1CBChance': False, |                     'street1CBChance': False, | ||||||
|  | @ -459,6 +503,7 @@ | ||||||
|                     'street4CheckCallRaiseDone': False, |                     'street4CheckCallRaiseDone': False, | ||||||
|                     'street4Raises': 0, |                     'street4Raises': 0, | ||||||
|                     'street4Seen': False, |                     'street4Seen': False, | ||||||
|  |                     'success_Steal': False, | ||||||
|                     'totalProfit': -205, |                     'totalProfit': -205, | ||||||
|                     'tourneyTypeId': None, |                     'tourneyTypeId': None, | ||||||
|                     'tourneysPlayersIds': None, |                     'tourneysPlayersIds': None, | ||||||
|  |  | ||||||
|  | @ -0,0 +1,48 @@ | ||||||
|  | ***** History for hand R5-22678800-36 ***** | ||||||
|  | Start hand: Sun Feb 13 14:14:04 GMT+0100 2011 | ||||||
|  | Table: [SPEED] Dijon [22678800] (NO_LIMIT TEXAS_HOLDEM €0.02/€0.04, Real money) | ||||||
|  | User: Hero | ||||||
|  | Button: seat 10 | ||||||
|  | Players in round: 6 | ||||||
|  | Seat 2: Player2 (€2.26) | ||||||
|  | Seat 3: Hero (€4) | ||||||
|  | Seat 5: Player5 (€1.60) | ||||||
|  | Seat 7: Player7 (€1.35) | ||||||
|  | Seat 8: Player8 (€1.70) | ||||||
|  | Seat 10: Player10 (€3.66) | ||||||
|  | Player2 posts small blind (€0.02) | ||||||
|  | Hero posts big blind (€0.04) | ||||||
|  | --- | ||||||
|  | Dealing pocket cards | ||||||
|  | Dealing to Hero: [7d, Td] | ||||||
|  | Player5 folds | ||||||
|  | Player7 folds | ||||||
|  | Player8 calls €0.04 | ||||||
|  | Player10 calls €0.04 | ||||||
|  | Player2 calls €0.02 | ||||||
|  | Hero checks | ||||||
|  | --- Dealing flop [Jc, 4d, Qs] | ||||||
|  | Player2 checks | ||||||
|  | Hero checks | ||||||
|  | Player8 checks | ||||||
|  | Player10 checks | ||||||
|  | --- Dealing turn [Js] | ||||||
|  | Player2 checks | ||||||
|  | Hero bets €0.10 | ||||||
|  | Player8 calls €0.10 | ||||||
|  | Player10 folds | ||||||
|  | Player2 folds | ||||||
|  | --- Dealing river [Ts] | ||||||
|  | Hero checks | ||||||
|  | Player8 checks | ||||||
|  | --- | ||||||
|  | Summary: | ||||||
|  | Main pot: €0.36 won by Hero (€0.35) | ||||||
|  | Rake taken: €0.01 | ||||||
|  | Seat 2: Player2 (€2.22), net: -€0.04 | ||||||
|  | Seat 3: Hero (€4.21), net: +€0.21, [7d, Td] (TWO_PAIR JACK, TEN) | ||||||
|  | Seat 5: Player5 (€1.60) | ||||||
|  | Seat 7: Player7 (€1.35) | ||||||
|  | Seat 8: Player8 (€1.56), net: -€0.14 | ||||||
|  | Seat 10: Player10 (€3.62), net: -€0.04 | ||||||
|  | ***** End of hand R5-22678800-36 ***** | ||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user