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 | ||||
| =============== | ||||
| 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. | ||||
| 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. | ||||
| You can find checksums (MD5 and SHA512) in the download folder. | ||||
| 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 | ||||
| 
 | ||||
|  |  | |||
							
								
								
									
										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') ) | ||||
|         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.height   = int( node.getAttribute('height') ) | ||||
| 
 | ||||
|  | @ -244,7 +246,11 @@ class Layout: | |||
|                 self.common = (int( location_node.getAttribute('x') ), int( location_node.getAttribute('y'))) | ||||
| 
 | ||||
|     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 | ||||
|         else: temp = temp + "\n" | ||||
|         if hasattr(self, "common"): | ||||
|  | @ -477,6 +483,7 @@ class Import: | |||
|         self.interval    = node.getAttribute("interval") | ||||
|         self.callFpdbHud   = node.getAttribute("callFpdbHud") | ||||
|         self.hhArchiveBase = node.getAttribute("hhArchiveBase") | ||||
|         self.ResultsDirectory = node.getAttribute("ResultsDirectory") | ||||
|         self.hhBulkPath = node.getAttribute("hhBulkPath") | ||||
|         self.saveActions = string_to_bool(node.getAttribute("saveActions"), default=False) | ||||
|         self.cacheSessions = string_to_bool(node.getAttribute("cacheSessions"), default=False) | ||||
|  | @ -485,8 +492,8 @@ class Import: | |||
|         self.saveStarsHH = string_to_bool(node.getAttribute("saveStarsHH"), default=False) | ||||
| 
 | ||||
|     def __str__(self): | ||||
|         return "    interval = %s\n    callFpdbHud = %s\n    hhArchiveBase = %s\n    saveActions = %s\n    fastStoreHudCache = %s\n" \ | ||||
|             % (self.interval, self.callFpdbHud, self.hhArchiveBase, self.saveActions, self.cacheSessions, self.sessionTimeout, self.fastStoreHudCache) | ||||
|         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.ResultsDirectory) | ||||
| 
 | ||||
| class HudUI: | ||||
|     def __init__(self, node): | ||||
|  | @ -1255,6 +1262,14 @@ class Config: | |||
|         try:    imp['hhArchiveBase']    = self.imp.hhArchiveBase | ||||
|         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) | ||||
|         try:    imp['hhBulkPath']    = self.imp.hhBulkPath | ||||
|         except:  imp['hhBulkPath']    = "" | ||||
|  | @ -1485,7 +1500,7 @@ if __name__== "__main__": | |||
|     print "----------- END POPUP WINDOW FORMATS -----------" | ||||
| 
 | ||||
|     print "\n----------- IMPORT -----------" | ||||
|     print c.imp | ||||
| #    print c.imp    # Need to add an str method for imp to print | ||||
|     print "----------- END IMPORT -----------" | ||||
| 
 | ||||
|     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 | ||||
| 
 | ||||
| 
 | ||||
| DB_VERSION = 147 | ||||
| DB_VERSION = 149 | ||||
| 
 | ||||
| 
 | ||||
| # Variance created as sqlite has a bunch of undefined aggregate functions. | ||||
|  | @ -125,7 +125,8 @@ class Database: | |||
|                   {'tab':'Gametypes',       'col':'siteId',            'drop':0} | ||||
|                 , {'tab':'Hands',           'col':'gametypeId',        'drop':0} # mct 22/3/09 | ||||
|                 #, {'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':'HandsPlayers',    'col':'handId',            'drop':1} | ||||
|                 , {'tab':'HandsPlayers',    'col':'playerId',          'drop':1} | ||||
|  | @ -150,7 +151,8 @@ class Database: | |||
|                 , {'tab':'HandsPlayers',    'col':'handId',            'drop':0} | ||||
|                 , {'tab':'HandsPlayers',    'col':'playerId',          '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':'HudCache',        'col':'gametypeId',        'drop':1} | ||||
|                 , {'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':'playerId',      'rtab':'Players',       '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':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} | ||||
|                     , {'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':'HandsPlayers', 'fkcol':'handId',        'rtab':'Hands',         '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':'HudCache',     'fkcol':'gametypeId',    'rtab':'Gametypes',     'rcol':'id', 'drop':1} | ||||
|                     , {'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.__connected = True | ||||
|                 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) | ||||
|                 tmp = sqlitemath() | ||||
|                 self.connection.create_function("mod", 2, tmp.mod) | ||||
|  | @ -634,6 +638,18 @@ class Database: | |||
|         return c.fetchone()[0] | ||||
|     #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): | ||||
|         c = self.connection.cursor() | ||||
|         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 ('iPoker', 'IP')") | ||||
|         c.execute("INSERT INTO Sites (name,code) VALUES ('Winamax', 'WM')") | ||||
|         c.execute("INSERT INTO Sites (name,code) VALUES ('Everest', 'EP')") | ||||
|         #Fill Actions | ||||
|         c.execute("INSERT INTO Actions (name,code) VALUES ('ante', 'A')") | ||||
|         c.execute("INSERT INTO Actions (name,code) VALUES ('small blind', 'SB')") | ||||
|  | @ -1714,9 +1731,10 @@ class Database: | |||
| 
 | ||||
|         c.execute(q, ( | ||||
|                 p['tableName'], | ||||
|                 p['gametypeId'], | ||||
|                 p['siteHandNo'], | ||||
|                 p['tourneyId'], | ||||
|                 p['gametypeId'], | ||||
|                 p['sessionId'],                 | ||||
|                 p['startTime'],                 | ||||
|                 datetime.utcnow(), #importtime | ||||
|                 p['seats'], | ||||
|  | @ -1747,7 +1765,7 @@ class Database: | |||
|         return self.get_last_insert_id(c) | ||||
|     # 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) | ||||
|         if printdata: | ||||
|             import pprint | ||||
|  | @ -1755,7 +1773,6 @@ class Database: | |||
|             pp.pprint(pdata) | ||||
| 
 | ||||
|         inserts = [] | ||||
|         hpid = {} | ||||
|         for p in pdata: | ||||
|             inserts.append( (hid, | ||||
|                              pids[p], | ||||
|  | @ -1813,8 +1830,15 @@ class Database: | |||
|                              pdata[p]['street0_3BDone'], | ||||
|                              pdata[p]['street0_4BChance'], | ||||
|                              pdata[p]['street0_4BDone'], | ||||
|                              pdata[p]['other3BStreet0'], | ||||
|                              pdata[p]['other4BStreet0'], | ||||
|                              pdata[p]['street0_C4BChance'], | ||||
|                              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]['otherRaisedStreet1'], | ||||
|                              pdata[p]['otherRaisedStreet2'], | ||||
|  | @ -1854,23 +1878,16 @@ class Database: | |||
|                              pdata[p]['street4Raises'] | ||||
|                             ) ) | ||||
| 
 | ||||
|         if insert: | ||||
|             hp_bulk += inserts | ||||
|             q = self.sql.query['store_hands_players'] | ||||
|             q = q.replace('%s', self.sql.query['placeholder']) | ||||
| 
 | ||||
|         #print "DEBUG: inserts: %s" %inserts | ||||
|         #print "DEBUG: q: %s" % q | ||||
|             c = self.get_cursor() | ||||
|             c.executemany(q, hp_bulk) | ||||
|              | ||||
|         if self.import_options['saveActions']: | ||||
|             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 inserts | ||||
| 
 | ||||
|         return hpid | ||||
| 
 | ||||
|     def storeHandsActions(self, hid, pids, hpid, adata, printdata = False): | ||||
|     def storeHandsActions(self, hid, pids, adata, ha_bulk = None, insert = False, printdata = False): | ||||
|         #print "DEBUG: %s %s %s" %(hid, pids, adata) | ||||
| 
 | ||||
|         # This can be used to generate test data. Currently unused | ||||
|  | @ -1881,8 +1898,8 @@ class Database: | |||
| 
 | ||||
|         inserts = [] | ||||
|         for a in adata: | ||||
|             inserts.append( (hpid[(hid, pids[adata[a]['player']])], | ||||
|                             #self.getHandsPlayerId(self.hid, pids[adata[a]['player']]), | ||||
|             inserts.append( (hid, | ||||
|                              pids[adata[a]['player']], | ||||
|                              adata[a]['street'], | ||||
|                              adata[a]['actionNo'], | ||||
|                              adata[a]['streetActionNo'], | ||||
|  | @ -1895,11 +1912,14 @@ class Database: | |||
|                              adata[a]['allIn'] | ||||
|                             ) ) | ||||
| 
 | ||||
|         if insert: | ||||
|             ha_bulk += inserts | ||||
|             q = self.sql.query['store_hands_actions'] | ||||
|             q = q.replace('%s', self.sql.query['placeholder']) | ||||
| 
 | ||||
|             c = self.get_cursor() | ||||
|         c.executemany(q, inserts) | ||||
|             c.executemany(q, ha_bulk) | ||||
| 
 | ||||
|         return inserts | ||||
| 
 | ||||
|     def storeHudCache(self, gid, pids, starttime, pdata): | ||||
|         """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) | ||||
|         inserts = [] | ||||
|         for p in pdata: | ||||
|             line = [0]*85 | ||||
|             #NOTE: Insert new stats at right place because SQL needs strict order | ||||
|             line = [] | ||||
| 
 | ||||
|             line[0] = 1 # HDs | ||||
|             if pdata[p]['street0VPI']:                  line[1] = 1 | ||||
|             if pdata[p]['street0Aggr']:                 line[2] = 1 | ||||
|             if pdata[p]['street0_3BChance']:            line[3] = 1 | ||||
|             if pdata[p]['street0_3BDone']:              line[4] = 1 | ||||
|             if pdata[p]['street0_4BChance']:            line[5] = 1 | ||||
|             if pdata[p]['street0_4BDone']:              line[6] = 1 | ||||
|             if pdata[p]['other3BStreet0']:              line[7] = 1 | ||||
|             if pdata[p]['other4BStreet0']:              line[8] = 1 | ||||
|             if pdata[p]['street1Seen']:                 line[9] = 1 | ||||
|             if pdata[p]['street2Seen']:                 line[10] = 1 | ||||
|             if pdata[p]['street3Seen']:                 line[11] = 1 | ||||
|             if pdata[p]['street4Seen']:                 line[12] = 1 | ||||
|             if pdata[p]['sawShowdown']:                 line[13] = 1 | ||||
|             if pdata[p]['street1Aggr']:                 line[14] = 1 | ||||
|             if pdata[p]['street2Aggr']:                 line[15] = 1 | ||||
|             if pdata[p]['street3Aggr']:                 line[16] = 1 | ||||
|             if pdata[p]['street4Aggr']:                 line[17] = 1 | ||||
|             if pdata[p]['otherRaisedStreet0']:          line[18] = 1 | ||||
|             if pdata[p]['otherRaisedStreet1']:          line[19] = 1 | ||||
|             if pdata[p]['otherRaisedStreet2']:          line[20] = 1 | ||||
|             if pdata[p]['otherRaisedStreet3']:          line[21] = 1 | ||||
|             if pdata[p]['otherRaisedStreet4']:          line[22] = 1 | ||||
|             if pdata[p]['foldToOtherRaisedStreet0']:    line[23] = 1 | ||||
|             if pdata[p]['foldToOtherRaisedStreet1']:    line[24] = 1 | ||||
|             if pdata[p]['foldToOtherRaisedStreet2']:    line[25] = 1 | ||||
|             if pdata[p]['foldToOtherRaisedStreet3']:    line[26] = 1 | ||||
|             if pdata[p]['foldToOtherRaisedStreet4']:    line[27] = 1 | ||||
|             line[28] = pdata[p]['wonWhenSeenStreet1'] | ||||
|             line[29] = pdata[p]['wonWhenSeenStreet2'] | ||||
|             line[30] = pdata[p]['wonWhenSeenStreet3'] | ||||
|             line[31] = pdata[p]['wonWhenSeenStreet4'] | ||||
|             line[32] = pdata[p]['wonAtSD'] | ||||
|             if pdata[p]['raiseFirstInChance']:          line[33] = 1 | ||||
|             if pdata[p]['raisedFirstIn']:               line[34] = 1 | ||||
|             if pdata[p]['foldBbToStealChance']:         line[35] = 1 | ||||
|             if pdata[p]['foldedBbToSteal']:             line[36] = 1 | ||||
|             if pdata[p]['foldSbToStealChance']:         line[37] = 1 | ||||
|             if pdata[p]['foldedSbToSteal']:             line[38] = 1 | ||||
|             if pdata[p]['street1CBChance']:             line[39] = 1 | ||||
|             if pdata[p]['street1CBDone']:               line[40] = 1 | ||||
|             if pdata[p]['street2CBChance']:             line[41] = 1 | ||||
|             if pdata[p]['street2CBDone']:               line[42] = 1 | ||||
|             if pdata[p]['street3CBChance']:             line[43] = 1 | ||||
|             if pdata[p]['street3CBDone']:               line[44] = 1 | ||||
|             if pdata[p]['street4CBChance']:             line[45] = 1 | ||||
|             if pdata[p]['street4CBDone']:               line[46] = 1 | ||||
|             if pdata[p]['foldToStreet1CBChance']:       line[47] = 1 | ||||
|             if pdata[p]['foldToStreet1CBDone']:         line[48] = 1 | ||||
|             if pdata[p]['foldToStreet2CBChance']:       line[49] = 1 | ||||
|             if pdata[p]['foldToStreet2CBDone']:         line[50] = 1 | ||||
|             if pdata[p]['foldToStreet3CBChance']:       line[51] = 1 | ||||
|             if pdata[p]['foldToStreet3CBDone']:         line[52] = 1 | ||||
|             if pdata[p]['foldToStreet4CBChance']:       line[53] = 1 | ||||
|             if pdata[p]['foldToStreet4CBDone']:         line[54] = 1 | ||||
|             line[55] = pdata[p]['totalProfit'] | ||||
|             if pdata[p]['street1CheckCallRaiseChance']: line[56] = 1 | ||||
|             if pdata[p]['street1CheckCallRaiseDone']:   line[57] = 1 | ||||
|             if pdata[p]['street2CheckCallRaiseChance']: line[58] = 1 | ||||
|             if pdata[p]['street2CheckCallRaiseDone']:   line[59] = 1 | ||||
|             if pdata[p]['street3CheckCallRaiseChance']: line[60] = 1 | ||||
|             if pdata[p]['street3CheckCallRaiseDone']:   line[61] = 1 | ||||
|             if pdata[p]['street4CheckCallRaiseChance']: line[62] = 1 | ||||
|             if pdata[p]['street4CheckCallRaiseDone']:   line[63] = 1 | ||||
|             if pdata[p]['street0Calls']:                line[64] = 1 | ||||
|             if pdata[p]['street1Calls']:                line[65] = 1 | ||||
|             if pdata[p]['street2Calls']:                line[66] = 1 | ||||
|             if pdata[p]['street3Calls']:                line[67] = 1 | ||||
|             if pdata[p]['street4Calls']:                line[68] = 1 | ||||
|             if pdata[p]['street0Bets']:                 line[69] = 1 | ||||
|             if pdata[p]['street1Bets']:                 line[70] = 1 | ||||
|             if pdata[p]['street2Bets']:                 line[71] = 1 | ||||
|             if pdata[p]['street3Bets']:                 line[72] = 1 | ||||
|             if pdata[p]['street4Bets']:                 line[73] = 1 | ||||
|             if pdata[p]['street0Raises']:               line[74] = 1 | ||||
|             if pdata[p]['street1Raises']:               line[75] = 1 | ||||
|             if pdata[p]['street2Raises']:               line[76] = 1 | ||||
|             if pdata[p]['street3Raises']:               line[77] = 1 | ||||
|             if pdata[p]['street4Raises']:               line[78] = 1 | ||||
|             line.append(1)  # HDs | ||||
|             line.append(pdata[p]['street0VPI']) | ||||
|             line.append(pdata[p]['street0Aggr'])                  | ||||
|             line.append(pdata[p]['street0_3BChance'])             | ||||
|             line.append(pdata[p]['street0_3BDone'])               | ||||
|             line.append(pdata[p]['street0_4BChance'])             | ||||
|             line.append(pdata[p]['street0_4BDone'])               | ||||
|             line.append(pdata[p]['street0_C4BChance'])               | ||||
|             line.append(pdata[p]['street0_C4BDone'])               | ||||
|             line.append(pdata[p]['street0_FoldTo3BChance'])       | ||||
|             line.append(pdata[p]['street0_FoldTo3BDone'])         | ||||
|             line.append(pdata[p]['street0_FoldTo4BChance'])       | ||||
|             line.append(pdata[p]['street0_FoldTo4BDone'])         | ||||
|             line.append(pdata[p]['street0_SqueezeChance'])         | ||||
|             line.append(pdata[p]['street0_SqueezeDone'])         | ||||
|             line.append(pdata[p]['success_Steal'])         | ||||
|             line.append(pdata[p]['street1Seen'])                  | ||||
|             line.append(pdata[p]['street2Seen'])                  | ||||
|             line.append(pdata[p]['street3Seen'])                  | ||||
|             line.append(pdata[p]['street4Seen'])                  | ||||
|             line.append(pdata[p]['sawShowdown'])                  | ||||
|             line.append(pdata[p]['street1Aggr'])                  | ||||
|             line.append(pdata[p]['street2Aggr'])                  | ||||
|             line.append(pdata[p]['street3Aggr'])                  | ||||
|             line.append(pdata[p]['street4Aggr'])                  | ||||
|             line.append(pdata[p]['otherRaisedStreet0'])           | ||||
|             line.append(pdata[p]['otherRaisedStreet1'])           | ||||
|             line.append(pdata[p]['otherRaisedStreet2'])           | ||||
|             line.append(pdata[p]['otherRaisedStreet3'])           | ||||
|             line.append(pdata[p]['otherRaisedStreet4'])           | ||||
|             line.append(pdata[p]['foldToOtherRaisedStreet0'])     | ||||
|             line.append(pdata[p]['foldToOtherRaisedStreet1'])     | ||||
|             line.append(pdata[p]['foldToOtherRaisedStreet2'])     | ||||
|             line.append(pdata[p]['foldToOtherRaisedStreet3'])     | ||||
|             line.append(pdata[p]['foldToOtherRaisedStreet4'])     | ||||
|             line.append(pdata[p]['wonWhenSeenStreet1']) | ||||
|             line.append(pdata[p]['wonWhenSeenStreet2']) | ||||
|             line.append(pdata[p]['wonWhenSeenStreet3']) | ||||
|             line.append(pdata[p]['wonWhenSeenStreet4']) | ||||
|             line.append(pdata[p]['wonAtSD']) | ||||
|             line.append(pdata[p]['raiseFirstInChance'])           | ||||
|             line.append(pdata[p]['raisedFirstIn'])                | ||||
|             line.append(pdata[p]['foldBbToStealChance'])          | ||||
|             line.append(pdata[p]['foldedBbToSteal'])              | ||||
|             line.append(pdata[p]['foldSbToStealChance'])          | ||||
|             line.append(pdata[p]['foldedSbToSteal'])              | ||||
|             line.append(pdata[p]['street1CBChance'])              | ||||
|             line.append(pdata[p]['street1CBDone'])                | ||||
|             line.append(pdata[p]['street2CBChance'])              | ||||
|             line.append(pdata[p]['street2CBDone'])                | ||||
|             line.append(pdata[p]['street3CBChance'])              | ||||
|             line.append(pdata[p]['street3CBDone'])                | ||||
|             line.append(pdata[p]['street4CBChance'])              | ||||
|             line.append(pdata[p]['street4CBDone'])                | ||||
|             line.append(pdata[p]['foldToStreet1CBChance'])        | ||||
|             line.append(pdata[p]['foldToStreet1CBDone'])          | ||||
|             line.append(pdata[p]['foldToStreet2CBChance'])        | ||||
|             line.append(pdata[p]['foldToStreet2CBDone'])          | ||||
|             line.append(pdata[p]['foldToStreet3CBChance'])        | ||||
|             line.append(pdata[p]['foldToStreet3CBDone'])          | ||||
|             line.append(pdata[p]['foldToStreet4CBChance'])        | ||||
|             line.append(pdata[p]['foldToStreet4CBDone'])          | ||||
|             line.append(pdata[p]['totalProfit']) | ||||
|             line.append(pdata[p]['street1CheckCallRaiseChance'])  | ||||
|             line.append(pdata[p]['street1CheckCallRaiseDone'])    | ||||
|             line.append(pdata[p]['street2CheckCallRaiseChance'])  | ||||
|             line.append(pdata[p]['street2CheckCallRaiseDone'])    | ||||
|             line.append(pdata[p]['street3CheckCallRaiseChance'])  | ||||
|             line.append(pdata[p]['street3CheckCallRaiseDone'])    | ||||
|             line.append(pdata[p]['street4CheckCallRaiseChance'])  | ||||
|             line.append(pdata[p]['street4CheckCallRaiseDone'])    | ||||
|             line.append(pdata[p]['street0Calls'])                 | ||||
|             line.append(pdata[p]['street1Calls'])                 | ||||
|             line.append(pdata[p]['street2Calls'])                 | ||||
|             line.append(pdata[p]['street3Calls'])                 | ||||
|             line.append(pdata[p]['street4Calls'])                 | ||||
|             line.append(pdata[p]['street0Bets'])                  | ||||
|             line.append(pdata[p]['street1Bets'])                  | ||||
|             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[80] = pids[p]    # playerId | ||||
|             line[81] = len(pids)    # activeSeats | ||||
|             line.append(gid)          # gametypeId | ||||
|             line.append(pids[p])      # playerId | ||||
|             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' } | ||||
|             line[82] = pos[pdata[p]['position']] | ||||
|             line[83] = pdata[p]['tourneyTypeId'] | ||||
|             line[84] = styleKey    # styleKey | ||||
|             line.append(pos[pdata[p]['position']]) | ||||
|             line.append(pdata[p]['tourneyTypeId']) | ||||
|             line.append(styleKey)    # styleKey | ||||
|             inserts.append(line) | ||||
| 
 | ||||
| 
 | ||||
|  | @ -2040,10 +2068,9 @@ class Database: | |||
|                 pass | ||||
|              | ||||
|     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)) | ||||
|         bigBet = int(Decimal(game['bb'])*200) | ||||
|          | ||||
|         select_sessionscache = self.sql.query['select_sessionscache'] | ||||
|         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 = 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 | ||||
|         try: | ||||
|             # 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']=='tour'): line[1] = 1 # count tour hands | ||||
|                 if (game['type']=='ring'): line[2] = pdata[p]['totalProfit'] #sum of profit | ||||
|                 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']=='USD'): line[2] = pdata[p]['totalProfit'] #sum of ring profit in USD | ||||
|                 if (game['type']=='ring' and game['currency']=='EUR'): line[3] = pdata[p]['totalProfit'] #sum of ring profit in EUR | ||||
|                 line[4] = startTime | ||||
|                 inserts.append(line) | ||||
| 
 | ||||
|         cursor = self.get_cursor() | ||||
|         id = None | ||||
| 
 | ||||
|         for row in inserts: | ||||
|             threshold = [] | ||||
|             threshold.append(row[-1]-THRESHOLD) | ||||
|             threshold.append(row[-1]+THRESHOLD) | ||||
|             cursor.execute(select_sessionscache, threshold) | ||||
|             num = cursor.rowcount | ||||
|             session_records = cursor.fetchall() | ||||
|             num = len(session_records) | ||||
|             if (num == 1): | ||||
|                 id = session_records[0][0] #grab the sessionId | ||||
|                 # Try to do the update first: | ||||
|                 #print "DEBUG: found 1 record to update" | ||||
|                 update_mid = row + row[-1:] | ||||
|                 cursor.execute(select_sessionscache_mid, update_mid[-2:]) | ||||
|                 mid = cursor.rowcount | ||||
|                 mid = len(cursor.fetchall()) | ||||
|                 if (mid == 0): | ||||
|                     update_startend = row[-1:] + row + threshold | ||||
|                     cursor.execute(select_sessionscache_start, update_startend[-3:]) | ||||
|                     start = cursor.rowcount | ||||
|                     start = len(cursor.fetchall()) | ||||
|                     if (start == 0): | ||||
|                         #print "DEBUG:", start, " start record found. Update stats and start time" | ||||
|                         cursor.execute(update_sessionscache_end, update_startend)                  | ||||
|  | @ -2128,27 +2161,23 @@ class Database: | |||
|                     #print "DEBUG: update stats mid-session" | ||||
|                     cursor.execute(update_sessionscache_mid, update_mid) | ||||
|             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: | ||||
|                 #print "DEBUG:", num, "matches found" | ||||
|                 cursor.execute(merge_sessionscache, threshold) | ||||
|                 # - Obtain the session start and end times for the new combined session | ||||
|                 cursor.execute(merge_sessionscache, session_ids) | ||||
|                 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) | ||||
|                 # - 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:] | ||||
|                 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) | ||||
|             elif (num == 0): | ||||
|                 # No matches found, insert new session: | ||||
|  | @ -2156,10 +2185,13 @@ class Database: | |||
|                 insert = insert[-2:] + insert[:-2] | ||||
|                 #print "DEBUG: No matches found. Insert record", insert | ||||
|                 cursor.execute(insert_sessionscache, insert) | ||||
|                 id = self.get_last_insert_id(cursor) #grab the sessionId | ||||
|             else: | ||||
|                 # Something bad happened | ||||
|                 pass | ||||
|          | ||||
|         return id  | ||||
| 
 | ||||
|     def isDuplicate(self, gametypeID, siteHandNo): | ||||
|         dup = False | ||||
|         c = self.get_cursor() | ||||
|  |  | |||
|  | @ -30,62 +30,76 @@ class DerivedStats(): | |||
|         self.hands        = {} | ||||
|         self.handsplayers = {} | ||||
|         self.handsactions = {} | ||||
|         self._initStats = DerivedStats._buildStatsInitializer() | ||||
| 
 | ||||
|     def getStats(self, hand): | ||||
|          | ||||
|         for player in hand.players: | ||||
|             self.handsplayers[player[1]] = {} | ||||
|     @staticmethod | ||||
|     def _buildStatsInitializer(): | ||||
|         init = {} | ||||
|         #Init vars that may not be used, but still need to be inserted. | ||||
|         # All stud street4 need this when importing holdem | ||||
|             self.handsplayers[player[1]]['winnings']    = 0 | ||||
|             self.handsplayers[player[1]]['rake']        = 0 | ||||
|             self.handsplayers[player[1]]['totalProfit'] = 0 | ||||
|             self.handsplayers[player[1]]['street4Aggr'] = False | ||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet1'] = 0.0 | ||||
|             self.handsplayers[player[1]]['sawShowdown'] = False | ||||
|             self.handsplayers[player[1]]['wonAtSD']     = 0.0 | ||||
|             self.handsplayers[player[1]]['startCards']  = 0 | ||||
|             self.handsplayers[player[1]]['position']            = 2 | ||||
|             self.handsplayers[player[1]]['street0_3BChance']    = False | ||||
|             self.handsplayers[player[1]]['street0_3BDone']      = False | ||||
|             self.handsplayers[player[1]]['street0_4BChance']    = False #FIXME: this might not actually be implemented | ||||
|             self.handsplayers[player[1]]['street0_4BDone']      = False #FIXME: this might not actually be implemented | ||||
|             self.handsplayers[player[1]]['raiseFirstInChance']  = False | ||||
|             self.handsplayers[player[1]]['raisedFirstIn']       = False | ||||
|             self.handsplayers[player[1]]['foldBbToStealChance'] = False | ||||
|             self.handsplayers[player[1]]['foldSbToStealChance'] = False | ||||
|             self.handsplayers[player[1]]['foldedSbToSteal']     = False | ||||
|             self.handsplayers[player[1]]['foldedBbToSteal']     = False | ||||
|             self.handsplayers[player[1]]['tourneyTypeId']       = None | ||||
|             self.handsplayers[player[1]]['street1Seen']         = False | ||||
|             self.handsplayers[player[1]]['street2Seen']         = False | ||||
|             self.handsplayers[player[1]]['street3Seen']         = False | ||||
|             self.handsplayers[player[1]]['street4Seen']         = False | ||||
|         init['winnings']    = 0 | ||||
|         init['rake']        = 0 | ||||
|         init['totalProfit'] = 0 | ||||
|         init['street4Aggr'] = False | ||||
|         init['wonWhenSeenStreet1'] = 0.0 | ||||
|         init['sawShowdown'] = False | ||||
|         init['wonAtSD']     = 0.0 | ||||
|         init['startCards']  = 0 | ||||
|         init['position']            = 2 | ||||
|         init['street0_3BChance']    = False | ||||
|         init['street0_3BDone']      = False | ||||
|         init['street0_4BChance']    = False | ||||
|         init['street0_4BDone']      = False | ||||
|         init['street0_C4BChance']   = False | ||||
|         init['street0_C4BDone']     = False | ||||
|         init['street0_FoldTo3BChance']= False | ||||
|         init['street0_FoldTo3BDone']= False | ||||
|         init['street0_FoldTo4BChance']= False | ||||
|         init['street0_FoldTo4BDone']= False | ||||
|         init['street0_SqueezeChance']= False | ||||
|         init['street0_SqueezeDone'] = False | ||||
|         init['success_Steal']       = False | ||||
|         init['raiseFirstInChance']  = 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): | ||||
|                 self.handsplayers[player[1]]['street%dCalls' % i] = 0 | ||||
|                 self.handsplayers[player[1]]['street%dBets' % i] = 0 | ||||
|                 self.handsplayers[player[1]]['street%dRaises' % i] = 0 | ||||
|             init['street%dCalls' % i] = 0 | ||||
|             init['street%dBets' % i] = 0 | ||||
|             init['street%dRaises' % i] = 0 | ||||
|         for i in range(1,5): | ||||
|                 self.handsplayers[player[1]]['street%dCBChance' %i] = False | ||||
|                 self.handsplayers[player[1]]['street%dCBDone' %i] = False | ||||
|                 self.handsplayers[player[1]]['street%dCheckCallRaiseChance' %i] = False | ||||
|                 self.handsplayers[player[1]]['street%dCheckCallRaiseDone' %i]   = False | ||||
|                 self.handsplayers[player[1]]['otherRaisedStreet%d' %i]          = False | ||||
|                 self.handsplayers[player[1]]['foldToOtherRaisedStreet%d' %i]    = False | ||||
|             init['street%dCBChance' %i] = False | ||||
|             init['street%dCBDone' %i] = False | ||||
|             init['street%dCheckCallRaiseChance' %i] = False | ||||
|             init['street%dCheckCallRaiseDone' %i]   = False | ||||
|             init['otherRaisedStreet%d' %i]          = False | ||||
|             init['foldToOtherRaisedStreet%d' %i]    = False | ||||
| 
 | ||||
|         #FIXME - Everything below this point is incomplete. | ||||
|             self.handsplayers[player[1]]['other3BStreet0']              = False | ||||
|             self.handsplayers[player[1]]['other4BStreet0']              = False | ||||
|             self.handsplayers[player[1]]['otherRaisedStreet0']          = False | ||||
|             self.handsplayers[player[1]]['foldToOtherRaisedStreet0']    = False | ||||
|         init['other3BStreet0']              = False | ||||
|         init['other4BStreet0']              = False | ||||
|         init['otherRaisedStreet0']          = False | ||||
|         init['foldToOtherRaisedStreet0']    = False | ||||
|         for i in range(1,5): | ||||
|                 self.handsplayers[player[1]]['foldToStreet%dCBChance' %i]       = False | ||||
|                 self.handsplayers[player[1]]['foldToStreet%dCBDone' %i]         = False | ||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet2'] = 0.0 | ||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet3'] = 0.0 | ||||
|             self.handsplayers[player[1]]['wonWhenSeenStreet4'] = 0.0 | ||||
|             init['foldToStreet%dCBChance' %i]       = False | ||||
|             init['foldToStreet%dCBDone' %i]         = False | ||||
|         init['wonWhenSeenStreet2'] = 0.0 | ||||
|         init['wonWhenSeenStreet3'] = 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.assembleHandsPlayers(self.hand) | ||||
|  | @ -106,6 +120,7 @@ class DerivedStats(): | |||
|         self.hands['tableName']  = hand.tablename | ||||
|         self.hands['siteHandNo'] = hand.handid | ||||
|         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['importTime'] = None | ||||
|         self.hands['seats']      = self.countPlayers(hand)  | ||||
|  | @ -413,8 +428,10 @@ class DerivedStats(): | |||
|             #print "\naction:", action[0], posn, type(posn), steal_attempt, act | ||||
|             if posn == 'B': | ||||
|                 #NOTE: Stud games will never hit this section | ||||
|                 self.handsplayers[pname]['foldBbToStealChance'] = steal_attempt | ||||
|                 self.handsplayers[pname]['foldedBbToSteal'] = steal_attempt and act == 'folds' | ||||
|                 if steal_attempt: | ||||
|                     self.handsplayers[pname]['foldBbToStealChance'] = True | ||||
|                     self.handsplayers[pname]['foldedBbToSteal'] = act == 'folds' | ||||
|                     self.handsplayers[stealer]['success_Steal'] = act == 'folds' | ||||
|                 break | ||||
|             elif posn == 'S': | ||||
|                 self.handsplayers[pname]['foldSbToStealChance'] = steal_attempt | ||||
|  | @ -430,6 +447,7 @@ class DerivedStats(): | |||
|                     raised = True | ||||
|                     if posn in steal_positions: | ||||
|                         steal_attempt = True | ||||
|                         stealer = pname | ||||
|                 if act == 'calls': | ||||
|                     break | ||||
|              | ||||
|  | @ -439,16 +457,48 @@ class DerivedStats(): | |||
|     def calc34BetStreet0(self, hand): | ||||
|         """Fills street0_(3|4)B(Chance|Done), other(3|4)BStreet0""" | ||||
|         bet_level = 1 # bet_level after 3-bet is equal to 3 | ||||
|         squeeze_chance = 0 | ||||
|         for action in hand.actions[hand.actionStreets[1]]: | ||||
|             # FIXME: fill other(3|4)BStreet0 - i have no idea what does it mean | ||||
|             pname, aggr = action[0], action[1] in ('raises', 'bets') | ||||
|             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']) | ||||
|             pname, act, aggr = action[0], action[1], action[1] in ('raises', 'bets') | ||||
|             if bet_level == 1: | ||||
|                 if aggr: | ||||
|                     first_agressor = pname | ||||
|                     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): | ||||
|         """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') | ||||
|                           ,'datestitle':_('Date:') | ||||
|                           ,'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() | ||||
|  | @ -66,10 +66,20 @@ class Filters(threading.Thread): | |||
|         if 'day_start' in gen: | ||||
|             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 | ||||
|         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.callback = {} | ||||
| 
 | ||||
|  | @ -144,10 +154,13 @@ class Filters(threading.Thread): | |||
|         self.cbFL = None | ||||
|         self.cbNL = None | ||||
|         self.cbPL = None | ||||
|         self.cbCN = None | ||||
|         self.rb = {}     # radio buttons for ring/tour | ||||
|         self.type = None # ring/tour | ||||
|         self.types = {}  # list of all ring/tour values | ||||
|         self.num_limit_types = 0 | ||||
| 
 | ||||
|         self.num_limit_types = 0 | ||||
|         self.fillLimitsFrame(vbox, self.display) | ||||
|         limitsFrame.add(vbox) | ||||
| 
 | ||||
|  | @ -245,7 +258,7 @@ class Filters(threading.Thread): | |||
| 
 | ||||
|     def get_vbox(self): | ||||
|         """returns the vbox of this thread""" | ||||
|         return self.mainVBox | ||||
|         return self.sw | ||||
|     #end def get_vbox | ||||
| 
 | ||||
|     def getNumHands(self): | ||||
|  | @ -419,13 +432,16 @@ class Filters(threading.Thread): | |||
|         #print "__set_limit_select:  limit =", limit, w.get_active() | ||||
|         self.limits[limit] = w.get_active() | ||||
|         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.cbNoLimits is not None: | ||||
|                     self.cbNoLimits.set_active(False) | ||||
|             # turning a leaf limit off with 'All' checked turns 'All' off | ||||
|             else: | ||||
|                 if self.cbAllLimits is not None: | ||||
|                     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 limit.isdigit(): | ||||
|                     if self.cbFL is not None: | ||||
|  | @ -433,29 +449,44 @@ class Filters(threading.Thread): | |||
|                 elif (len(limit) > 2 and (limit[-2:] == 'nl')): | ||||
|                     if self.cbNL is not None: | ||||
|                         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: | ||||
|                     if self.cbPL is not None: | ||||
|                         self.cbPL.set_active(False) | ||||
|         elif limit == "all": | ||||
|             if self.limits[limit]: | ||||
|                 #for cb in self.cbLimits.values(): | ||||
|                 #    cb.set_active(True) | ||||
|                 if self.num_limit_types == 1: | ||||
|                     for cb in self.cbLimits.values(): | ||||
|                         cb.set_active(True) | ||||
|                 else: | ||||
|                     if self.cbFL is not None: | ||||
|                         self.cbFL.set_active(True) | ||||
|                     if self.cbNL is not None: | ||||
|                         self.cbNL.set_active(True) | ||||
|                     if self.cbPL is not None: | ||||
|                         self.cbPL.set_active(True) | ||||
|                     if self.cbCN is not None: | ||||
|                         self.cbCN.set_active(True) | ||||
|         elif limit == "none": | ||||
|             if self.limits[limit]: | ||||
|                 for cb in self.cbLimits.values(): | ||||
|                     cb.set_active(False) | ||||
|                 if self.num_limit_types > 1: | ||||
|                     if self.cbNL is not None: | ||||
|                         self.cbNL.set_active(False) | ||||
|                     if self.cbFL is not None: | ||||
|                         self.cbFL.set_active(False) | ||||
|                     if self.cbPL is not None: | ||||
|                         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": | ||||
|             if not self.limits[limit]: | ||||
|                 # only toggle all fl limits off if they are all currently on | ||||
|  | @ -535,6 +566,29 @@ class Filters(threading.Thread): | |||
|                     elif self.type == 'tour': | ||||
|                         if 'ring' in self.rb: | ||||
|                             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": | ||||
|             log.debug("set", limit, "to", 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.set_alignment(xalign=1.0, yalign=0.5) | ||||
|         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) | ||||
|         self.boxes['limits'] = vbox1 | ||||
| 
 | ||||
|         self.cursor.execute(self.sql.query['getCashLimits']) | ||||
|         # selects  limitType, bigBlind | ||||
|         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: | ||||
|             hbox = gtk.HBox(True, 0) | ||||
|  | @ -741,6 +796,9 @@ class Filters(threading.Thread): | |||
|                     elif line[1] == 'pl': | ||||
|                         name = str(line[2])+line[1] | ||||
|                         self.found['pl'] = True | ||||
|                     elif line[1] == 'cn': | ||||
|                         name = str(line[2])+line[1] | ||||
|                         self.found['cn'] = True | ||||
|                     else: | ||||
|                         name = str(line[2])+line[1] | ||||
|                         self.found['nl'] = True | ||||
|  | @ -765,11 +823,12 @@ class Filters(threading.Thread): | |||
| 
 | ||||
|                 dest = vbox3  # for ring/tour buttons | ||||
|                 if "LimitType" in display and display["LimitType"] == True: | ||||
|                     num_limit_types = 0 | ||||
|                     if self.found['fl']:  num_limit_types = num_limit_types + 1 | ||||
|                     if self.found['pl']:  num_limit_types = num_limit_types + 1 | ||||
|                     if self.found['nl']:  num_limit_types = num_limit_types + 1 | ||||
|                     if num_limit_types > 1: | ||||
|                     self.num_limit_types = 0 | ||||
|                     if self.found['fl']:  self.num_limit_types = self.num_limit_types + 1 | ||||
|                     if self.found['pl']:  self.num_limit_types = self.num_limit_types + 1 | ||||
|                     if self.found['nl']:  self.num_limit_types = self.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']: | ||||
|                            hbox = gtk.HBox(False, 0) | ||||
|                            vbox3.pack_start(hbox, False, False, 0) | ||||
|  | @ -782,6 +841,10 @@ class Filters(threading.Thread): | |||
|                            hbox = gtk.HBox(False, 0) | ||||
|                            vbox3.pack_start(hbox, False, False, 0) | ||||
|                            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 | ||||
|         else: | ||||
|             print _("INFO: No games returned from database") | ||||
|  | @ -807,19 +870,24 @@ class Filters(threading.Thread): | |||
|     def fillGraphOpsFrame(self, vbox): | ||||
|         top_hbox = gtk.HBox(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) | ||||
|         top_hbox.pack_start(title, expand=True, padding=3) | ||||
|         showb = gtk.Button(label="hide", stock=None, use_underline=True) | ||||
|         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) | ||||
| 
 | ||||
|         vbox1 = gtk.VBox(False, 0) | ||||
|         vbox.pack_start(vbox1, False, False, 0) | ||||
|         vbox1.show() | ||||
|         self.boxes['graphops'] = vbox1 | ||||
| 
 | ||||
|         hbox1 = gtk.HBox(False, 0) | ||||
|         vbox.pack_start(hbox1, False, False, 0) | ||||
|         vbox1.pack_start(hbox1, False, False, 0) | ||||
|         hbox1.show() | ||||
| 
 | ||||
|         label = gtk.Label("Show Graph In:") | ||||
|         label = gtk.Label(_("Show Graph In:")) | ||||
|         label.set_alignment(xalign=0.0, yalign=0.5) | ||||
|         hbox1.pack_start(label, True, True, 0) | ||||
|         label.show() | ||||
|  | @ -835,11 +903,7 @@ class Filters(threading.Thread): | |||
|         button.connect("toggled", self.__set_displayin_select, "BB") | ||||
|         button.show() | ||||
| 
 | ||||
|         vbox1 = gtk.VBox(False, 0) | ||||
|         vbox.pack_start(vbox1, False, False, 0) | ||||
|         vbox1.show() | ||||
| 
 | ||||
|         button = gtk.CheckButton("Showdown Winnings", False) | ||||
|         button = gtk.CheckButton(_("Showdown Winnings"), False) | ||||
|         vbox1.pack_start(button, True, True, 0) | ||||
|         # 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? | ||||
|  | @ -847,7 +911,7 @@ class Filters(threading.Thread): | |||
|         button.connect("toggled", self.__set_graphopscheck_select, "showdown") | ||||
|         button.show() | ||||
| 
 | ||||
|         button = gtk.CheckButton("Non-Showdown Winnings", False) | ||||
|         button = gtk.CheckButton(_("Non-Showdown Winnings"), False) | ||||
|         vbox1.pack_start(button, True, True, 0) | ||||
|         # ditto as 8 lines up :) | ||||
|         #button.set_active(True) | ||||
|  | @ -1092,3 +1156,4 @@ def main(argv=None): | |||
| 
 | ||||
| if __name__ == '__main__': | ||||
|    sys.exit(main()) | ||||
| 
 | ||||
|  |  | |||
|  | @ -80,6 +80,7 @@ class FullTiltPokerSummary(TourneySummary): | |||
|     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_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]+)") | ||||
| 
 | ||||
|  | @ -126,6 +127,7 @@ class FullTiltPokerSummary(TourneySummary): | |||
|         elif mg['CURRENCY'] == "FPP": self.currency="PSFP" | ||||
| 
 | ||||
|         m = self.re_Player.finditer(self.summaryText) | ||||
|         playercount = 0 | ||||
|         for a in m: | ||||
|             mg = a.groupdict() | ||||
|             #print "DEBUG: a.groupdict(): %s" % mg | ||||
|  | @ -136,4 +138,14 @@ class FullTiltPokerSummary(TourneySummary): | |||
|             if 'WINNINGS' in mg and mg['WINNINGS'] != None: | ||||
|                 winnings = int(100*Decimal(mg['WINNINGS'])) | ||||
|             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'), | ||||
|                         '8.00': ('2.00', '4.00'),       '8': ('2.00', '4.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'), | ||||
|                        '30.00': ('10.00', '15.00'),    '30': ('10.00', '15.00'), | ||||
|                        '40.00': ('10.00', '20.00'),    '40': ('10.00', '20.00'), | ||||
|  | @ -77,17 +78,18 @@ class Fulltilt(HandHistoryConverter): | |||
|                                  ''' % substitutions, re.VERBOSE) | ||||
|     re_SplitHands   = re.compile(r"\n\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)? | ||||
|                                     (Table|Match)\s  | ||||
|                                     ((Table|Match)\s)? | ||||
|                                     (?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 | ||||
|                                     [%(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)? | ||||
|                                     (?P<GAMETYPE>[-\da-zA-Z\/\'\s]+)\s-\s | ||||
|                                     (?P<DATETIME>.*$) | ||||
|                                     (?P<PARTIAL>\(partial\))?\n | ||||
|                                     (?P<PARTIAL>\(partial\))?\s | ||||
|                                     (?:.*?\n(?P<CANCELLED>Hand\s\#(?P=HID)\shas\sbeen\scanceled))? | ||||
|                                  ''' % substitutions, re.MULTILINE|re.VERBOSE) | ||||
|     re_TourneyExtraInfo  = re.compile('''(((?P<TOURNEY_NAME>[^$]+)? | ||||
|  | @ -99,7 +101,7 @@ class Fulltilt(HandHistoryConverter): | |||
|                                     ''' % substitutions, re.VERBOSE) | ||||
|     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_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>.+)\]") | ||||
| 
 | ||||
|     #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_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. | ||||
|     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) | ||||
|         if not m: | ||||
|             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: Raising FpdbParseError")) | ||||
|             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) | ||||
|         mg = m.groupdict() | ||||
| 
 | ||||
|  | @ -262,6 +264,8 @@ class Fulltilt(HandHistoryConverter): | |||
|             tmp = hand.handText[0:100] | ||||
|             log.error(_("readHandInfo: Unable to recognise handinfo from: '%s'") % tmp) | ||||
|             raise FpdbParseError(_("No match in readHandInfo.")) | ||||
| 
 | ||||
|         #print "DEBUG: m.groupdict: %s" % m.groupdict() | ||||
|         hand.handid = m.group('HID') | ||||
|         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')) | ||||
|                     timezone = a.group('TZ2') | ||||
|                     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") | ||||
| 
 | ||||
|         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')) | ||||
| 
 | ||||
|         if m.group('TABLEATTRIBUTES'): | ||||
|  | @ -335,7 +342,7 @@ class Fulltilt(HandHistoryConverter): | |||
|     def readPlayerStacks(self, hand): | ||||
|         # Split hand text for FTP, as the regex matches the player names incorrectly | ||||
|         # in the summary section | ||||
|         pre, post = hand.handText.split('SUMMARY') | ||||
|         pre, post = hand.handText.split('*** SUMMARY ***') | ||||
|         m = self.re_PlayerInfo.finditer(pre) | ||||
|         plist = {} | ||||
| 
 | ||||
|  | @ -348,7 +355,7 @@ class Fulltilt(HandHistoryConverter): | |||
|             n = self.re_SummarySitout.finditer(post) | ||||
|             for b in n: | ||||
|                 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 | ||||
|         for a in plist: | ||||
|  | @ -372,8 +379,8 @@ class Fulltilt(HandHistoryConverter): | |||
|                            r"(\*\*\* 7TH STREET \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) | ||||
|         elif hand.gametype['base'] in ("draw"): | ||||
|             m =  re.search(r"(?P<PREDEAL>.+(?=\*\*\* HOLE CARDS \*\*\*)|.+)" | ||||
|                            r"(\*\*\* HOLE CARDS \*\*\*(?P<DEAL>.+(?=\*\*\* FIRST DRAW \*\*\*)|.+))?" | ||||
|                            r"(\*\*\* FIRST DRAW \*\*\*(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" | ||||
|                            r"(\*\*\* HOLE CARDS \*\*\*(?P<DEAL>.+(?=(\*\*\* FIRST DRAW \*\*\*|\*\*\* DRAW \*\*\*))|.+))?" | ||||
|                            r"((\*\*\* FIRST DRAW \*\*\*|\*\*\* DRAW \*\*\*)(?P<DRAWONE>.+(?=\*\*\* SECOND DRAW \*\*\*)|.+))?" | ||||
|                            r"(\*\*\* SECOND DRAW \*\*\*(?P<DRAWTWO>.+(?=\*\*\* THIRD DRAW \*\*\*)|.+))?" | ||||
|                            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") | ||||
|         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() | ||||
|         hbox.pack_start(lbl2, expand=True, fill=False) | ||||
|  | @ -190,6 +194,31 @@ class GuiAutoImport (threading.Thread): | |||
| 
 | ||||
|         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): | ||||
|         """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()] | ||||
|         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'] | ||||
|         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 " | ||||
|                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) | ||||
|         if lims: | ||||
|  | @ -313,6 +314,14 @@ class GuiGraphViewer (threading.Thread): | |||
|             blindtest = str(tuple(nolims)) | ||||
|             blindtest = blindtest.replace("L", "") | ||||
|             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 + ' ) )' | ||||
|         else: | ||||
|             limittest = limittest + '(-1) ) )' | ||||
|  |  | |||
|  | @ -15,6 +15,9 @@ | |||
| #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() | ||||
| 
 | ||||
| import threading | ||||
| import pygtk | ||||
| pygtk.require('2.0') | ||||
|  | @ -22,18 +25,6 @@ import gtk | |||
| import os | ||||
| 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 Database | ||||
| import Filters | ||||
|  |  | |||
|  | @ -15,6 +15,9 @@ | |||
| #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() | ||||
| 
 | ||||
| import xml.dom.minidom | ||||
| from xml.dom.minidom import Node | ||||
| 
 | ||||
|  | @ -23,18 +26,6 @@ pygtk.require('2.0') | |||
| import gtk | ||||
| 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 | ||||
| 
 | ||||
| rewrite = { 'general' : 'General',                   'supported_databases' : 'Databases' | ||||
|  |  | |||
|  | @ -50,6 +50,9 @@ onlinehelp = {'Game':_('Type of Game'), | |||
|               'VPIP':_('Voluntarily Putting In the pot\n(blinds excluded)'), | ||||
|               'PFR':_('% Pre Flop Raise'), | ||||
|               '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'), | ||||
|               'AggFreq':_('Aggression Frequency\nBet or Raise vs Fold'), | ||||
|               'ContBet':_('Continuation Bet post-flop'), | ||||
|  | @ -339,7 +342,7 @@ class GuiRingPlayerStats (GuiPlayerStats.GuiPlayerStats): | |||
|     #end def createStatsTable | ||||
| 
 | ||||
|     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 | ||||
| 
 | ||||
|     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()] | ||||
|         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'] | ||||
|         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 " | ||||
|                  # and ( (limit and bb in()) or (nolimit and bb in ()) ) | ||||
|         if lims: | ||||
|  | @ -642,6 +646,14 @@ class GuiRingPlayerStats (GuiPlayerStats.GuiPlayerStats): | |||
|             blindtest = str(tuple(nolims)) | ||||
|             blindtest = blindtest.replace("L", "") | ||||
|             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 + ' ) )' | ||||
|         else: | ||||
|             bbtest = bbtest + '(-1) ) )' | ||||
|  |  | |||
|  | @ -434,7 +434,7 @@ class GuiTourneyPlayerStats (GuiPlayerStats.GuiPlayerStats): | |||
|     #end def refreshStats | ||||
|      | ||||
|     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 | ||||
| 
 | ||||
|     def sortCols(self, col, nums): | ||||
|  |  | |||
|  | @ -211,7 +211,7 @@ Left-Drag to Move" | |||
|             </layout> | ||||
|         </site> | ||||
| 
 | ||||
|         <site enabled="False" | ||||
|         <site enabled="True" | ||||
|               site_name="Everleaf" | ||||
|               table_finder="Everleaf.exe" | ||||
|               screen_name="Hero" | ||||
|  | @ -255,7 +255,7 @@ Left-Drag to Move" | |||
|             </layout> | ||||
|         </site> | ||||
| 
 | ||||
|         <site enabled="False" | ||||
|         <site enabled="True" | ||||
|               site_name="Win2day" | ||||
|               table_finder="Win2day.exe" | ||||
|               screen_name="Hero" | ||||
|  | @ -300,7 +300,7 @@ Left-Drag to Move" | |||
|         </site> | ||||
| 
 | ||||
| 
 | ||||
|         <site enabled="False" | ||||
|         <site enabled="True" | ||||
|               site_name="Absolute" | ||||
|               table_finder="AbsolutePoker.exe" | ||||
|               screen_name="Hero" | ||||
|  | @ -345,7 +345,7 @@ Left-Drag to Move" | |||
|         </site> | ||||
| 
 | ||||
| 
 | ||||
|         <site enabled="False" | ||||
|         <site enabled="True" | ||||
|               site_name="PartyPoker" | ||||
|               table_finder="PartyGaming.exe" | ||||
|               screen_name="Hero" | ||||
|  | @ -390,7 +390,7 @@ Left-Drag to Move" | |||
|         </site> | ||||
| 
 | ||||
| 
 | ||||
|         <site enabled="False" | ||||
|         <site enabled="True" | ||||
|               site_name="Betfair" | ||||
|               table_finder="Betfair Poker.exe" | ||||
|               screen_name="Hero" | ||||
|  | @ -433,6 +433,188 @@ Left-Drag to Move" | |||
|                 <location seat="9" x="70" y="53">  </location> | ||||
|             </layout> | ||||
|         </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_games> | ||||
|  | @ -577,7 +759,7 @@ Left-Drag to Move" | |||
|         <hhc site="Carbon" converter="CarbonToFpdb"/> | ||||
|         <hhc site="PKR" converter="PkrToFpdb"/> | ||||
|         <hhc site="iPoker" converter="iPokerToFpdb"/> | ||||
|         <hhc site="Winamax" converter="WinamaxToFpdb"/> | ||||
|         <hhc site="Winamax" converter="WinamaxToFpdb" summaryImporter="WinamaxSummary"/> | ||||
|     </hhcs> | ||||
| 
 | ||||
|     <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="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="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="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" /> | ||||
|  | @ -525,6 +528,18 @@ Left-Drag to Move" | |||
|                 <location seat="8" x="0" y="181">  </location> | ||||
|                 <location seat="9" x="70" y="53">  </location> | ||||
|             </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 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> | ||||
|         </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_games> | ||||
|  | @ -707,8 +758,14 @@ Left-Drag to Move" | |||
|             <pu_stat pu_stat_name="n"> </pu_stat> | ||||
|             <pu_stat pu_stat_name="vpip"> </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="s_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_SB_steal"> </pu_stat> | ||||
|  | @ -789,6 +846,7 @@ Left-Drag to Move" | |||
|         <hhc site="PKR" converter="PkrToFpdb"/> | ||||
|         <hhc site="iPoker" converter="iPokerToFpdb"/> | ||||
|         <hhc site="Winamax" converter="WinamaxToFpdb"/> | ||||
|         <hhc site="Everest" converter="EverestToFpdb"/> | ||||
|     </hhcs> | ||||
| 
 | ||||
|     <raw_hands save="none" compression="none"/> | ||||
|  |  | |||
|  | @ -23,6 +23,9 @@ | |||
| 
 | ||||
| Main for FreePokerTools HUD. | ||||
| """ | ||||
| import L10n | ||||
| _ = L10n.get_translation() | ||||
| 
 | ||||
| #    Standard Library modules | ||||
| import sys | ||||
| import os | ||||
|  | @ -51,21 +54,6 @@ elif sys.platform == 'darwin': | |||
| else: # This is bad--figure out the values for the various windows flavors | ||||
|     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 | ||||
| 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') | ||||
|  | @ -128,7 +116,7 @@ class HUD_main(object): | |||
|                 self.main_window.set_icon_stock(gtk.STOCK_HOME) | ||||
|             if not options.hidden: | ||||
|                 self.main_window.show_all() | ||||
| #            gobject.timeout_add(100, self.check_tables) | ||||
|             gobject.timeout_add(800, self.check_tables) | ||||
| 
 | ||||
|         except: | ||||
|             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) ) | ||||
|         self.config = config | ||||
|         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) | ||||
|         self.sitename = 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() | ||||
|     #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 | ||||
| Should not commit, and do minimal selects. Callers may want to cache commits | ||||
| db: a connected Database object""" | ||||
|  | @ -277,17 +278,26 @@ db: a connected Database object""" | |||
|             # seats TINYINT NOT NULL, | ||||
|             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_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: | ||||
|                 db.storeHandsActions(self.dbid_hands, self.dbid_pids, self.dbid_hpid, | ||||
|                                      self.stats.getHandsActions(), printdata = printtest) | ||||
|                 ha_inserts = db.storeHandsActions(self.dbid_hands, self.dbid_pids, self.stats.getHandsActions(), | ||||
|                                                    insert=insert_data, ha_bulk = ha_data, printdata = printtest) | ||||
|         else: | ||||
|             log.info(_("Hand.insert(): hid #: %s is a duplicate") % hh['siteHandNo']) | ||||
|             self.is_duplicate = True  # i.e. don't update hudcache | ||||
|             raise FpdbHandDuplicate(hh['siteHandNo']) | ||||
|          | ||||
|         return hp_inserts, ha_inserts | ||||
| 
 | ||||
|     def updateHudCache(self, db): | ||||
|         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 | ||||
|         #       MySQL maybe: cursorclass=MySQLdb.cursors.DictCursor | ||||
|         res = c.fetchone() | ||||
| 
 | ||||
|         #res['tourneyId'] #res['seats'] #res['rush'] | ||||
|         self.tablename = res['tableName'] | ||||
|         self.handid    = res['siteHandNo'] | ||||
|         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'] | ||||
|         #res['rush'] | ||||
| 
 | ||||
|         cards = map(Card.valueSuitFromCard, [res['boardcard1'], res['boardcard2'], res['boardcard3'], res['boardcard4'], res['boardcard5']]) | ||||
|         #print "DEBUG: res['boardcard1']: %s" % res['boardcard1'] | ||||
|         #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.""" | ||||
|         log.debug("addPlayer: %s %s (%s)" % (seat, name, chips)) | ||||
|         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.stacks[name] = Decimal(chips) | ||||
|             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". | ||||
| """ | ||||
|         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) | ||||
|         Bp = self.lastBet[street] | ||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) | ||||
|         Bc = sum(self.bets[street][player]) | ||||
|         C = Bp - Bc | ||||
|         if Ai <= C: | ||||
|             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): | ||||
|         log.debug("%s %s antes %s" % ('BLINDSANTES', player, ante)) | ||||
|         if player is not None: | ||||
|             ante = re.sub(u',', u'', ante) #some sites have commas | ||||
|             self.bets['BLINDSANTES'][player].append(Decimal(ante)) | ||||
|             self.stacks[player] -= Decimal(ante) | ||||
|             act = (player, 'ante', Decimal(ante), self.stacks[player]==0) | ||||
|             ante = ante.replace(u',', u'') #some sites have commas | ||||
|             ante = Decimal(ante) | ||||
|             self.bets['BLINDSANTES'][player].append(ante) | ||||
|             self.stacks[player] -= ante | ||||
|             act = (player, 'ante', ante, self.stacks[player]==0) | ||||
|             self.actions['BLINDSANTES'].append(act) | ||||
| #            self.pot.addMoney(player, Decimal(ante)) | ||||
|             self.pot.addCommonMoney(player, Decimal(ante)) | ||||
| #            self.pot.addMoney(player, ante) | ||||
|             self.pot.addCommonMoney(player, ante) | ||||
| #I think the antes should be common money, don't have enough hand history to check | ||||
| 
 | ||||
|     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)) | ||||
|         if player is not None: | ||||
|             amount = re.sub(u',', u'', amount) #some sites have commas | ||||
|             self.stacks[player] -= Decimal(amount) | ||||
|             act = (player, blindtype, Decimal(amount), self.stacks[player]==0) | ||||
|             amount = amount.replace(u',', u'') #some sites have commas | ||||
|             amount = Decimal(amount) | ||||
|             self.stacks[player] -= amount | ||||
|             act = (player, blindtype, amount, self.stacks[player]==0) | ||||
|             self.actions['BLINDSANTES'].append(act) | ||||
| 
 | ||||
|             if blindtype == 'both': | ||||
|                 # 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.... | ||||
|                 amount = self.bb | ||||
|                 self.bets['BLINDSANTES'][player].append(Decimal(self.sb)) | ||||
|                 self.pot.addCommonMoney(player, Decimal(self.sb)) | ||||
|                 amount = Decimal(self.bb) | ||||
|                 sb = Decimal(self.sb) | ||||
|                 self.bets['BLINDSANTES'][player].append(sb) | ||||
|                 self.pot.addCommonMoney(player, sb) | ||||
| 
 | ||||
|             if blindtype == 'secondsb': | ||||
|                 amount = Decimal(0) | ||||
|                 self.bets['BLINDSANTES'][player].append(Decimal(self.sb)) | ||||
|                 self.pot.addCommonMoney(player, Decimal(self.sb)) | ||||
|                 sb = Decimal(self.sb) | ||||
|                 self.bets['BLINDSANTES'][player].append(sb) | ||||
|                 self.pot.addCommonMoney(player, sb) | ||||
| 
 | ||||
|             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': | ||||
|                 street = 'DEAL' | ||||
| 
 | ||||
|             self.bets[street][player].append(Decimal(amount)) | ||||
|             self.pot.addMoney(player, Decimal(amount)) | ||||
|             self.lastBet[street] = Decimal(amount) | ||||
|             self.bets[street][player].append(amount) | ||||
|             self.pot.addMoney(player, amount) | ||||
|             self.lastBet[street] = amount | ||||
|             self.posted = self.posted + [[player,blindtype]] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
|     def addCall(self, street, player=None, amount=None): | ||||
|         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)) | ||||
|         # Potentially calculate the amount of the call if not supplied | ||||
|         # corner cases include if player would be all in | ||||
|         if amount is not None: | ||||
|             self.bets[street][player].append(Decimal(amount)) | ||||
|             #self.lastBet[street] = Decimal(amount) | ||||
|             self.stacks[player] -= Decimal(amount) | ||||
|             amount = Decimal(amount) | ||||
|             self.bets[street][player].append(amount) | ||||
|             #self.lastBet[street] = amount | ||||
|             self.stacks[player] -= amount | ||||
|             #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.pot.addMoney(player, Decimal(amount)) | ||||
|             self.pot.addMoney(player, amount) | ||||
| 
 | ||||
|     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) | ||||
|         #      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) | ||||
|         Rb = Decimal(amountBy) | ||||
|         Bp = self.lastBet[street] | ||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) | ||||
|         Bc = sum(self.bets[street][player]) | ||||
|         C = Bp - Bc | ||||
|         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". """ | ||||
|         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) | ||||
|         Bp = self.lastBet[street] | ||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) | ||||
|         Bc = sum(self.bets[street][player]) | ||||
|         C = Bp - Bc | ||||
|         Rb = CRb - C | ||||
|         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 | ||||
|         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] | ||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) | ||||
|         Bc = sum(self.bets[street][player]) | ||||
|         Rt = Decimal(amountTo) | ||||
|         C = Bp - Bc | ||||
|         Rb = Rt - C - Bc | ||||
|  | @ -630,15 +643,16 @@ Add a raise on [street] by [player] to [amountTo] | |||
| 
 | ||||
|     def addBet(self, 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.bets[street][player].append(Decimal(amount)) | ||||
|         self.stacks[player] -= Decimal(amount) | ||||
|         self.bets[street][player].append(amount) | ||||
|         self.stacks[player] -= amount | ||||
|         #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.lastBet[street] = Decimal(amount) | ||||
|         self.pot.addMoney(player, Decimal(amount)) | ||||
|         self.lastBet[street] = amount | ||||
|         self.pot.addMoney(player, amount) | ||||
| 
 | ||||
| 
 | ||||
|     def addStandsPat(self, street, player): | ||||
|  | @ -1140,6 +1154,9 @@ class DrawHand(Hand): | |||
|             hhc.readPlayerStacks(self) | ||||
|             hhc.compilePlayerRegexs(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.readAntes(self) | ||||
|             hhc.readButton(self) | ||||
|  | @ -1366,10 +1383,10 @@ closed    likewise, but known only to player | |||
| Add a complete on [street] by [player] to [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) | ||||
|         Bp = self.lastBet['THIRD'] | ||||
|         Bc = reduce(operator.add, self.bets[street][player], 0) | ||||
|         Bc = sum(self.bets[street][player]) | ||||
|         Rt = Decimal(amountTo) | ||||
|         C = Bp - Bc | ||||
|         Rb = Rt - C | ||||
|  | @ -1384,12 +1401,14 @@ Add a complete on [street] by [player] to [amountTo] | |||
|     def addBringIn(self, player, bringin): | ||||
|         if player is not None: | ||||
|             log.debug(_("Bringin: %s, %s") % (player , bringin)) | ||||
|             self.bets['THIRD'][player].append(Decimal(bringin)) | ||||
|             self.stacks[player] -= Decimal(bringin) | ||||
|             act = (player, 'bringin', Decimal(bringin), self.stacks[player]==0) | ||||
|             bringin = bringin.replace(u',', u'') #some sites have commas | ||||
|             bringin = Decimal(bringin) | ||||
|             self.bets['THIRD'][player].append(bringin) | ||||
|             self.stacks[player] -= bringin | ||||
|             act = (player, 'bringin', bringin, self.stacks[player]==0) | ||||
|             self.actions['THIRD'].append(act) | ||||
|             self.lastBet['THIRD'] = Decimal(bringin) | ||||
|             self.pot.addMoney(player, Decimal(bringin)) | ||||
|             self.lastBet['THIRD'] = bringin | ||||
|             self.pot.addMoney(player, bringin) | ||||
| 
 | ||||
|     def getStreetTotals(self): | ||||
|         # 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: | ||||
|             log.debug(_("Converting ftpArchive format to readable")) | ||||
|             # 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) | ||||
| 
 | ||||
|         if self.obs is None or self.obs == "": | ||||
|  |  | |||
|  | @ -335,6 +335,9 @@ class Stud_cards: | |||
| 
 | ||||
| class Seat_Window(gtk.Window): | ||||
|     """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): | ||||
|     """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.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 | ||||
|     def create_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 | ||||
|             else: | ||||
|                 (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_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].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) | ||||
|  |  | |||
|  | @ -52,8 +52,9 @@ class Table(Table_Window): | |||
|             if re.search(self.search_string, d.get(kCGWindowName, ""), re.I): | ||||
|                 title = d[kCGWindowName] | ||||
|                 if self.check_bad_words(title): continue | ||||
|                 self.number = d[kCGWindowNumber] | ||||
|                 self.number = int(d[kCGWindowNumber]) | ||||
|                 self.title = title | ||||
|                 return self.title | ||||
|         if self.number is None: | ||||
|             return None | ||||
|    | ||||
|  | @ -63,11 +64,11 @@ class Table(Table_Window): | |||
|         WinListDict = CGWindowListCreateDescriptionFromArray(WinList) | ||||
| 
 | ||||
|         for d in WinListDict: | ||||
|             if d[CGWindowNumber] == self.number: | ||||
|                 return {'x'      : d[kCGWindowBounds][X], | ||||
|                         'y'      : d[kCGWindowBounds][Y], | ||||
|                         'width'  : d[kCGWindowBounds][Width], | ||||
|                         'height' : d[kCGWindowBounds][Height] | ||||
|             if d[kCGWindowNumber] == self.number: | ||||
|                 return {'x'      : int(d[kCGWindowBounds]['X']), | ||||
|                         'y'      : int(d[kCGWindowBounds]['Y']), | ||||
|                         'width'  : int(d[kCGWindowBounds]['Width']), | ||||
|                         'height' : int(d[kCGWindowBounds]['Height']) | ||||
|                        } | ||||
|         return None | ||||
| 
 | ||||
|  | @ -86,5 +87,5 @@ class Table(Table_Window): | |||
| #    the hud window was a dialog belonging to the table. | ||||
| 
 | ||||
| #    This is the gdkhandle for the HUD window | ||||
|         gdkwindow = gtk.gdk.window_foreign_new(window.number) | ||||
|         gdkwindow.set_transient_for(self.gdkhandle) | ||||
|         gdkwindow = gtk.gdk.window_foreign_new(window.window.xid) | ||||
|         gdkwindow.set_transient_for(window.window) | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ class OnGame(HandHistoryConverter): | |||
|                     } | ||||
|     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 | ||||
|                           "TEXAS_HOLDEM" : ('hold','holdem'), | ||||
|  | @ -68,17 +68,19 @@ class OnGame(HandHistoryConverter): | |||
|     # ***** End of hand R5-75443872-57 ***** | ||||
|     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""" | ||||
|             \*\*\*\*\*\sHistory\sfor\shand\s(?P<HID>[-A-Z\d]+).* | ||||
|             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<CURRENCY>%(LS)s|)?(?P<SB>[.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_Button       = re.compile('Button: seat (?P<BUTTON>\d+)', re.MULTILINE)  # Button: seat 2 | ||||
|  | @ -140,6 +142,7 @@ class OnGame(HandHistoryConverter): | |||
|     def readSupportedGames(self): | ||||
|         return [ | ||||
|                 ["ring", "hold", "fl"], | ||||
|                 ["ring", "hold", "pl"], | ||||
|                 ["ring", "hold", "nl"], | ||||
|                 ["ring", "stud", "fl"], | ||||
|                 ["ring", "draw", "fl"], | ||||
|  | @ -158,6 +161,7 @@ class OnGame(HandHistoryConverter): | |||
|             raise FpdbParseError(_("Unable to recognise gametype from: '%s'") % tmp) | ||||
| 
 | ||||
|         mg = m.groupdict() | ||||
|         #print "DEBUG: mg: %s" % mg | ||||
| 
 | ||||
|         info['type'] = 'ring' | ||||
|         if 'CURRENCY' in mg: | ||||
|  | @ -314,9 +318,9 @@ class OnGame(HandHistoryConverter): | |||
|         m = self.re_Action.finditer(hand.streets[street]) | ||||
|         for action in m: | ||||
|             #acts = action.groupdict() | ||||
|             #log.debug("readaction: acts: %s" %acts) | ||||
|             #print "readaction: acts: %s" %acts | ||||
|             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': | ||||
|                 hand.addCall( street, action.group('PNAME'), action.group('BET') ) | ||||
|             elif action.group('ATYPE') == ' bets': | ||||
|  |  | |||
|  | @ -55,7 +55,9 @@ def fpdb_options(): | |||
|                     help=_("Print some useful one liners")) | ||||
|     # The following options are used for SplitHandHistory.py | ||||
|     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, | ||||
|                     help=_("Input out path in quiet mode")) | ||||
|     parser.add_option("-a", "--archive", action="store_true", dest="archive", default=False, | ||||
|  | @ -93,6 +95,7 @@ def site_alias(alias): | |||
|                 "iPoker"         : "iPoker", | ||||
|                 "Winamax"        : "Winamax", | ||||
|                 "Win2day"        : "Win2day", | ||||
|                 "Everest"        : "Everest", | ||||
|                 "Stars"          : "PokerStars", | ||||
|                 "FTP"            : "Full Tilt Poker", | ||||
|                 "Party"          : "PartyPoker", | ||||
|  |  | |||
|  | @ -49,7 +49,8 @@ class PartyPoker(HandHistoryConverter): | |||
|     currencies = {"\$": "USD", "$": "USD", u"\xe2\x82\xac": "EUR", u"\u20ac": "EUR", '': "T$"} | ||||
|     substitutions = { | ||||
|                      '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 | ||||
|  | @ -81,7 +82,7 @@ class PartyPoker(HandHistoryConverter): | |||
|     re_PlayerInfo   = re.compile(u""" | ||||
|           Seat\s(?P<SEAT>\d+):\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) | ||||
| 
 | ||||
|     re_HandInfo     = re.compile(""" | ||||
|  | @ -329,13 +330,19 @@ class PartyPoker(HandHistoryConverter): | |||
|                     # FIXME: there is no such property in Hand class | ||||
|                     self.isSNG = True | ||||
|             if key == 'BUYIN': | ||||
|                 # FIXME: it's dirty hack T_T | ||||
|                 # code below assumes that tournament rake is equal to zero | ||||
|                 if info[key] == None: | ||||
|                     hand.buyin = '$0+$0' | ||||
|                 if hand.tourNo != None: | ||||
|                     hand.buyin = 0 | ||||
|                     hand.fee = 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: | ||||
|                     cur = info[key][0] if info[key][0] not in '0123456789' else '' | ||||
|                     hand.buyin = info[key] + '+%s0' % cur | ||||
|                         raise FpdbParseError(_("Failed to detect currency. HID: %s: '%s'" % (hand.handid, info[key]))) | ||||
|                     info[key] = info[key].strip(u'$€') | ||||
|                     hand.buyin = int(100*Decimal(info[key])) | ||||
|             if key == 'LEVEL': | ||||
|                 hand.level = info[key] | ||||
|             if key == 'PLAY' and info['PLAY'] != 'Real': | ||||
|  |  | |||
|  | @ -84,8 +84,8 @@ class PokerStars(HandHistoryConverter): | |||
| 
 | ||||
|     # Static regexes | ||||
|     re_GameInfo     = re.compile(u""" | ||||
|           PokerStars\sGame\s\#(?P<HID>[0-9]+):\s+ | ||||
|           (Tournament\s\#                # open paren of tournament info | ||||
|           PokerStars(\sHome)?\sGame\s\#(?P<HID>[0-9]+):\s+ | ||||
|           (\{.*\}\s+)?(Tournament\s\#                # open paren of tournament info | ||||
|           (?P<TOURNO>\d+),\s | ||||
|           # 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+)? | ||||
|  | @ -338,6 +338,13 @@ class PokerStars(HandHistoryConverter): | |||
|                            r"(\*\*\* 6th STREET \*\*\*(?P<SIXTH>.+(?=\*\*\* RIVER \*\*\*)|.+))?" | ||||
|                            r"(\*\*\* RIVER \*\*\*(?P<SEVENTH>.+))?", hand.handText,re.DOTALL) | ||||
|         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 \*\*\*)|.+)" | ||||
|                            r"(\*\*\* DEALING HANDS \*\*\*(?P<DEAL>.+(?=\*\*\* FIRST 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 | ||||
|         self.heroid = self.hud.db_connection.get_player_id(self.config, sitename, heroname) | ||||
|         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 | ||||
|             return | ||||
|         else: | ||||
|  | @ -130,9 +130,14 @@ class RushNotes(Aux_Window): | |||
|         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" | ||||
|         if not (os.path.isfile(self.queuefile)): | ||||
| 
 | ||||
|             queuedom = minidom.Document() | ||||
| 
 | ||||
|             pld=queuedom.createElement("PLAYERDATA") | ||||
|  | @ -152,7 +157,7 @@ class RushNotes(Aux_Window): | |||
| 
 | ||||
|         if (debugmode): | ||||
|             #initialise logfiles | ||||
|             debugfile=open("~Rushdebug.init", "w") | ||||
|             debugfile=open("~Rushdebug.init", "a") | ||||
|             debugfile.write("conf="+str(config)+"\n") | ||||
|             debugfile.write("spdi="+str(site_params_dict)+"\n") | ||||
|             debugfile.write("para="+str(params)+"\n") | ||||
|  | @ -161,8 +166,6 @@ class RushNotes(Aux_Window): | |||
|             debugfile.write("queu="+self.queuefile+"\n") | ||||
|             debugfile.close() | ||||
| 
 | ||||
|             open("~Rushdebug.data", "w").close() | ||||
| 
 | ||||
| 
 | ||||
|     def update_data(self, new_hand_id, db_connection): | ||||
|         #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] + " ") | ||||
|             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] + " ") | ||||
|             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] + " ") | ||||
|              | ||||
|             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] + " ") | ||||
|             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]) | ||||
|             if BBper100[6] == "-": BBper100=BBper100[0:6] + "(" + BBper100[7:] + ")" | ||||
| 
 | ||||
| 
 | ||||
|             # | ||||
|             # grab villain known starting hands | ||||
|             # 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.execute(("SELECT handId, position, startCards, street0Aggr, tableName " + | ||||
|                         "FROM hands, handsPlayers " + | ||||
|                         "WHERE handsplayers.handId = hands.id " + | ||||
|                         "FROM Hands, HandsPlayers " + | ||||
|                         "WHERE HandsPlayers.handId = Hands.id " + | ||||
|                         "AND street0VPI = 1 " + | ||||
|                         "AND startCards > 0 " + | ||||
|                         "AND playerId = %d " + | ||||
|  | @ -269,10 +275,13 @@ class RushNotes(Aux_Window): | |||
|             # for later search/replace by Merge module | ||||
|             # | ||||
|             xmlqueuedict[playername] = ("~fpdb~" + "\n" + | ||||
|                                         n + vpip + pfr + three_B + fbbsteal + "\n" + | ||||
|                                         steal + cbet + ffreq1 + "\n" + | ||||
|                                         n + vpip + pfr + "\n" + | ||||
|                                         steal + cbet + fbbsteal + ffreq1 + "\n" + | ||||
|                                         three_B + four_B + f_3bet + f_4bet + "\n" + | ||||
|                                         agg_freq + BBper100 + "\n" + | ||||
|                                         PFcall+"\n"+PFaggr+"\n"+PFdefend +"\n" | ||||
|                                         PFcall+"\n"+ | ||||
|                                         PFaggr+"\n"+ | ||||
|                                         PFdefend +"\n"+ | ||||
|                                         "~ends~") | ||||
| 
 | ||||
|         if (debugmode): | ||||
|  |  | |||
|  | @ -30,6 +30,7 @@ The generated file can then replace heroname.xml (if all is well). | |||
| 
 | ||||
| ######################################################################## | ||||
| 
 | ||||
| #TODO gettextify | ||||
| 
 | ||||
| #    Standard Library modules | ||||
| import os | ||||
|  | @ -104,8 +105,6 @@ if not os.path.isfile(sys.argv[1]): | |||
| 
 | ||||
| if not os.path.isfile((sys.argv[1]+".queue")): | ||||
|     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() | ||||
| 
 | ||||
| print "***************************************************************" | ||||
|  | @ -116,7 +115,7 @@ print "has stopped completely" | |||
| print "***************************************************************" | ||||
| print | ||||
| 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 | ||||
| queuedict = {} | ||||
|  | @ -171,7 +170,7 @@ mergednotes.close() | |||
| 
 | ||||
| xmlnotefile.unlink | ||||
| 
 | ||||
| print "Merged file has been written to: ", sys.argv[1]+".merged" | ||||
| print "written to: ", sys.argv[1]+".merged" | ||||
| print "" | ||||
| print "number in queue: ", statqueue | ||||
| print "existing players updated: ", statupdated | ||||
|  | @ -179,5 +178,7 @@ print "new players added: ", statadded | |||
| print "\n" | ||||
| print "Use a viewer to check the contents of the merge file." | ||||
| 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 "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 | ||||
|  - 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,  | ||||
|  you have been warned! | ||||
|   | ||||
|  | @ -27,7 +22,8 @@ Existing colour codings should be preserved, | |||
|  this process does not change or set colourcodings. | ||||
| 
 | ||||
| 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,  | ||||
|   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? | ||||
| -------------------- | ||||
| 
 | ||||
| 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. | ||||
| Whenever FTP change their notes file format, this will all break rather spectacularly, | ||||
|     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" | ||||
| 
 | ||||
| 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 | ||||
|  | @ -176,7 +172,7 @@ Process overview | |||
| ---------------- | ||||
| 
 | ||||
| 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. | ||||
| 2/ For every hand played, the auxillary window is called | ||||
| 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. | ||||
| 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. | ||||
| 
 | ||||
| 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, | ||||
|                             tourneyId INT UNSIGNED,  | ||||
|                             gametypeId SMALLINT UNSIGNED NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||
|                             sessionId INT UNSIGNED,  | ||||
|                             startTime DATETIME NOT NULL, | ||||
|                             importTime DATETIME NOT NULL, | ||||
|                             seats TINYINT NOT NULL, | ||||
|  | @ -383,6 +384,7 @@ class Sql: | |||
|                             siteHandNo BIGINT NOT NULL, | ||||
|                             tourneyId INT, | ||||
|                             gametypeId INT NOT NULL, FOREIGN KEY (gametypeId) REFERENCES Gametypes(id), | ||||
|                             sessionId INT, | ||||
|                             startTime timestamp without time zone NOT NULL, | ||||
|                             importTime timestamp without time zone NOT NULL, | ||||
|                             seats SMALLINT NOT NULL, | ||||
|  | @ -419,6 +421,7 @@ class Sql: | |||
|                             siteHandNo INT NOT NULL, | ||||
|                             tourneyId INT, | ||||
|                             gametypeId INT NOT NULL, | ||||
|                             sessionId INT, | ||||
|                             startTime REAL NOT NULL, | ||||
|                             importTime REAL NOT NULL, | ||||
|                             seats INT NOT NULL, | ||||
|  | @ -639,9 +642,16 @@ class Sql: | |||
|                         street0_3BChance BOOLEAN, | ||||
|                         street0_3BDone BOOLEAN, | ||||
|                         street0_4BChance BOOLEAN, | ||||
|                         street0_C4BChance BOOLEAN, | ||||
|                         street0_4BDone BOOLEAN, | ||||
|                         other3BStreet0 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, | ||||
|                         street2Seen BOOLEAN, | ||||
|  | @ -757,8 +767,15 @@ class Sql: | |||
|                         street0_3BDone BOOLEAN, | ||||
|                         street0_4BChance BOOLEAN, | ||||
|                         street0_4BDone BOOLEAN, | ||||
|                         other3BStreet0 BOOLEAN, | ||||
|                         other4BStreet0 BOOLEAN, | ||||
|                         street0_C4BChance 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, | ||||
|                         street2Seen BOOLEAN, | ||||
|  | @ -873,8 +890,15 @@ class Sql: | |||
|                         street0_3BDone INT, | ||||
|                         street0_4BChance INT, | ||||
|                         street0_4BDone INT, | ||||
|                         other3BStreet0 INT, | ||||
|                         other4BStreet0 INT, | ||||
|                         street0_C4BChance 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, | ||||
|                         street2Seen INT, | ||||
|  | @ -1007,7 +1031,8 @@ class Sql: | |||
|         if db_server == 'mysql': | ||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||
|                         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, | ||||
|                         actionNo SMALLINT NOT NULL, | ||||
|                         streetActionNo SMALLINT NOT NULL, | ||||
|  | @ -1022,7 +1047,8 @@ class Sql: | |||
|         elif db_server == 'postgresql': | ||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||
|                         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, | ||||
|                         actionNo SMALLINT, | ||||
|                         streetActionNo SMALLINT, | ||||
|  | @ -1036,7 +1062,8 @@ class Sql: | |||
|         elif db_server == 'sqlite': | ||||
|             self.query['createHandsActionsTable'] = """CREATE TABLE HandsActions ( | ||||
|                         id INTEGER PRIMARY KEY, | ||||
|                         handsPlayerId BIGINT, | ||||
|                         handId INT NOT NULL, | ||||
|                         playerId INT NOT NULL, | ||||
|                         street SMALLINT, | ||||
|                         actionNo SMALLINT, | ||||
|                         streetActionNo SMALLINT, | ||||
|  | @ -1046,9 +1073,7 @@ class Sql: | |||
|                         amountCalled INT, | ||||
|                         numDiscarded SMALLINT, | ||||
|                         cardsDiscarded TEXT, | ||||
|                         allIn BOOLEAN, | ||||
|                         FOREIGN KEY (handsPlayerId) REFERENCES HandsPlayers(id), | ||||
|                         FOREIGN KEY (actionId) REFERENCES Actions(id) ON DELETE CASCADE | ||||
|                         allIn BOOLEAN | ||||
|                         )"""  | ||||
| 
 | ||||
| 
 | ||||
|  | @ -1079,8 +1104,16 @@ class Sql: | |||
|                         street0_3BDone INT, | ||||
|                         street0_4BChance INT, | ||||
|                         street0_4BDone INT, | ||||
|                         other3BStreet0 INT, | ||||
|                         other4BStreet0 INT, | ||||
|                         street0_C4BChance 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, | ||||
|                         street2Seen INT, | ||||
|  | @ -1180,8 +1213,15 @@ class Sql: | |||
|                         street0_3BDone INT, | ||||
|                         street0_4BChance INT, | ||||
|                         street0_4BDone INT, | ||||
|                         other3BStreet0 INT, | ||||
|                         other4BStreet0 INT, | ||||
|                         street0_C4BChance 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, | ||||
|                         street2Seen INT, | ||||
|  | @ -1279,8 +1319,15 @@ class Sql: | |||
|                         street0_3BDone INT, | ||||
|                         street0_4BChance INT, | ||||
|                         street0_4BDone INT, | ||||
|                         other3BStreet0 INT, | ||||
|                         other4BStreet0 INT, | ||||
|                         street0_C4BChance 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, | ||||
|                         street2Seen INT, | ||||
|  | @ -1367,8 +1414,8 @@ class Sql: | |||
|                         sessionEnd DATETIME NOT NULL, | ||||
|                         ringHDs INT NOT NULL, | ||||
|                         tourHDs INT NOT NULL, | ||||
|                         totalProfit INT NOT NULL, | ||||
|                         bigBets FLOAT UNSIGNED NOT NULL) | ||||
|                         ringProfitUSD INT NOT NULL, | ||||
|                         ringProfitEUR INT NOT NULL) | ||||
| 
 | ||||
|                         ENGINE=INNODB""" | ||||
|         elif db_server == 'postgresql': | ||||
|  | @ -1378,8 +1425,8 @@ class Sql: | |||
|                         sessionEnd REAL NOT NULL, | ||||
|                         ringHDs INT NOT NULL, | ||||
|                         tourHDs INT NOT NULL, | ||||
|                         totalProfit INT NOT NULL, | ||||
|                         bigBets FLOAT NOT NULL) | ||||
|                         ringProfitUSD INT NOT NULL, | ||||
|                         ringProfitEUR INT NOT NULL) | ||||
|                         """ | ||||
|         elif db_server == 'sqlite': | ||||
|             self.query['createSessionsCacheTable'] = """CREATE TABLE SessionsCache ( | ||||
|  | @ -1388,8 +1435,8 @@ class Sql: | |||
|                         sessionEnd REAL NOT NULL, | ||||
|                         ringHDs INT NOT NULL, | ||||
|                         tourHDs INT NOT NULL, | ||||
|                         totalProfit INT NOT NULL, | ||||
|                         bigBets REAL UNSIGNED NOT NULL) | ||||
|                         ringProfitUSD INT NOT NULL, | ||||
|                         ringProfitEUR INT NOT NULL) | ||||
|                         """ | ||||
| 
 | ||||
|         if db_server == 'mysql': | ||||
|  | @ -1488,6 +1535,17 @@ class Sql: | |||
|                     sum(hc.street0Aggr)                 AS pfr, | ||||
|                     sum(hc.street0_3BChance)            AS TB_opp_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_1, | ||||
|                     sum(hc.street2Seen)                 AS saw_2, | ||||
|  | @ -1599,6 +1657,17 @@ class Sql: | |||
|                        sum(hc.street0Aggr)                 AS pfr, | ||||
|                        sum(hc.street0_3BChance)            AS TB_opp_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_1, | ||||
|                        sum(hc.street2Seen)                 AS saw_2, | ||||
|  | @ -1727,6 +1796,17 @@ class Sql: | |||
|                            cast(hp2.street0Aggr as <signed>integer)                 AS pfr, | ||||
|                            cast(hp2.street0_3BChance as <signed>integer)            AS TB_opp_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_1, | ||||
|                            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.street0_3BChance as <signed>integer)            AS TB_opp_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_1, | ||||
|                            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.street0_3BChance as <signed>integer)            AS TB_opp_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_1, | ||||
|                            cast(hp2.street2Seen as <signed>integer)                 AS saw_2, | ||||
|  | @ -2170,7 +2272,7 @@ class Sql: | |||
|                                       from Gametypes gt | ||||
|                                       WHERE type = 'ring' | ||||
|                                       order by type, limitType DESC, bb_or_buyin DESC""" | ||||
| 
 | ||||
|         #FIXME: Some stats not added to DetailedStats | ||||
|         if db_server == 'mysql': | ||||
|             self.query['playerDetailedStats'] = """ | ||||
|                      select  <hgametypeId>                                                          AS hgametypeid | ||||
|  | @ -2189,6 +2291,16 @@ class Sql: | |||
|                             ,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)) | ||||
|                              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 | ||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||
|  | @ -2216,6 +2328,18 @@ class Sql: | |||
|                                            end | ||||
|                                           ) | ||||
|                              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.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||
|  | @ -2239,7 +2363,7 @@ class Sql: | |||
|                              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 | ||||
|                                  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 | ||||
|                             ,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))) + | ||||
|  | @ -2310,6 +2434,15 @@ class Sql: | |||
|                             ,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)) | ||||
|                              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 | ||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||
|  | @ -2337,6 +2470,18 @@ class Sql: | |||
|                                            end | ||||
|                                           ) | ||||
|                              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.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||
|  | @ -2360,7 +2505,7 @@ class Sql: | |||
|                              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 | ||||
|                                  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 | ||||
|                             ,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))) + | ||||
|  | @ -2432,6 +2577,15 @@ class Sql: | |||
|                             ,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)) | ||||
|                              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 | ||||
|                                   else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /  | ||||
|                                        sum(cast(hp.raiseFirstInChance as <signed>integer)) | ||||
|  | @ -2459,6 +2613,18 @@ class Sql: | |||
|                                            end | ||||
|                                           ) | ||||
|                              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.sawShowdown as <signed>integer))/count(1)            AS sawsd | ||||
|                             ,case when sum(cast(hp.street1Seen as <signed>integer)) = 0 then -999 | ||||
|  | @ -2482,7 +2648,7 @@ class Sql: | |||
|                              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 | ||||
|                                  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 | ||||
|                             ,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))) + | ||||
|  | @ -2537,6 +2703,7 @@ class Sql: | |||
|                               ,s.name | ||||
|                       """ | ||||
| 
 | ||||
|         #FIXME: 3/4bet and foldTo don't added four tournaments yet | ||||
|         if db_server == 'mysql': | ||||
|             self.query['tourneyPlayerDetailedStats'] = """ | ||||
|                       select s.name                                                                 AS siteName | ||||
|  | @ -2660,6 +2827,9 @@ class Sql: | |||
|                      ,stats.vpip | ||||
|                      ,stats.pfr | ||||
|                      ,stats.pf3 | ||||
|                      ,stats.pf4 | ||||
|                      ,stats.pff3 | ||||
|                      ,stats.pff4 | ||||
|                      ,stats.steals | ||||
|                      ,stats.saw_f | ||||
|                      ,stats.sawsd | ||||
|  | @ -2690,6 +2860,15 @@ class Sql: | |||
|                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||
|                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) | ||||
|                             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 '-' | ||||
|                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) | ||||
|                             end                                                             AS steals | ||||
|  | @ -2766,6 +2945,9 @@ class Sql: | |||
|                       ,stats.vpip | ||||
|                       ,stats.pfr | ||||
|                       ,stats.pf3 | ||||
|                       ,stats.pf4 | ||||
|                       ,stats.pff3 | ||||
|                       ,stats.pff4 | ||||
|                       ,stats.steals | ||||
|                       ,stats.saw_f | ||||
|                       ,stats.sawsd | ||||
|  | @ -2880,6 +3062,9 @@ class Sql: | |||
|                      ,stats.vpip | ||||
|                      ,stats.pfr | ||||
|                      ,stats.pf3 | ||||
|                      ,stats.pf4 | ||||
|                      ,stats.pff3 | ||||
|                      ,stats.pff4 | ||||
|                      ,stats.steals | ||||
|                      ,stats.saw_f | ||||
|                      ,stats.sawsd | ||||
|  | @ -2918,6 +3103,15 @@ class Sql: | |||
|                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||
|                                  else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) | ||||
|                             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 '-' | ||||
|                                  else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) | ||||
|                             end                                                             AS steals | ||||
|  | @ -3016,6 +3210,9 @@ class Sql: | |||
|                       ,stats.vpip | ||||
|                       ,stats.pfr | ||||
|                       ,stats.pf3 | ||||
|                       ,stats.pf4 | ||||
|                       ,stats.pff3 | ||||
|                       ,stats.pff4 | ||||
|                       ,stats.steals | ||||
|                       ,stats.saw_f | ||||
|                       ,stats.sawsd | ||||
|  | @ -3054,6 +3251,15 @@ class Sql: | |||
|                            ,case when sum(street0_3Bchance) = 0 then '0' | ||||
|                                  else to_char(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),'90D0') | ||||
|                             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 '-' | ||||
|                                  else to_char(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),'90D0') | ||||
|                             end                                                             AS steals | ||||
|  | @ -3279,8 +3485,15 @@ class Sql: | |||
|                 ,street0_3BDone | ||||
|                 ,street0_4BChance | ||||
|                 ,street0_4BDone | ||||
|                 ,other3BStreet0 | ||||
|                 ,other4BStreet0 | ||||
|                 ,street0_C4BChance | ||||
|                 ,street0_C4BDone | ||||
|                 ,street0_FoldTo3BChance | ||||
|                 ,street0_FoldTo3BDone | ||||
|                 ,street0_FoldTo4BChance | ||||
|                 ,street0_FoldTo4BDone | ||||
|                 ,street0_SqueezeChance | ||||
|                 ,street0_SqueezeDone | ||||
|                 ,success_Steal | ||||
|                 ,street1Seen | ||||
|                 ,street2Seen | ||||
|                 ,street3Seen | ||||
|  | @ -3378,8 +3591,15 @@ class Sql: | |||
|                       ,sum(street0_3BDone) | ||||
|                       ,sum(street0_4BChance) | ||||
|                       ,sum(street0_4BDone) | ||||
|                       ,sum(other3BStreet0) | ||||
|                       ,sum(other4BStreet0) | ||||
|                       ,sum(street0_C4BChance) | ||||
|                       ,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(street2Seen) | ||||
|                       ,sum(street3Seen) | ||||
|  | @ -3477,8 +3697,15 @@ class Sql: | |||
|                 ,street0_3BDone | ||||
|                 ,street0_4BChance | ||||
|                 ,street0_4BDone | ||||
|                 ,other3BStreet0 | ||||
|                 ,other4BStreet0       | ||||
|                 ,street0_C4BChance | ||||
|                 ,street0_C4BDone | ||||
|                 ,street0_FoldTo3BChance | ||||
|                 ,street0_FoldTo3BDone | ||||
|                 ,street0_FoldTo4BChance | ||||
|                 ,street0_FoldTo4BDone | ||||
|                 ,street0_SqueezeChance | ||||
|                 ,street0_SqueezeDone | ||||
|                 ,success_Steal | ||||
|                 ,street1Seen | ||||
|                 ,street2Seen | ||||
|                 ,street3Seen | ||||
|  | @ -3576,8 +3803,15 @@ class Sql: | |||
|                       ,sum(CAST(street0_3BDone as integer)) | ||||
|                       ,sum(CAST(street0_4BChance as integer)) | ||||
|                       ,sum(CAST(street0_4BDone as integer)) | ||||
|                       ,sum(CAST(other3BStreet0 as integer)) | ||||
|                       ,sum(CAST(other4BStreet0 as integer)) | ||||
|                       ,sum(CAST(street0_C4BChance 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(street2Seen as integer)) | ||||
|                       ,sum(CAST(street3Seen as integer)) | ||||
|  | @ -3675,8 +3909,15 @@ class Sql: | |||
|                 ,street0_3BDone | ||||
|                 ,street0_4BChance | ||||
|                 ,street0_4BDone | ||||
|                 ,other3BStreet0 | ||||
|                 ,other4BStreet0 | ||||
|                 ,street0_C4BChance | ||||
|                 ,street0_C4BDone | ||||
|                 ,street0_FoldTo3BChance | ||||
|                 ,street0_FoldTo3BDone | ||||
|                 ,street0_FoldTo4BChance | ||||
|                 ,street0_FoldTo4BDone | ||||
|                 ,street0_SqueezeChance | ||||
|                 ,street0_SqueezeDone | ||||
|                 ,success_Steal | ||||
|                 ,street1Seen | ||||
|                 ,street2Seen | ||||
|                 ,street3Seen | ||||
|  | @ -3774,8 +4015,15 @@ class Sql: | |||
|                       ,sum(CAST(street0_3BDone as integer)) | ||||
|                       ,sum(CAST(street0_4BChance as integer)) | ||||
|                       ,sum(CAST(street0_4BDone as integer)) | ||||
|                       ,sum(CAST(other3BStreet0 as integer)) | ||||
|                       ,sum(CAST(other4BStreet0 as integer)) | ||||
|                       ,sum(CAST(street0_C4BChance 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(street2Seen as integer)) | ||||
|                       ,sum(CAST(street3Seen as integer)) | ||||
|  | @ -3868,8 +4116,15 @@ class Sql: | |||
|                 street0_3BDone, | ||||
|                 street0_4BChance, | ||||
|                 street0_4BDone, | ||||
|                 other3BStreet0, | ||||
|                 other4BStreet0, | ||||
|                 street0_C4BChance, | ||||
|                 street0_C4BDone, | ||||
|                 street0_FoldTo3BChance, | ||||
|                 street0_FoldTo3BDone, | ||||
|                 street0_FoldTo4BChance, | ||||
|                 street0_FoldTo4BDone, | ||||
|                 street0_SqueezeChance, | ||||
|                 street0_SqueezeDone, | ||||
|                 success_Steal, | ||||
|                 street1Seen, | ||||
|                 street2Seen, | ||||
|                 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)""" | ||||
| 
 | ||||
|         self.query['update_hudcache'] = """ | ||||
|             UPDATE HudCache SET | ||||
|  | @ -3967,8 +4224,15 @@ class Sql: | |||
|             street0_3BDone=street0_3BDone+%s, | ||||
|             street0_4BChance=street0_4BChance+%s, | ||||
|             street0_4BDone=street0_4BDone+%s, | ||||
|             other3BStreet0=other3BStreet0+%s, | ||||
|             other4BStreet0=other4BStreet0+%s, | ||||
|             street0_C4BChance=street0_C4BChance+%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, | ||||
|             street2Seen=street2Seen+%s, | ||||
|             street3Seen=street3Seen+%s, | ||||
|  | @ -4057,12 +4321,13 @@ class Sql: | |||
|         #################################### | ||||
|              | ||||
|         self.query['select_sessionscache'] = """ | ||||
|             SELECT sessionStart, | ||||
|             SELECT id, | ||||
|                 sessionStart, | ||||
|                 sessionEnd, | ||||
|                 ringHDs, | ||||
|                 tourHDs, | ||||
|                 totalProfit, | ||||
|                 bigBets | ||||
|                 ringProfitUSD, | ||||
|                 ringProfitEUR | ||||
|             FROM SessionsCache | ||||
|         WHERE sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|  | @ -4072,8 +4337,8 @@ class Sql: | |||
|                 sessionEnd, | ||||
|                 ringHDs, | ||||
|                 tourHDs, | ||||
|                 totalProfit, | ||||
|                 bigBets | ||||
|                 ringProfitUSD, | ||||
|                 ringProfitEUR | ||||
|             FROM SessionsCache | ||||
|         WHERE sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|  | @ -4083,8 +4348,8 @@ class Sql: | |||
|                 sessionEnd, | ||||
|                 ringHDs, | ||||
|                 tourHDs, | ||||
|                 totalProfit, | ||||
|                 bigBets | ||||
|                 ringProfitUSD, | ||||
|                 ringProfitEUR | ||||
|             FROM SessionsCache | ||||
|         WHERE sessionStart>%s | ||||
|         AND sessionEnd>=%s | ||||
|  | @ -4094,8 +4359,8 @@ class Sql: | |||
|             UPDATE SessionsCache SET | ||||
|             ringHDs=ringHDs+%s, | ||||
|             tourHDs=tourHDs+%s, | ||||
|             totalProfit=totalProfit+%s, | ||||
|             bigBets=bigBets+%s | ||||
|             ringProfitUSD=ringProfitUSD+%s, | ||||
|             ringProfitEUR=ringProfitEUR+%s | ||||
|         WHERE sessionStart<=%s | ||||
|         AND sessionEnd>=%s""" | ||||
| 
 | ||||
|  | @ -4104,8 +4369,8 @@ class Sql: | |||
|             sessionStart=%s, | ||||
|             ringHDs=ringHDs+%s, | ||||
|             tourHDs=tourHDs+%s, | ||||
|             totalProfit=totalProfit+%s, | ||||
|             bigBets=bigBets+%s | ||||
|             ringProfitUSD=ringProfitUSD+%s, | ||||
|             ringProfitEUR=ringProfitEUR+%s | ||||
|         WHERE sessionStart>%s | ||||
|         AND sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|  | @ -4115,8 +4380,8 @@ class Sql: | |||
|             sessionEnd=%s, | ||||
|             ringHDs=ringHDs+%s, | ||||
|             tourHDs=tourHDs+%s, | ||||
|             totalProfit=totalProfit+%s, | ||||
|             bigBets=bigBets+%s | ||||
|             ringProfitUSD=ringProfitUSD+%s, | ||||
|             ringProfitEUR=ringProfitEUR+%s | ||||
|         WHERE sessionEnd<%s | ||||
|         AND sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|  | @ -4127,20 +4392,27 @@ class Sql: | |||
|                 sessionEnd, | ||||
|                 ringHDs, | ||||
|                 tourHDs, | ||||
|                 totalProfit, | ||||
|                 bigBets) | ||||
|                 ringProfitUSD, | ||||
|                 ringProfitEUR) | ||||
|             VALUES (%s, %s, %s, %s, %s, %s)""" | ||||
|          | ||||
|         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 | ||||
|         WHERE sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|         WHERE (case when id=%s or id=%s then 1 else 0 end)=1""" | ||||
|          | ||||
|         self.query['delete_sessions'] = """ | ||||
|             DELETE FROM SessionsCache | ||||
|         WHERE sessionEnd>=%s | ||||
|         AND sessionStart<=%s""" | ||||
|         WHERE id=%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': | ||||
|             self.query['analyze'] = """ | ||||
|  | @ -4254,6 +4526,13 @@ class Sql: | |||
|                                         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.* | ||||
|                                         FROM Tourneys t | ||||
|                                         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_id'] = " OR id=" | ||||
| 
 | ||||
|         self.query['store_hand'] = """INSERT INTO Hands ( | ||||
|         self.query['store_hand'] = """insert into Hands ( | ||||
|                                             tablename, | ||||
|                                             gametypeid, | ||||
|                                             sitehandno, | ||||
|                                             tourneyId, | ||||
|                                             gametypeid, | ||||
|                                             sessionId, | ||||
|                                             startTime, | ||||
|                                             importtime, | ||||
|                                             seats, | ||||
|  | @ -4355,13 +4635,13 @@ class Sql: | |||
|                                             street4Pot, | ||||
|                                             showdownPot | ||||
|                                              ) | ||||
|                                              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)""" | ||||
|                                              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)""" | ||||
| 
 | ||||
| 
 | ||||
|         self.query['store_hands_players'] = """INSERT INTO HandsPlayers ( | ||||
|         self.query['store_hands_players'] = """insert into HandsPlayers ( | ||||
|                 handId, | ||||
|                 playerId, | ||||
|                 startCash, | ||||
|  | @ -4418,8 +4698,15 @@ class Sql: | |||
|                 street0_3BDone, | ||||
|                 street0_4BChance, | ||||
|                 street0_4BDone, | ||||
|                 other3BStreet0, | ||||
|                 other4BStreet0, | ||||
|                 street0_C4BChance, | ||||
|                 street0_C4BDone, | ||||
|                 street0_FoldTo3BChance, | ||||
|                 street0_FoldTo3BDone, | ||||
|                 street0_FoldTo4BChance, | ||||
|                 street0_FoldTo4BDone, | ||||
|                 street0_SqueezeChance, | ||||
|                 street0_SqueezeDone, | ||||
|                 success_Steal, | ||||
|                 otherRaisedStreet0, | ||||
|                 otherRaisedStreet1, | ||||
|                 otherRaisedStreet2, | ||||
|  | @ -4458,7 +4745,7 @@ class Sql: | |||
|                 street3Raises, | ||||
|                 street4Raises | ||||
|                ) | ||||
|                VALUES ( | ||||
|                values ( | ||||
|                     %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 | ||||
|                 )""" | ||||
| 
 | ||||
|         self.query['store_hands_actions'] = """INSERT INTO HandsActions ( | ||||
|                         handsPlayerId, | ||||
|         self.query['store_hands_actions'] = """insert into HandsActions ( | ||||
|                         handId, | ||||
|                         playerId, | ||||
|                         street, | ||||
|                         actionNo, | ||||
|                         streetActionNo, | ||||
|  | @ -4493,10 +4783,10 @@ class Sql: | |||
|                         cardsDiscarded, | ||||
|                         allIn | ||||
|                ) | ||||
|                VALUES ( | ||||
|                values ( | ||||
|                     %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: | ||||
|         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): | ||||
|     """    Folded SB to steal.""" | ||||
|     stat = 0.0 | ||||
|  | @ -448,14 +463,112 @@ def three_B(stat_dict, player): | |||
|                 '3B=%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']), | ||||
|                 _('% 3/4 Bet preflop/3rd')) | ||||
|                 _('% 3 Bet preflop/3rd')) | ||||
|     except: | ||||
|         return (stat, | ||||
|                 'NA', | ||||
|                 '3B=NA', | ||||
|                 '3B_pf=NA', | ||||
|                 '(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): | ||||
|     """    Won $ when saw flop/4th.""" | ||||
|  |  | |||
|  | @ -9,15 +9,19 @@ | |||
| # it under the terms of the GNU General Public License as published by | ||||
| # the Free Software Foundation, version 3 of the License. | ||||
| # | ||||
| # TODO gettextify usage print | ||||
| 
 | ||||
| import L10n | ||||
| _ = L10n.get_translation() | ||||
| 
 | ||||
| import sys, random | ||||
| import re | ||||
| import pokereval | ||||
| 
 | ||||
| SUITS = ['h', 'd', 's', 'c'] | ||||
| 
 | ||||
| CONNECTORS = ['32', '43', '54', '65', '76', '87', '98', 'T9', 'JT', 'QJ', 'KQ', 'AK'] | ||||
| 
 | ||||
| ANY = 0 | ||||
| SUITED = 1 | ||||
| OFFSUIT = 2 | ||||
|  | @ -64,13 +68,6 @@ class Stove: | |||
|         hands_in_range = string.strip().split(',') | ||||
|         for h in hands_in_range: | ||||
|             _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)) | ||||
| 
 | ||||
|         self.h_range = h_range | ||||
|  | @ -82,7 +79,7 @@ class Cards: | |||
|         self.c2 = c2 | ||||
| 
 | ||||
|     def get(self): | ||||
|         return [c1, c2] | ||||
|         return [self.c1, self.c2] | ||||
| 
 | ||||
| class Board: | ||||
|     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([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 | ||||
|     r1 = abbrev[0] | ||||
|     r2 = abbrev[1] | ||||
|  |  | |||
|  | @ -118,6 +118,7 @@ class Table_Window(object): | |||
|         self.site = site | ||||
|         self.hud = None   # fill in later | ||||
|         self.gdkhandle = None | ||||
|         self.number = None | ||||
|         if tournament is not None and table_number is not None: | ||||
|             self.tournament = int(tournament) | ||||
|             self.table = int(table_number) | ||||
|  | @ -135,7 +136,14 @@ class Table_Window(object): | |||
|             return None | ||||
| 
 | ||||
|         self.search_string = getTableTitleRe(self.config, self.site, self.type, **table_kwargs) | ||||
|         trys = 0 | ||||
|         while True: | ||||
|             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() | ||||
|         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: | ||||
|         ghash = hand.gametyperow | ||||
|         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]: | ||||
|                 # The stats match - continue | ||||
|                 pass | ||||
|  | @ -152,14 +152,14 @@ def compare_hands_file(filename, importer, errors): | |||
|                     pass | ||||
|                 else: | ||||
|                     # 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. | ||||
|                         #print "DEBUG: Skipping mismatched gamtypeId" | ||||
|                         pass | ||||
|                     else: | ||||
|                         errors.error_report(filename, hand, datum, ghash, testhash, None) | ||||
|             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): | ||||
|  | @ -189,12 +189,19 @@ def compare(leaf, importer, errors, site): | |||
| def walk_testfiles(dir, function, importer, errors, site): | ||||
|     """Walks a directory, and executes a callback on each file """ | ||||
|     dir = os.path.abspath(dir) | ||||
|     try: | ||||
|         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, compare, importer, errors, site) | ||||
|             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(): | ||||
|     print "USAGE:" | ||||
|  | @ -202,6 +209,8 @@ def usage(): | |||
|     print "\t./TestHandsPlayers.py" | ||||
|     print "Run tests for a sinlge site:" | ||||
|     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) | ||||
| 
 | ||||
| def main(argv=None): | ||||
|  | @ -215,10 +224,16 @@ def main(argv=None): | |||
|     if options.usage == True: | ||||
|         usage() | ||||
| 
 | ||||
|     single_file_test = False | ||||
| 
 | ||||
|     if options.sitename: | ||||
|         options.sitename = Options.site_alias(options.sitename) | ||||
|         if options.sitename == False: | ||||
|             usage() | ||||
|         if options.filename: | ||||
|             print "Testing single hand: '%s'" % options.filename | ||||
|             single_file_test = True | ||||
|         else: | ||||
|             print "Only regression testing '%s' files" % (options.sitename) | ||||
|         test_all_sites = False | ||||
| 
 | ||||
|  | @ -245,6 +260,7 @@ def main(argv=None): | |||
|     AbsoluteErrors    = FpdbError('Absolute Poker') | ||||
|     UltimateBetErrors = FpdbError('Ultimate Bet') | ||||
|     EverleafErrors    = FpdbError('Everleaf Poker') | ||||
|     EverestErrors     = FpdbError('Everest Poker') | ||||
|     CarbonErrors      = FpdbError('Carbon') | ||||
|     PKRErrors         = FpdbError('PKR') | ||||
|     iPokerErrors      = FpdbError('iPoker') | ||||
|  | @ -256,7 +272,7 @@ def main(argv=None): | |||
|                     BetfairErrors, OnGameErrors, AbsoluteErrors, | ||||
|                     EverleafErrors, CarbonErrors, PKRErrors, | ||||
|                     iPokerErrors, WinamaxErrors, UltimateBetErrors, | ||||
|                     Win2dayErrors, | ||||
|                     Win2dayErrors, EverestErrors, | ||||
|                 ] | ||||
| 
 | ||||
|     sites = { | ||||
|  | @ -273,6 +289,7 @@ def main(argv=None): | |||
|                 'iPoker' : False, | ||||
|                 'Win2day' : False, | ||||
|                 'Winamax' : False, | ||||
|                 'Everest' : False, | ||||
|             } | ||||
| 
 | ||||
|     if test_all_sites == True: | ||||
|  | @ -281,36 +298,62 @@ def main(argv=None): | |||
|     else: | ||||
|         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/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/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/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") | ||||
|     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") | ||||
|     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") | ||||
|     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") | ||||
|     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") | ||||
|     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") | ||||
|     #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") | ||||
|     if sites['iPoker'] == True: | ||||
|     if sites['iPoker'] == True and not single_file_test: | ||||
|         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/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") | ||||
|     elif sites['Win2day'] == True and single_file_test: | ||||
|         walk_testfiles(options.filename, compare, importer, Win2dayErrors, "Win2day") | ||||
| 
 | ||||
|     totalerrors = 0 | ||||
| 
 | ||||
|  |  | |||
|  | @ -56,8 +56,15 @@ class TourneyFilters(Filters.Filters): | |||
|         if 'day_start' in gen: | ||||
|             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 | ||||
|         self.mainVBox = gtk.VBox(False, 0) | ||||
|         self.sw.add_with_viewport(self.mainVBox) | ||||
|         self.sw.show() | ||||
| 
 | ||||
|         self.label = {} | ||||
|         self.callback = {} | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ class TourneySummary(object): | |||
|     LCS = {'H':'h', 'D':'d', 'C':'c', 'S':'s'}                                                  # SAL- TO KEEP ?? | ||||
|     SYMBOL = {'USD': '$', 'EUR': u'$', 'T$': '', 'play': ''} | ||||
|     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"): | ||||
|  |  | |||
							
								
								
									
										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 | ||||
|             (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<LIMIT>no\slimit|pot\slimit)\s | ||||
|             \( | ||||
|  | @ -107,6 +107,7 @@ class Winamax(HandHistoryConverter): | |||
|     re_TailSplitHands = re.compile(r'\n\s*\n') | ||||
|     re_Button       = re.compile(r'Seat\s#(?P<BUTTON>\d+)\sis\sthe\sbutton') | ||||
|     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 | ||||
|     re_DateTime = re.compile(""" | ||||
|  | @ -221,13 +222,19 @@ class Winamax(HandHistoryConverter): | |||
|                 hand.startTime = HandHistoryConverter.changeTimezone(hand.startTime, "CET", "UTC") | ||||
|             if key == 'HID1': | ||||
|                 # 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: | ||||
|                     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': | ||||
|                 hand.tourNo = info[key] | ||||
|             if key == 'TABLE': | ||||
|                 hand.tablename = info[key] | ||||
|             if key == 'MAXPLAYER' and info[key] != None: | ||||
|                 hand.maxseats = int(info[key]) | ||||
| 
 | ||||
|             if key == 'BUYIN': | ||||
|                 if hand.tourNo!=None: | ||||
|  | @ -269,8 +276,15 @@ class Winamax(HandHistoryConverter): | |||
|                                 hand.isKO = False | ||||
| 
 | ||||
|                             info['BIRAKE'] = info['BIRAKE'].strip(u'$€') | ||||
|                             hand.buyin = int(100*Decimal(info['BIAMT'])) | ||||
|                             hand.fee = int(100*Decimal(info['BIRAKE'])) | ||||
|                             rake_factor = 1 | ||||
|                             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: | ||||
|                             hand.buyin = int(Decimal(info['BIAMT'])) | ||||
|                             hand.fee = 0 | ||||
|  | @ -278,9 +292,9 @@ class Winamax(HandHistoryConverter): | |||
|             if key == 'LEVEL': | ||||
|                 hand.level = info[key] | ||||
| 
 | ||||
|         # TODO: These | ||||
|         hand.buttonpos = 1 | ||||
|         hand.maxseats = 10    # Set to None - Hand.py will guessMaxSeats() | ||||
|         m =  self.re_Button.search(hand.handText) | ||||
|         hand.buttonpos = m.groupdict().get('BUTTON', None) | ||||
| 
 | ||||
|         hand.mixed = None | ||||
| 
 | ||||
|     def readPlayerStacks(self, hand): | ||||
|  | @ -416,10 +430,6 @@ class Winamax(HandHistoryConverter): | |||
|         # Return any uncalled bet. | ||||
|         committed = sorted([ (v,k) for (k,v) in hand.pot.committed.items()]) | ||||
|         #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 = {} | ||||
|         lastbet = committed[-1][0] - committed[-2][0] | ||||
|         if lastbet > 0: # uncalled | ||||
|  | @ -430,14 +440,29 @@ class Winamax(HandHistoryConverter): | |||
| 
 | ||||
|         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): | ||||
|             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: | ||||
|             if plyr in returned.keys() and Decimal(p) - returned[plyr] == 0: | ||||
|                 if plyr in returned.keys(): | ||||
|                     p = Decimal(p) - returned[plyr] | ||||
|                 if p > 0: | ||||
|                 print "DEBUG: addCollectPot(%s,%s)" %(plyr, p) | ||||
|                     #print "DEBUG: addCollectPot(%s,%s)" %(plyr, p) | ||||
|                     hand.addCollectPot(player=plyr,pot=p) | ||||
| 
 | ||||
|     def readShownCards(self,hand): | ||||
|  |  | |||
|  | @ -35,11 +35,15 @@ import Xlib.display | |||
| 
 | ||||
| #    FPDB modules | ||||
| from TableWindow import Table_Window | ||||
| import Configuration | ||||
| 
 | ||||
| #    We might as well do this once and make them globals | ||||
| disp = Xlib.display.Display() | ||||
| 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): | ||||
| 
 | ||||
|     def find_table_parameters(self): | ||||
|  | @ -56,14 +60,18 @@ class Table(Table_Window): | |||
|         self.number = None | ||||
|         for listing in os.popen('xwininfo -root -tree').readlines(): | ||||
|             if re.search(self.search_string, listing, re.I): | ||||
|                 log.info(listing) | ||||
|                 mo = re.match(reg, listing, re.VERBOSE) | ||||
|                 title  = re.sub('\"', '', mo.groupdict()["TITLE"]) | ||||
|                 if self.check_bad_words(title): continue | ||||
|                 self.number = int( mo.groupdict()["XID"], 0 ) | ||||
|                 self.title = title | ||||
|                 if self.number is None: | ||||
|                     log.warning(_("Could not retrieve XID from table xwininfo. xwininfo is %s") % listing) | ||||
|                 break | ||||
| 
 | ||||
|         if self.number is None: | ||||
|             log.warning(_("No match in XTables for table '%s'.") % self.search_string) | ||||
|             return None | ||||
|         (self.window, self.parent) = self.get_window_from_xid(self.number) | ||||
| 
 | ||||
|  | @ -88,23 +96,51 @@ class Table(Table_Window): | |||
|                 if w.id == id: | ||||
|                     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): | ||||
|         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: | ||||
|             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 | ||||
|             return {'x'        : int(mo.groupdict()['X']), | ||||
|                     'y'        : int(mo.groupdict()['Y']), | ||||
|                     'width'    : int(mo.groupdict()['W']), | ||||
|                     'height'   : int(mo.groupdict()['H']) | ||||
|                    } | ||||
|             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: | ||||
|         except AttributeError: | ||||
|             return None | ||||
| 
 | ||||
|     def get_window_title(self): | ||||
|  | @ -129,4 +165,3 @@ def treewalk(parent): | |||
|         for ww in treewalk(w): | ||||
|             yield ww | ||||
|         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 GuiSessionViewer | ||||
| import GuiReplayer | ||||
| try: | ||||
|     import GuiStove | ||||
| except: | ||||
|     print _("GuiStove not found. If you want to use it please install pypoker-eval.") | ||||
| import SQL | ||||
| import Database | ||||
| import Configuration | ||||
|  | @ -256,7 +259,6 @@ class fpdb: | |||
|                , ('PyGTK',            '.'.join([str(x) for x in gtk.pygtk_version])) | ||||
|                , ('matplotlib',       matplotlib_version) | ||||
|                , ('numpy',            numpy_version) | ||||
|                , ('sqlite3',          sqlite3_version) | ||||
|                , ('sqlite',          sqlite_version) | ||||
|                , ('fpdb version',     VERSION) | ||||
|                , ('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 | ||||
|         #Set defaults | ||||
|         self.callHud    = self.config.get_import_parameters().get("callFpdbHud") | ||||
|         self.cacheSessions = self.config.get_import_parameters().get("cacheSessions") | ||||
| 
 | ||||
|         # CONFIGURATION OPTIONS | ||||
|         self.settings.setdefault("handCount", 0) | ||||
|  | @ -470,12 +469,20 @@ class Importer: | |||
|                 handlist = hhc.getProcessedHands() | ||||
|                 self.pos_in_file[file] = hhc.getLastCharacterRead() | ||||
|                 to_hud = [] | ||||
|                 hp_bulk = [] | ||||
|                 ha_bulk = [] | ||||
|                 i = 0 | ||||
| 
 | ||||
|                 for hand in handlist: | ||||
|                     i += 1 | ||||
|                     if hand is not None: | ||||
|                         hand.prepInsert(self.database, printtest = self.settings['testData']) | ||||
|                         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: | ||||
|                             duplicates += 1 | ||||
|                         else: | ||||
|  | @ -492,13 +499,6 @@ class Importer: | |||
|                             hand.updateHudCache(self.database) | ||||
|                 self.database.commit() | ||||
| 
 | ||||
|                 # Call sessionsCache update | ||||
|                 if self.cacheSessions: | ||||
|                     for hand in handlist: | ||||
|                         if hand is not None and not hand.is_duplicate: | ||||
|                             hand.updateSessionsCache(self.database) | ||||
|                 self.database.commit() | ||||
| 
 | ||||
|                 #pipe the Hands.id out to the HUD | ||||
|                 if self.caller: | ||||
|                     for hid in to_hud: | ||||
|  |  | |||
										
											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" | ||||
| 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-hu_HU.po locale/fpdb-en_GB.pot | ||||
| 
 | ||||
| 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/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/hu/LC_MESSAGES/fpdb.mo locale/fpdb-hu_HU.po | ||||
| 
 | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                  '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                  'street4CheckCallRaiseDone': False, | ||||
|                  'street4Raises': 0, | ||||
|                  'street4Seen': False, | ||||
|                  'success_Steal': False, | ||||
|                  'totalProfit': -2, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 4, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -705,6 +768,14 @@ | |||
|                     '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, | ||||
|  | @ -741,6 +812,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -1,98 +1,4 @@ | |||
| {   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, | ||||
|                     '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, | ||||
| {   u'Hero': {   'card1': 13, | ||||
|                  'card2': 46, | ||||
|                  'card3': 0, | ||||
|                  'card4': 0, | ||||
|  | @ -141,6 +47,14 @@ | |||
|                  '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, | ||||
|  | @ -177,6 +91,110 @@ | |||
|                  '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': 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, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     'street0_3BDone': True, | ||||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 2700, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -25, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -100, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2867, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -705,6 +768,14 @@ | |||
|                     '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, | ||||
|  | @ -741,6 +812,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': 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_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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -98, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 96, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -3, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -705,6 +768,14 @@ | |||
|                     '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, | ||||
|  | @ -741,6 +812,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                  '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                  'street4CheckCallRaiseDone': False, | ||||
|                  'street4Raises': 0, | ||||
|                  'street4Seen': False, | ||||
|                  'success_Steal': False, | ||||
|                  'totalProfit': -5, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 50, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -50, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 2, | ||||
|     'seats': 5, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'25325990000', | ||||
|     'startTime': datetime.datetime(2010, 12, 20, 15, 0, tzinfo=pytz.utc), | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                  'street0_3BDone': False, | ||||
|                  'street0_4BChance': True, | ||||
|                  '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                  'street4CheckCallRaiseDone': False, | ||||
|                  'street4Raises': 0, | ||||
|                  'street4Seen': False, | ||||
|                  'success_Steal': False, | ||||
|                  'totalProfit': -7500, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     'street0_3BDone': False, | ||||
|                     'street0_4BChance': True, | ||||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -15000, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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': True, | ||||
|                     'street1Bets': 1, | ||||
|                     'street1CBChance': True, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -135000, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     'street0_3BDone': True, | ||||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 157200, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
										
											Binary file not shown.
										
									
								
							|  | @ -14,6 +14,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 1, | ||||
|     'seats': 4, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'25585334444', | ||||
|     'startTime': datetime.datetime(2010, 11, 15, 23, 8, tzinfo=pytz.utc), | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                     '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -25000, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -12500, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 37500, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': 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, | ||||
|     'playersVpi': 1, | ||||
|     'seats': 6, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'20000000801', | ||||
|     '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, | ||||
|                     'card3': 0, | ||||
|                     'card4': 0, | ||||
|  | @ -47,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -83,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 3, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -1, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -374,100 +513,6 @@ | |||
|                     'wonWhenSeenStreet2': 0.0, | ||||
|                     'wonWhenSeenStreet3': 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, | ||||
|                     'card2': 0, | ||||
|                     'card3': 0, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 0, | ||||
|     'seats': 9, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'22488827305', | ||||
|     '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, | ||||
|                    'card3': 0, | ||||
|                    'card4': 0, | ||||
|  | @ -47,6 +150,14 @@ | |||
|                    '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, | ||||
|  | @ -83,6 +194,7 @@ | |||
|                    'street4CheckCallRaiseDone': False, | ||||
|                    'street4Raises': 0, | ||||
|                    'street4Seen': False, | ||||
|                    'success_Steal': False, | ||||
|                    'totalProfit': -2, | ||||
|                    'tourneyTypeId': None, | ||||
|                    'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +253,14 @@ | |||
|                   '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, | ||||
|  | @ -177,6 +297,7 @@ | |||
|                   'street4CheckCallRaiseDone': False, | ||||
|                   'street4Raises': 0, | ||||
|                   'street4Seen': False, | ||||
|                   'success_Steal': False, | ||||
|                   'totalProfit': 0, | ||||
|                   'tourneyTypeId': None, | ||||
|                   'tourneysPlayersIds': None, | ||||
|  | @ -186,100 +307,6 @@ | |||
|                   'wonWhenSeenStreet2': 0.0, | ||||
|                   'wonWhenSeenStreet3': 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, | ||||
|                          'card2': 0, | ||||
|                          'card3': 0, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                          '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                          'street4CheckCallRaiseDone': False, | ||||
|                          'street4Raises': 0, | ||||
|                          'street4Seen': False, | ||||
|                          'success_Steal': False, | ||||
|                          'totalProfit': 0, | ||||
|                          'tourneyTypeId': None, | ||||
|                          'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                         '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                         'street4CheckCallRaiseDone': False, | ||||
|                         'street4Raises': 0, | ||||
|                         'street4Seen': False, | ||||
|                         'success_Steal': False, | ||||
|                         'totalProfit': 0, | ||||
|                         'tourneyTypeId': None, | ||||
|                         'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                      '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                      'street4CheckCallRaiseDone': False, | ||||
|                      'street4Raises': 0, | ||||
|                      'street4Seen': False, | ||||
|                      'success_Steal': False, | ||||
|                      'totalProfit': 0, | ||||
|                      'tourneyTypeId': None, | ||||
|                      'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -705,6 +768,14 @@ | |||
|                    '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, | ||||
|  | @ -741,6 +812,7 @@ | |||
|                    'street4CheckCallRaiseDone': False, | ||||
|                    'street4Raises': 0, | ||||
|                    'street4Seen': False, | ||||
|                    'success_Steal': False, | ||||
|                    'totalProfit': 0, | ||||
|                    'tourneyTypeId': None, | ||||
|                    'tourneysPlayersIds': None, | ||||
|  | @ -799,6 +871,14 @@ | |||
|                       '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, | ||||
|  | @ -835,6 +915,7 @@ | |||
|                       'street4CheckCallRaiseDone': False, | ||||
|                       'street4Raises': 0, | ||||
|                       'street4Seen': False, | ||||
|                       'success_Steal': False, | ||||
|                       'totalProfit': 0, | ||||
|                       'tourneyTypeId': None, | ||||
|                       'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 3, | ||||
|     'seats': 6, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'18932478237', | ||||
|     'startTime': datetime.datetime(2010, 3, 3, 16, 37, 56, tzinfo=pytz.utc), | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                        '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                        'street4CheckCallRaiseDone': False, | ||||
|                        'street4Raises': 0, | ||||
|                        'street4Seen': False, | ||||
|                        'success_Steal': False, | ||||
|                        'totalProfit': -2, | ||||
|                        'tourneyTypeId': None, | ||||
|                        'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                         '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, | ||||
|  | @ -177,6 +194,110 @@ | |||
|                         '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'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, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +356,14 @@ | |||
|                    '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, | ||||
|  | @ -271,6 +400,7 @@ | |||
|                    'street4CheckCallRaiseDone': False, | ||||
|                    'street4Raises': 0, | ||||
|                    'street4Seen': False, | ||||
|                    'success_Steal': False, | ||||
|                    'totalProfit': -16, | ||||
|                    'tourneyTypeId': None, | ||||
|                    'tourneysPlayersIds': None, | ||||
|  | @ -280,100 +410,6 @@ | |||
|                    '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, | ||||
|                       '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, | ||||
|                       'card2': 23, | ||||
|                       'card3': 16, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                       '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                       'street4CheckCallRaiseDone': False, | ||||
|                       'street4Raises': 0, | ||||
|                       'street4Seen': False, | ||||
|                       'success_Steal': False, | ||||
|                       'totalProfit': 53, | ||||
|                       'tourneyTypeId': None, | ||||
|                       'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                        '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                        'street4CheckCallRaiseDone': False, | ||||
|                        'street4Raises': 0, | ||||
|                        'street4Seen': False, | ||||
|                        'success_Steal': False, | ||||
|                        'totalProfit': -41, | ||||
|                        'tourneyTypeId': None, | ||||
|                        'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -1,98 +1,4 @@ | |||
| {   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, | ||||
|                     '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, | ||||
| {   u'FILL A RACK': {   'card1': 0, | ||||
|                         'card2': 0, | ||||
|                         'card3': 26, | ||||
|                         'card4': 0, | ||||
|  | @ -141,6 +47,14 @@ | |||
|                         '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, | ||||
|  | @ -177,6 +91,110 @@ | |||
|                         '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'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, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                       '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                       'street4CheckCallRaiseDone': False, | ||||
|                       'street4Raises': 0, | ||||
|                       'street4Seen': False, | ||||
|                       'success_Steal': False, | ||||
|                       'totalProfit': 600, | ||||
|                       'tourneyTypeId': None, | ||||
|                       'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                      '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                      'street4CheckCallRaiseDone': False, | ||||
|                      'street4Raises': 0, | ||||
|                      'street4Seen': False, | ||||
|                      'success_Steal': False, | ||||
|                      'totalProfit': -50, | ||||
|                      'tourneyTypeId': None, | ||||
|                      'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                        '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                        'street4CheckCallRaiseDone': False, | ||||
|                        'street4Raises': 0, | ||||
|                        'street4Seen': False, | ||||
|                        'success_Steal': False, | ||||
|                        'totalProfit': -50, | ||||
|                        'tourneyTypeId': None, | ||||
|                        'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -50, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                        '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                        'street4CheckCallRaiseDone': False, | ||||
|                        'street4Raises': 0, | ||||
|                        'street4Seen': False, | ||||
|                        'success_Steal': False, | ||||
|                        'totalProfit': -350, | ||||
|                        'tourneyTypeId': None, | ||||
|                        'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 3, | ||||
|     'seats': 7, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'26190453000', | ||||
|     'startTime': datetime.datetime(2010, 12, 7, 9, 10, 10, tzinfo=pytz.utc), | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                  '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                  'street4CheckCallRaiseDone': False, | ||||
|                  'street4Raises': 0, | ||||
|                  'street4Seen': False, | ||||
|                  'success_Steal': False, | ||||
|                  'totalProfit': -2, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -22, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -5, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -42, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 70, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ | |||
|     'playersAtStreet4': 0, | ||||
|     'playersVpi': 2, | ||||
|     'seats': 7, | ||||
|     'sessionId': 1, | ||||
|     'showdownPot': 0, | ||||
|     'siteHandNo': u'26190500040', | ||||
|     'startTime': datetime.datetime(2010, 12, 7, 9, 19, tzinfo=pytz.utc), | ||||
|  |  | |||
|  | @ -47,6 +47,14 @@ | |||
|                  '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, | ||||
|  | @ -83,6 +91,7 @@ | |||
|                  'street4CheckCallRaiseDone': False, | ||||
|                  'street4Raises': 0, | ||||
|                  'street4Seen': False, | ||||
|                  'success_Steal': False, | ||||
|                  'totalProfit': -15, | ||||
|                  'tourneyTypeId': None, | ||||
|                  'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -235,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -271,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -5, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -517,6 +562,14 @@ | |||
|                     '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, | ||||
|  | @ -553,6 +606,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -611,6 +665,14 @@ | |||
|                     '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, | ||||
|  | @ -647,6 +709,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -2, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -705,6 +768,14 @@ | |||
|                     '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, | ||||
|  | @ -741,6 +812,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 26, | ||||
|                     'tourneyTypeId': 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, | ||||
|                     'card3': 0, | ||||
|                     'card4': 0, | ||||
|  | @ -47,6 +150,14 @@ | |||
|                     '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, | ||||
|  | @ -83,6 +194,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -105, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -141,6 +253,14 @@ | |||
|                     '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, | ||||
|  | @ -177,6 +297,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': 0, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -186,100 +307,6 @@ | |||
|                     'wonWhenSeenStreet2': 0.0, | ||||
|                     'wonWhenSeenStreet3': 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, | ||||
|                     'card2': 0, | ||||
|                     'card3': 0, | ||||
|  | @ -329,6 +356,14 @@ | |||
|                     '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, | ||||
|  | @ -365,6 +400,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -25, | ||||
|                     'tourneyTypeId': None, | ||||
|                     'tourneysPlayersIds': None, | ||||
|  | @ -423,6 +459,14 @@ | |||
|                     'street0_3BDone': True, | ||||
|                     '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, | ||||
|  | @ -459,6 +503,7 @@ | |||
|                     'street4CheckCallRaiseDone': False, | ||||
|                     'street4Raises': 0, | ||||
|                     'street4Seen': False, | ||||
|                     'success_Steal': False, | ||||
|                     'totalProfit': -205, | ||||
|                     'tourneyTypeId': 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