Merge branch 'master' of git://git.assembla.com/donoban-fpdb

This commit is contained in:
Worros 2011-02-13 23:47:15 +08:00
commit 3d168cee6e
6 changed files with 274 additions and 45 deletions

View File

@ -73,7 +73,7 @@ except ImportError:
use_numpy = False use_numpy = False
DB_VERSION = 148 DB_VERSION = 149
# Variance created as sqlite has a bunch of undefined aggregate functions. # Variance created as sqlite has a bunch of undefined aggregate functions.
@ -1826,12 +1826,15 @@ class Database:
pdata[p]['street0_3BDone'], pdata[p]['street0_3BDone'],
pdata[p]['street0_4BChance'], pdata[p]['street0_4BChance'],
pdata[p]['street0_4BDone'], pdata[p]['street0_4BDone'],
pdata[p]['street0_C4BChance'],
pdata[p]['street0_C4BDone'],
pdata[p]['street0_FoldTo3BChance'], pdata[p]['street0_FoldTo3BChance'],
pdata[p]['street0_FoldTo3BDone'], pdata[p]['street0_FoldTo3BDone'],
pdata[p]['street0_FoldTo4BChance'], pdata[p]['street0_FoldTo4BChance'],
pdata[p]['street0_FoldTo4BDone'], pdata[p]['street0_FoldTo4BDone'],
pdata[p]['other3BStreet0'], pdata[p]['street0_SqueezeChance'],
pdata[p]['other4BStreet0'], pdata[p]['street0_SqueezeDone'],
pdata[p]['success_Steal'],
pdata[p]['otherRaisedStreet0'], pdata[p]['otherRaisedStreet0'],
pdata[p]['otherRaisedStreet1'], pdata[p]['otherRaisedStreet1'],
pdata[p]['otherRaisedStreet2'], pdata[p]['otherRaisedStreet2'],
@ -1953,12 +1956,15 @@ class Database:
line.append(pdata[p]['street0_3BDone']) line.append(pdata[p]['street0_3BDone'])
line.append(pdata[p]['street0_4BChance']) line.append(pdata[p]['street0_4BChance'])
line.append(pdata[p]['street0_4BDone']) 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_FoldTo3BChance'])
line.append(pdata[p]['street0_FoldTo3BDone']) line.append(pdata[p]['street0_FoldTo3BDone'])
line.append(pdata[p]['street0_FoldTo4BChance']) line.append(pdata[p]['street0_FoldTo4BChance'])
line.append(pdata[p]['street0_FoldTo4BDone']) line.append(pdata[p]['street0_FoldTo4BDone'])
line.append(pdata[p]['other3BStreet0']) line.append(pdata[p]['street0_SqueezeChance'])
line.append(pdata[p]['other4BStreet0']) line.append(pdata[p]['street0_SqueezeDone'])
line.append(pdata[p]['success_Steal'])
line.append(pdata[p]['street1Seen']) line.append(pdata[p]['street1Seen'])
line.append(pdata[p]['street2Seen']) line.append(pdata[p]['street2Seen'])
line.append(pdata[p]['street3Seen']) line.append(pdata[p]['street3Seen'])

View File

@ -50,10 +50,15 @@ class DerivedStats():
self.handsplayers[player[1]]['street0_3BDone'] = False self.handsplayers[player[1]]['street0_3BDone'] = False
self.handsplayers[player[1]]['street0_4BChance'] = False self.handsplayers[player[1]]['street0_4BChance'] = False
self.handsplayers[player[1]]['street0_4BDone'] = False self.handsplayers[player[1]]['street0_4BDone'] = False
self.handsplayers[player[1]]['street0_C4BChance'] = False
self.handsplayers[player[1]]['street0_C4BDone'] = False
self.handsplayers[player[1]]['street0_FoldTo3BChance']= False self.handsplayers[player[1]]['street0_FoldTo3BChance']= False
self.handsplayers[player[1]]['street0_FoldTo3BDone']= False self.handsplayers[player[1]]['street0_FoldTo3BDone']= False
self.handsplayers[player[1]]['street0_FoldTo4BChance']= False self.handsplayers[player[1]]['street0_FoldTo4BChance']= False
self.handsplayers[player[1]]['street0_FoldTo4BDone']= False self.handsplayers[player[1]]['street0_FoldTo4BDone']= False
self.handsplayers[player[1]]['street0_SqueezeChance']= False
self.handsplayers[player[1]]['street0_SqueezeDone'] = False
self.handsplayers[player[1]]['success_Steal'] = False
self.handsplayers[player[1]]['raiseFirstInChance'] = False self.handsplayers[player[1]]['raiseFirstInChance'] = False
self.handsplayers[player[1]]['raisedFirstIn'] = False self.handsplayers[player[1]]['raisedFirstIn'] = False
self.handsplayers[player[1]]['foldBbToStealChance'] = False self.handsplayers[player[1]]['foldBbToStealChance'] = False
@ -417,8 +422,10 @@ class DerivedStats():
#print "\naction:", action[0], posn, type(posn), steal_attempt, act #print "\naction:", action[0], posn, type(posn), steal_attempt, act
if posn == 'B': if posn == 'B':
#NOTE: Stud games will never hit this section #NOTE: Stud games will never hit this section
self.handsplayers[pname]['foldBbToStealChance'] = steal_attempt if steal_attempt:
self.handsplayers[pname]['foldedBbToSteal'] = steal_attempt and act == 'folds' self.handsplayers[pname]['foldBbToStealChance'] = True
self.handsplayers[pname]['foldedBbToSteal'] = act == 'folds'
self.handsplayers[stealer]['success_Steal'] = act == 'folds'
break break
elif posn == 'S': elif posn == 'S':
self.handsplayers[pname]['foldSbToStealChance'] = steal_attempt self.handsplayers[pname]['foldSbToStealChance'] = steal_attempt
@ -434,6 +441,7 @@ class DerivedStats():
raised = True raised = True
if posn in steal_positions: if posn in steal_positions:
steal_attempt = True steal_attempt = True
stealer = pname
if act == 'calls': if act == 'calls':
break break
@ -443,8 +451,8 @@ class DerivedStats():
def calc34BetStreet0(self, hand): def calc34BetStreet0(self, hand):
"""Fills street0_(3|4)B(Chance|Done), other(3|4)BStreet0""" """Fills street0_(3|4)B(Chance|Done), other(3|4)BStreet0"""
bet_level = 1 # bet_level after 3-bet is equal to 3 bet_level = 1 # bet_level after 3-bet is equal to 3
squeeze_chance = 0
for action in hand.actions[hand.actionStreets[1]]: for action in hand.actions[hand.actionStreets[1]]:
# FIXME: fill other(3|4)BStreet0 - i have no idea what does it mean
pname, act, aggr = action[0], action[1], action[1] in ('raises', 'bets') pname, act, aggr = action[0], action[1], action[1] in ('raises', 'bets')
if bet_level == 1: if bet_level == 1:
if aggr: if aggr:
@ -453,8 +461,13 @@ class DerivedStats():
continue continue
elif bet_level == 2: elif bet_level == 2:
self.handsplayers[pname]['street0_3BChance'] = True 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: if aggr:
self.handsplayers[pname]['street0_3BDone'] = True self.handsplayers[pname]['street0_3BDone'] = True
self.handsplayers[pname]['street0_SqueezeDone'] = squeeze_chance
second_agressor = pname second_agressor = pname
bet_level += 1 bet_level += 1
continue continue
@ -468,6 +481,11 @@ class DerivedStats():
elif act == 'folds': elif act == 'folds':
self.handsplayers[pname]['street0_FoldTo3BDone'] = True self.handsplayers[pname]['street0_FoldTo3BDone'] = True
break break
else:
self.handsplayers[pname]['street0_C4BChance'] = True
if aggr:
self.handsplayers[pname]['street0_C4BDone'] = True
bet_level += 1
continue continue
elif bet_level == 4: elif bet_level == 4:
if pname == second_agressor: if pname == second_agressor:

View File

@ -50,6 +50,9 @@ onlinehelp = {'Game':_('Type of Game'),
'VPIP':_('Voluntarily Putting In the pot\n(blinds excluded)'), 'VPIP':_('Voluntarily Putting In the pot\n(blinds excluded)'),
'PFR':_('% Pre Flop Raise'), 'PFR':_('% Pre Flop Raise'),
'PF3':_('% Pre Flop Re-Raise / 3Bet'), 'PF3':_('% Pre Flop Re-Raise / 3Bet'),
'PF4':_('% Pre Flop Re-Raise / 4Bet'),
'PFF3':_('% Pre Flop Fold To Re-Raise / F3Bet'),
'PFF4':_('% Pre Flop Fold To Re-Raise / F4Bet'),
'AggFac':_('Aggression Factor\n'), 'AggFac':_('Aggression Factor\n'),
'AggFreq':_('Aggression Frequency\nBet or Raise vs Fold'), 'AggFreq':_('Aggression Frequency\nBet or Raise vs Fold'),
'ContBet':_('Continuation Bet post-flop'), 'ContBet':_('Continuation Bet post-flop'),

View File

@ -24,6 +24,9 @@
<col col_name="vpip" disp_all="True" disp_posn="True" col_title="VPIP" xalignment="1.0" field_format="%3.1f" field_type="str" /> <col col_name="vpip" disp_all="True" disp_posn="True" col_title="VPIP" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="pfr" disp_all="True" disp_posn="True" col_title="PFR" xalignment="1.0" field_format="%3.1f" field_type="str" /> <col col_name="pfr" disp_all="True" disp_posn="True" col_title="PFR" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="pf3" disp_all="True" disp_posn="True" col_title="PF3" xalignment="1.0" field_format="%3.1f" field_type="str" /> <col col_name="pf3" disp_all="True" disp_posn="True" col_title="PF3" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="pf4" disp_all="True" disp_posn="True" col_title="PF4" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="pff3" disp_all="True" disp_posn="True" col_title="PFF3" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="pff4" disp_all="True" disp_posn="True" col_title="PFF4" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="aggfac" disp_all="True" disp_posn="True" col_title="AggFac" xalignment="1.0" field_format="%2.2f" field_type="str" /> <col col_name="aggfac" disp_all="True" disp_posn="True" col_title="AggFac" xalignment="1.0" field_format="%2.2f" field_type="str" />
<col col_name="aggfrq" disp_all="True" disp_posn="True" col_title="AggFreq" xalignment="1.0" field_format="%3.1f" field_type="str" /> <col col_name="aggfrq" disp_all="True" disp_posn="True" col_title="AggFreq" xalignment="1.0" field_format="%3.1f" field_type="str" />
<col col_name="conbet" disp_all="True" disp_posn="True" col_title="ContBet" xalignment="1.0" field_format="%3.1f" field_type="str" /> <col col_name="conbet" disp_all="True" disp_posn="True" col_title="ContBet" xalignment="1.0" field_format="%3.1f" field_type="str" />
@ -743,8 +746,14 @@ Left-Drag to Move"
<pu_stat pu_stat_name="n"> </pu_stat> <pu_stat pu_stat_name="n"> </pu_stat>
<pu_stat pu_stat_name="vpip"> </pu_stat> <pu_stat pu_stat_name="vpip"> </pu_stat>
<pu_stat pu_stat_name="pfr"> </pu_stat> <pu_stat pu_stat_name="pfr"> </pu_stat>
<pu_stat pu_stat_name="three_B_0"> </pu_stat> <pu_stat pu_stat_name="three_B"> </pu_stat>
<pu_stat pu_stat_name="four_B"> </pu_stat>
<pu_stat pu_stat_name="cfour_B"> </pu_stat>
<pu_stat pu_stat_name="squeeze"> </pu_stat>
<pu_stat pu_stat_name="f_3bet"> </pu_stat>
<pu_stat pu_stat_name="f_4bet"> </pu_stat>
<pu_stat pu_stat_name="steal"> </pu_stat> <pu_stat pu_stat_name="steal"> </pu_stat>
<pu_stat pu_stat_name="s_steal"> </pu_stat>
<pu_stat pu_stat_name="f_steal"> </pu_stat> <pu_stat pu_stat_name="f_steal"> </pu_stat>
<pu_stat pu_stat_name="f_BB_steal"> </pu_stat> <pu_stat pu_stat_name="f_BB_steal"> </pu_stat>
<pu_stat pu_stat_name="f_SB_steal"> </pu_stat> <pu_stat pu_stat_name="f_SB_steal"> </pu_stat>

View File

@ -639,13 +639,16 @@ class Sql:
street0_3BChance BOOLEAN, street0_3BChance BOOLEAN,
street0_3BDone BOOLEAN, street0_3BDone BOOLEAN,
street0_4BChance BOOLEAN, street0_4BChance BOOLEAN,
street0_C4BChance BOOLEAN,
street0_4BDone BOOLEAN, street0_4BDone BOOLEAN,
street0_C4BDone BOOLEAN,
street0_FoldTo3BChance BOOLEAN, street0_FoldTo3BChance BOOLEAN,
street0_FoldTo3BDone BOOLEAN, street0_FoldTo3BDone BOOLEAN,
street0_FoldTo4BChance BOOLEAN, street0_FoldTo4BChance BOOLEAN,
street0_FoldTo4BDone BOOLEAN, street0_FoldTo4BDone BOOLEAN,
other3BStreet0 BOOLEAN, street0_SqueezeChance BOOLEAN,
other4BStreet0 BOOLEAN, street0_SqueezeDone BOOLEAN,
success_Steal BOOLEAN,
street1Seen BOOLEAN, street1Seen BOOLEAN,
street2Seen BOOLEAN, street2Seen BOOLEAN,
@ -761,12 +764,15 @@ class Sql:
street0_3BDone BOOLEAN, street0_3BDone BOOLEAN,
street0_4BChance BOOLEAN, street0_4BChance BOOLEAN,
street0_4BDone BOOLEAN, street0_4BDone BOOLEAN,
street0_C4BChance BOOLEAN,
street0_C4BDone BOOLEAN,
street0_FoldTo3BChance BOOLEAN, street0_FoldTo3BChance BOOLEAN,
street0_FoldTo3BDone BOOLEAN, street0_FoldTo3BDone BOOLEAN,
street0_FoldTo4BChance BOOLEAN, street0_FoldTo4BChance BOOLEAN,
street0_FoldTo4BDone BOOLEAN, street0_FoldTo4BDone BOOLEAN,
other3BStreet0 BOOLEAN, street0_SqueezeChance BOOLEAN,
other4BStreet0 BOOLEAN, street0_SqueezeDone BOOLEAN,
success_Steal BOOLEAN,
street1Seen BOOLEAN, street1Seen BOOLEAN,
street2Seen BOOLEAN, street2Seen BOOLEAN,
@ -881,12 +887,15 @@ class Sql:
street0_3BDone INT, street0_3BDone INT,
street0_4BChance INT, street0_4BChance INT,
street0_4BDone INT, street0_4BDone INT,
street0_C4BChance INT,
street0_C4BDone INT,
street0_FoldTo3BChance INT, street0_FoldTo3BChance INT,
street0_FoldTo3BDone INT, street0_FoldTo3BDone INT,
street0_FoldTo4BChance INT, street0_FoldTo4BChance INT,
street0_FoldTo4BDone INT, street0_FoldTo4BDone INT,
other3BStreet0 INT, street0_SqueezeChance INT,
other4BStreet0 INT, street0_SqueezeDone INT,
success_Steal INT,
street1Seen INT, street1Seen INT,
street2Seen INT, street2Seen INT,
@ -1091,13 +1100,16 @@ class Sql:
street0_3BDone INT, street0_3BDone INT,
street0_4BChance INT, street0_4BChance INT,
street0_4BDone INT, street0_4BDone INT,
street0_C4BChance INT,
street0_C4BDone INT,
street0_FoldTo3BChance INT, street0_FoldTo3BChance INT,
street0_FoldTo3BDone INT, street0_FoldTo3BDone INT,
street0_FoldTo4BChance INT, street0_FoldTo4BChance INT,
street0_FoldTo4BDone INT, street0_FoldTo4BDone INT,
street0_SqueezeChance INT,
street0_SqueezeDone INT,
success_Steal INT,
other3BStreet0 INT,
other4BStreet0 INT,
street1Seen INT, street1Seen INT,
street2Seen INT, street2Seen INT,
@ -1197,12 +1209,15 @@ class Sql:
street0_3BDone INT, street0_3BDone INT,
street0_4BChance INT, street0_4BChance INT,
street0_4BDone INT, street0_4BDone INT,
street0_C4BChance INT,
street0_C4BDone INT,
street0_FoldTo3BChance INT, street0_FoldTo3BChance INT,
street0_FoldTo3BDone INT, street0_FoldTo3BDone INT,
street0_FoldTo4BChance INT, street0_FoldTo4BChance INT,
street0_FoldTo4BDone INT, street0_FoldTo4BDone INT,
other3BStreet0 INT, street0_SqueezeChance INT,
other4BStreet0 INT, street0_SqueezeDone INT,
success_Steal INT,
street1Seen INT, street1Seen INT,
street2Seen INT, street2Seen INT,
@ -1300,12 +1315,15 @@ class Sql:
street0_3BDone INT, street0_3BDone INT,
street0_4BChance INT, street0_4BChance INT,
street0_4BDone INT, street0_4BDone INT,
street0_C4BChance INT,
street0_C4BDone INT,
street0_FoldTo3BChance INT, street0_FoldTo3BChance INT,
street0_FoldTo3BDone INT, street0_FoldTo3BDone INT,
street0_FoldTo4BChance INT, street0_FoldTo4BChance INT,
street0_FoldTo4BDone INT, street0_FoldTo4BDone INT,
other3BStreet0 INT, street0_SqueezeChance INT,
other4BStreet0 INT, street0_SqueezeDone INT,
success_Steal INT,
street1Seen INT, street1Seen INT,
street2Seen INT, street2Seen INT,
@ -1515,10 +1533,15 @@ class Sql:
sum(hc.street0_3BDone) AS TB_0, sum(hc.street0_3BDone) AS TB_0,
sum(hc.street0_4BChance) AS FB_opp_0, sum(hc.street0_4BChance) AS FB_opp_0,
sum(hc.street0_4BDone) AS FB_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_FoldTo3BChance) AS F3B_opp_0,
sum(hc.street0_FoldTo3BDone) AS F3B_0, sum(hc.street0_FoldTo3BDone) AS F3B_0,
sum(hc.street0_FoldTo4BChance) AS F4B_opp_0, sum(hc.street0_FoldTo4BChance) AS F4B_opp_0,
sum(hc.street0_FoldTo4BDone) AS F4B_0, sum(hc.street0_FoldTo4BDone) AS F4B_0,
sum(hc.street0_SqueezeChance) AS SQZ_opp_0,
sum(hc.street0_SqueezeDone) AS SQZ_0,
sum(hc.success_Steal) AS SUC_ST,
sum(hc.street1Seen) AS saw_f, sum(hc.street1Seen) AS saw_f,
sum(hc.street1Seen) AS saw_1, sum(hc.street1Seen) AS saw_1,
sum(hc.street2Seen) AS saw_2, sum(hc.street2Seen) AS saw_2,
@ -1632,10 +1655,15 @@ class Sql:
sum(hc.street0_3BDone) AS TB_0, sum(hc.street0_3BDone) AS TB_0,
sum(hc.street0_4BChance) AS FB_opp_0, sum(hc.street0_4BChance) AS FB_opp_0,
sum(hc.street0_4BDone) AS FB_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_FoldTo3BChance) AS F3B_opp_0,
sum(hc.street0_FoldTo3BDone) AS F3B_0, sum(hc.street0_FoldTo3BDone) AS F3B_0,
sum(hc.street0_FoldTo4BChance) AS F4B_opp_0, sum(hc.street0_FoldTo4BChance) AS F4B_opp_0,
sum(hc.street0_FoldTo4BDone) AS F4B_0, sum(hc.street0_FoldTo4BDone) AS F4B_0,
sum(hc.street0_SqueezeChance) AS SQZ_opp_0,
sum(hc.street0_SqueezeDone) AS SQZ_0,
sum(hc.success_Steal) AS SUC_ST,
sum(hc.street1Seen) AS saw_f, sum(hc.street1Seen) AS saw_f,
sum(hc.street1Seen) AS saw_1, sum(hc.street1Seen) AS saw_1,
sum(hc.street2Seen) AS saw_2, sum(hc.street2Seen) AS saw_2,
@ -1766,10 +1794,15 @@ class Sql:
cast(hp2.street0_3BDone as <signed>integer) AS TB_0, cast(hp2.street0_3BDone as <signed>integer) AS TB_0,
cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0, cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0,
cast(hp2.street0_4BDone as <signed>integer) AS FB_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_FoldTo3BChance as <signed>integer) AS F3B_opp_0,
cast(hp2.street0_FoldTo3BDone as <signed>integer) AS F3B_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_FoldTo4BChance as <signed>integer) AS F4B_opp_0,
cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0, cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0,
cast(hp2.street0_SqueezeChance as <signed>integer) AS SQZ_opp_0,
cast(hp2.street0_SqueezeDone as <signed>integer) AS SQZ_0,
cast(hp2.success_Steal as <signed>integer) AS SUC_ST,
cast(hp2.street1Seen as <signed>integer) AS saw_f, cast(hp2.street1Seen as <signed>integer) AS saw_f,
cast(hp2.street1Seen as <signed>integer) AS saw_1, cast(hp2.street1Seen as <signed>integer) AS saw_1,
cast(hp2.street2Seen as <signed>integer) AS saw_2, cast(hp2.street2Seen as <signed>integer) AS saw_2,
@ -1876,10 +1909,15 @@ class Sql:
cast(hp2.street0_3BDone as <signed>integer) AS TB_0, cast(hp2.street0_3BDone as <signed>integer) AS TB_0,
cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0, cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0,
cast(hp2.street0_4BDone as <signed>integer) AS FB_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_FoldTo3BChance as <signed>integer) AS F3B_opp_0,
cast(hp2.street0_FoldTo3BDone as <signed>integer) AS F3B_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_FoldTo4BChance as <signed>integer) AS F4B_opp_0,
cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0, cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0,
cast(hp2.street0_SqueezeChance as <signed>integer) AS SQZ_opp_0,
cast(hp2.street0_SqueezeDone as <signed>integer) AS SQZ_0,
cast(hp2.success_Steal as <signed>integer) AS SUC_ST,
cast(hp2.street1Seen as <signed>integer) AS saw_f, cast(hp2.street1Seen as <signed>integer) AS saw_f,
cast(hp2.street1Seen as <signed>integer) AS saw_1, cast(hp2.street1Seen as <signed>integer) AS saw_1,
cast(hp2.street2Seen as <signed>integer) AS saw_2, cast(hp2.street2Seen as <signed>integer) AS saw_2,
@ -1987,10 +2025,15 @@ class Sql:
cast(hp2.street0_3BDone as <signed>integer) AS TB_0, cast(hp2.street0_3BDone as <signed>integer) AS TB_0,
cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0, cast(hp2.street0_4BChance as <signed>integer) AS FB_opp_0,
cast(hp2.street0_4BDone as <signed>integer) AS FB_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_FoldTo3BChance as <signed>integer) AS F3B_opp_0,
cast(hp2.street0_FoldTo3BDone as <signed>integer) AS F3B_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_FoldTo4BChance as <signed>integer) AS F4B_opp_0,
cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0, cast(hp2.street0_FoldTo4BDone as <signed>integer) AS F4B_0,
cast(hp2.street0_SqueezeChance as <signed>integer) AS SQZ_opp_0,
cast(hp2.street0_SqueezeDone as <signed>integer) AS SQZ_0,
cast(hp2.success_Steal as <signed>integer) AS SUC_ST,
cast(hp2.street1Seen as <signed>integer) AS saw_f, cast(hp2.street1Seen as <signed>integer) AS saw_f,
cast(hp2.street1Seen as <signed>integer) AS saw_1, cast(hp2.street1Seen as <signed>integer) AS saw_1,
cast(hp2.street2Seen as <signed>integer) AS saw_2, cast(hp2.street2Seen as <signed>integer) AS saw_2,
@ -2225,7 +2268,7 @@ class Sql:
from Gametypes gt from Gametypes gt
WHERE type = 'ring' WHERE type = 'ring'
order by type, limitType DESC, bb_or_buyin DESC""" order by type, limitType DESC, bb_or_buyin DESC"""
# FIXME: fold to 3bet don't added #FIXME: Some stats not added to DetailedStats
if db_server == 'mysql': if db_server == 'mysql':
self.query['playerDetailedStats'] = """ self.query['playerDetailedStats'] = """
select <hgametypeId> AS hgametypeid select <hgametypeId> AS hgametypeid
@ -2244,6 +2287,16 @@ class Sql:
,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer))
end AS pf3 end AS pf3
,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer))
end AS pf4
,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer))
end AS pff3
,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer))
end AS pff4
,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999
else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) / else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /
sum(cast(hp.raiseFirstInChance as <signed>integer)) sum(cast(hp.raiseFirstInChance as <signed>integer))
@ -2365,6 +2418,15 @@ class Sql:
,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer))
end AS pf3 end AS pf3
,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer))
end AS pf4
,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer))
end AS pff3
,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer))
end AS pff4
,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999
else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) / else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /
sum(cast(hp.raiseFirstInChance as <signed>integer)) sum(cast(hp.raiseFirstInChance as <signed>integer))
@ -2487,6 +2549,15 @@ class Sql:
,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.street0_3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer)) else 100.0*sum(cast(hp.street0_3Bdone as <signed>integer))/sum(cast(hp.street0_3Bchance as <signed>integer))
end AS pf3 end AS pf3
,case when sum(cast(hp.street0_4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_4Bdone as <signed>integer))/sum(cast(hp.street0_4Bchance as <signed>integer))
end AS pf4
,case when sum(cast(hp.street0_FoldTo3Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo3Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo3Bchance as <signed>integer))
end AS pff3
,case when sum(cast(hp.street0_FoldTo4Bchance as <signed>integer)) = 0 then -999
else 100.0*sum(cast(hp.street0_FoldTo4Bdone as <signed>integer))/sum(cast(hp.street0_FoldTo4Bchance as <signed>integer))
end AS pff4
,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999 ,case when sum(cast(hp.raiseFirstInChance as <signed>integer)) = 0 then -999
else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) / else 100.0 * sum(cast(hp.raisedFirstIn as <signed>integer)) /
sum(cast(hp.raiseFirstInChance as <signed>integer)) sum(cast(hp.raiseFirstInChance as <signed>integer))
@ -2592,6 +2663,7 @@ class Sql:
,s.name ,s.name
""" """
#FIXME: 3/4bet and foldTo don't added four tournaments yet
if db_server == 'mysql': if db_server == 'mysql':
self.query['tourneyPlayerDetailedStats'] = """ self.query['tourneyPlayerDetailedStats'] = """
select s.name AS siteName select s.name AS siteName
@ -2715,6 +2787,9 @@ class Sql:
,stats.vpip ,stats.vpip
,stats.pfr ,stats.pfr
,stats.pf3 ,stats.pf3
,stats.pf4
,stats.pff3
,stats.pff4
,stats.steals ,stats.steals
,stats.saw_f ,stats.saw_f
,stats.sawsd ,stats.sawsd
@ -2745,6 +2820,15 @@ class Sql:
,case when sum(street0_3Bchance) = 0 then '0' ,case when sum(street0_3Bchance) = 0 then '0'
else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1)
end AS pf3 end AS pf3
,case when sum(street0_4Bchance) = 0 then '0'
else format(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),1)
end AS pf4
,case when sum(street0_FoldTo3Bchance) = 0 then '0'
else format(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),1)
end AS pff3
,case when sum(street0_FoldTo4Bchance) = 0 then '0'
else format(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),1)
end AS pff4
,case when sum(raiseFirstInChance) = 0 then '-' ,case when sum(raiseFirstInChance) = 0 then '-'
else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1)
end AS steals end AS steals
@ -2821,6 +2905,9 @@ class Sql:
,stats.vpip ,stats.vpip
,stats.pfr ,stats.pfr
,stats.pf3 ,stats.pf3
,stats.pf4
,stats.pff3
,stats.pff4
,stats.steals ,stats.steals
,stats.saw_f ,stats.saw_f
,stats.sawsd ,stats.sawsd
@ -2935,6 +3022,9 @@ class Sql:
,stats.vpip ,stats.vpip
,stats.pfr ,stats.pfr
,stats.pf3 ,stats.pf3
,stats.pf4
,stats.pff3
,stats.pff4
,stats.steals ,stats.steals
,stats.saw_f ,stats.saw_f
,stats.sawsd ,stats.sawsd
@ -2973,6 +3063,15 @@ class Sql:
,case when sum(street0_3Bchance) = 0 then '0' ,case when sum(street0_3Bchance) = 0 then '0'
else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1) else format(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),1)
end AS pf3 end AS pf3
,case when sum(street0_4Bchance) = 0 then '0'
else format(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),1)
end AS pf4
,case when sum(street0_FoldTo3Bchance) = 0 then '0'
else format(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),1)
end AS pff3
,case when sum(street0_FoldTo4Bchance) = 0 then '0'
else format(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),1)
end AS pff4
,case when sum(raiseFirstInChance) = 0 then '-' ,case when sum(raiseFirstInChance) = 0 then '-'
else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1) else format(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),1)
end AS steals end AS steals
@ -3071,6 +3170,9 @@ class Sql:
,stats.vpip ,stats.vpip
,stats.pfr ,stats.pfr
,stats.pf3 ,stats.pf3
,stats.pf4
,stats.pff3
,stats.pff4
,stats.steals ,stats.steals
,stats.saw_f ,stats.saw_f
,stats.sawsd ,stats.sawsd
@ -3109,6 +3211,15 @@ class Sql:
,case when sum(street0_3Bchance) = 0 then '0' ,case when sum(street0_3Bchance) = 0 then '0'
else to_char(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),'90D0') else to_char(100.0*sum(street0_3Bdone)/sum(street0_3Bchance),'90D0')
end AS pf3 end AS pf3
,case when sum(street0_4Bchance) = 0 then '0'
else to_char(100.0*sum(street0_4Bdone)/sum(street0_4Bchance),'90D0')
end AS pf4
,case when sum(street0_FoldTo3Bchance) = 0 then '0'
else to_char(100.0*sum(street0_FoldTo3Bdone)/sum(street0_FoldTo3Bchance),'90D0')
end AS pff3
,case when sum(street0_FoldTo4Bchance) = 0 then '0'
else to_char(100.0*sum(street0_FoldTo4Bdone)/sum(street0_FoldTo4Bchance),'90D0')
end AS pff4
,case when sum(raiseFirstInChance) = 0 then '-' ,case when sum(raiseFirstInChance) = 0 then '-'
else to_char(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),'90D0') else to_char(100.0*sum(raisedFirstIn)/sum(raiseFirstInChance),'90D0')
end AS steals end AS steals
@ -3334,12 +3445,15 @@ class Sql:
,street0_3BDone ,street0_3BDone
,street0_4BChance ,street0_4BChance
,street0_4BDone ,street0_4BDone
,street0_C4BChance
,street0_C4BDone
,street0_FoldTo3BChance ,street0_FoldTo3BChance
,street0_FoldTo3BDone ,street0_FoldTo3BDone
,street0_FoldTo4BChance ,street0_FoldTo4BChance
,street0_FoldTo4BDone ,street0_FoldTo4BDone
,other3BStreet0 ,street0_SqueezeChance
,other4BStreet0 ,street0_SqueezeDone
,success_Steal
,street1Seen ,street1Seen
,street2Seen ,street2Seen
,street3Seen ,street3Seen
@ -3436,13 +3550,15 @@ class Sql:
,sum(street0_3BChance) ,sum(street0_3BChance)
,sum(street0_3BDone) ,sum(street0_3BDone)
,sum(street0_4BChance) ,sum(street0_4BChance)
,sum(street0_4BDone) ,sum(street0_C4BChance)
,sum(street0_C4BDone)
,sum(street0_FoldTo3BChance) ,sum(street0_FoldTo3BChance)
,sum(street0_FoldTo3BDone) ,sum(street0_FoldTo3BDone)
,sum(street0_FoldTo4BChance) ,sum(street0_FoldTo4BChance)
,sum(street0_FoldTo4BDone) ,sum(street0_FoldTo4BDone)
,sum(other3BStreet0) ,sum(street0_SqueezeChance)
,sum(other4BStreet0) ,sum(street0_SqueezeDone)
,sum(success_Steal)
,sum(street1Seen) ,sum(street1Seen)
,sum(street2Seen) ,sum(street2Seen)
,sum(street3Seen) ,sum(street3Seen)
@ -3540,12 +3656,15 @@ class Sql:
,street0_3BDone ,street0_3BDone
,street0_4BChance ,street0_4BChance
,street0_4BDone ,street0_4BDone
,street0_C4BChance
,street0_C4BDone
,street0_FoldTo3BChance ,street0_FoldTo3BChance
,street0_FoldTo3BDone ,street0_FoldTo3BDone
,street0_FoldTo4BChance ,street0_FoldTo4BChance
,street0_FoldTo4BDone ,street0_FoldTo4BDone
,other3BStreet0 ,street0_SqueezeChance
,other4BStreet0 ,street0_SqueezeDone
,success_Steal
,street1Seen ,street1Seen
,street2Seen ,street2Seen
,street3Seen ,street3Seen
@ -3643,12 +3762,15 @@ class Sql:
,sum(CAST(street0_3BDone as integer)) ,sum(CAST(street0_3BDone as integer))
,sum(CAST(street0_4BChance as integer)) ,sum(CAST(street0_4BChance as integer))
,sum(CAST(street0_4BDone as integer)) ,sum(CAST(street0_4BDone as integer))
,sum(CAST(street0_C4BChance as integer))
,sum(CAST(street0_C4BDone as integer))
,sum(CAST(street0_FoldTo3BChance as integer)) ,sum(CAST(street0_FoldTo3BChance as integer))
,sum(CAST(street0_FoldTo3BDone as integer)) ,sum(CAST(street0_FoldTo3BDone as integer))
,sum(CAST(street0_FoldTo4BChance as integer)) ,sum(CAST(street0_FoldTo4BChance as integer))
,sum(CAST(street0_FoldTo4BDone as integer)) ,sum(CAST(street0_FoldTo4BDone as integer))
,sum(CAST(other3BStreet0 as integer)) ,sum(CAST(street0_SqueezeChance as integer))
,sum(CAST(other4BStreet0 as integer)) ,sum(CAST(street0_SqueezeDone as integer))
,sum(CAST(success_Steal as integer))
,sum(CAST(street1Seen as integer)) ,sum(CAST(street1Seen as integer))
,sum(CAST(street2Seen as integer)) ,sum(CAST(street2Seen as integer))
,sum(CAST(street3Seen as integer)) ,sum(CAST(street3Seen as integer))
@ -3746,12 +3868,15 @@ class Sql:
,street0_3BDone ,street0_3BDone
,street0_4BChance ,street0_4BChance
,street0_4BDone ,street0_4BDone
,street0_C4BChance
,street0_C4BDone
,street0_FoldTo3BChance ,street0_FoldTo3BChance
,street0_FoldTo3BDone ,street0_FoldTo3BDone
,street0_FoldTo4BChance ,street0_FoldTo4BChance
,street0_FoldTo4BDone ,street0_FoldTo4BDone
,other3BStreet0 ,street0_SqueezeChance
,other4BStreet0 ,street0_SqueezeDone
,success_Steal
,street1Seen ,street1Seen
,street2Seen ,street2Seen
,street3Seen ,street3Seen
@ -3849,12 +3974,15 @@ class Sql:
,sum(CAST(street0_3BDone as integer)) ,sum(CAST(street0_3BDone as integer))
,sum(CAST(street0_4BChance as integer)) ,sum(CAST(street0_4BChance as integer))
,sum(CAST(street0_4BDone as integer)) ,sum(CAST(street0_4BDone as integer))
,sum(CAST(street0_C4BChance as integer))
,sum(CAST(street0_C4BDone as integer))
,sum(CAST(street0_FoldTo3BChance as integer)) ,sum(CAST(street0_FoldTo3BChance as integer))
,sum(CAST(street0_FoldTo3BDone as integer)) ,sum(CAST(street0_FoldTo3BDone as integer))
,sum(CAST(street0_FoldTo4BChance as integer)) ,sum(CAST(street0_FoldTo4BChance as integer))
,sum(CAST(street0_FoldTo4BDone as integer)) ,sum(CAST(street0_FoldTo4BDone as integer))
,sum(CAST(other3BStreet0 as integer)) ,sum(CAST(street0_SqueezeChance as integer))
,sum(CAST(other4BStreet0 as integer)) ,sum(CAST(street0_SqueezeDone as integer))
,sum(CAST(success_Steal as integer))
,sum(CAST(street1Seen as integer)) ,sum(CAST(street1Seen as integer))
,sum(CAST(street2Seen as integer)) ,sum(CAST(street2Seen as integer))
,sum(CAST(street3Seen as integer)) ,sum(CAST(street3Seen as integer))
@ -3947,12 +4075,15 @@ class Sql:
street0_3BDone, street0_3BDone,
street0_4BChance, street0_4BChance,
street0_4BDone, street0_4BDone,
street0_C4BChance,
street0_C4BDone,
street0_FoldTo3BChance, street0_FoldTo3BChance,
street0_FoldTo3BDone, street0_FoldTo3BDone,
street0_FoldTo4BChance, street0_FoldTo4BChance,
street0_FoldTo4BDone, street0_FoldTo4BDone,
other3BStreet0, street0_SqueezeChance,
other4BStreet0, street0_SqueezeDone,
success_Steal,
street1Seen, street1Seen,
street2Seen, street2Seen,
street3Seen, street3Seen,
@ -4040,7 +4171,8 @@ class Sql:
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s)""" %s, %s, %s, %s, %s,
%s, %s)"""
self.query['update_hudcache'] = """ self.query['update_hudcache'] = """
UPDATE HudCache SET UPDATE HudCache SET
@ -4051,12 +4183,15 @@ class Sql:
street0_3BDone=street0_3BDone+%s, street0_3BDone=street0_3BDone+%s,
street0_4BChance=street0_4BChance+%s, street0_4BChance=street0_4BChance+%s,
street0_4BDone=street0_4BDone+%s, street0_4BDone=street0_4BDone+%s,
street0_C4BChance=street0_C4BChance+%s,
street0_C4BDone=street0_C4BDone+%s,
street0_FoldTo3BChance=street0_FoldTo3BChance+%s, street0_FoldTo3BChance=street0_FoldTo3BChance+%s,
street0_FoldTo3BDone=street0_FoldTo3BDone+%s, street0_FoldTo3BDone=street0_FoldTo3BDone+%s,
street0_FoldTo4BChance=street0_FoldTo4BChance+%s, street0_FoldTo4BChance=street0_FoldTo4BChance+%s,
street0_FoldTo4BDone=street0_FoldTo4BDone+%s, street0_FoldTo4BDone=street0_FoldTo4BDone+%s,
other3BStreet0=other3BStreet0+%s, street0_SqueezeChance=street0_SqueezeChance+%s,
other4BStreet0=other4BStreet0+%s, street0_SqueezeDone=street0_SqueezeDone+%s,
success_Steal=success_Steal+%s,
street1Seen=street1Seen+%s, street1Seen=street1Seen+%s,
street2Seen=street2Seen+%s, street2Seen=street2Seen+%s,
street3Seen=street3Seen+%s, street3Seen=street3Seen+%s,
@ -4513,12 +4648,15 @@ class Sql:
street0_3BDone, street0_3BDone,
street0_4BChance, street0_4BChance,
street0_4BDone, street0_4BDone,
street0_C4BChance,
street0_C4BDone,
street0_FoldTo3BChance, street0_FoldTo3BChance,
street0_FoldTo3BDone, street0_FoldTo3BDone,
street0_FoldTo4BChance, street0_FoldTo4BChance,
street0_FoldTo4BDone, street0_FoldTo4BDone,
other3BStreet0, street0_SqueezeChance,
other4BStreet0, street0_SqueezeDone,
success_Steal,
otherRaisedStreet0, otherRaisedStreet0,
otherRaisedStreet1, otherRaisedStreet1,
otherRaisedStreet2, otherRaisedStreet2,
@ -4577,7 +4715,8 @@ class Sql:
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
%s, %s, %s, %s %s, %s, %s, %s, %s,
%s, %s
)""" )"""
self.query['store_hands_actions'] = """INSERT INTO HandsActions ( self.query['store_hands_actions'] = """INSERT INTO HandsActions (

View File

@ -378,6 +378,21 @@ def steal(stat_dict, player):
except: except:
return (stat, 'NA', 'st=NA', 'steal=NA', '(0/0)', '% steal attempted') return (stat, 'NA', 'st=NA', 'steal=NA', '(0/0)', '% steal attempted')
def s_steal(stat_dict, player):
""" Success Steal %."""
stat = 0.0
try:
stat = float(stat_dict[player]['suc_st'])/float(stat_dict[player]['steal'])
return (stat,
'%3.1f' % (100.0*stat),
's_st=%3.1f%%' % (100.0*stat),
's_steal=%3.1f%%' % (100.0*stat),
'(%d/%d)' % (stat_dict[player]['suc_st'], stat_dict[player]['steal']),
_('% success steal')
)
except:
return (stat, 'NA', 'st=NA', 's_steal=NA', '(0/0)', '% success steal')
def f_SB_steal(stat_dict, player): def f_SB_steal(stat_dict, player):
""" Folded SB to steal.""" """ Folded SB to steal."""
stat = 0.0 stat = 0.0
@ -465,17 +480,56 @@ def four_B(stat_dict, player):
return (stat, return (stat,
'%3.1f' % (100.0*stat), '%3.1f' % (100.0*stat),
'4B=%3.1f%%' % (100.0*stat), '4B=%3.1f%%' % (100.0*stat),
'4B_pf=%3.1f%%' % (100.0*stat), '4B=%3.1f%%' % (100.0*stat),
'(%d/%d)' % (stat_dict[player]['fb_0'], stat_dict[player]['fb_opp_0']), '(%d/%d)' % (stat_dict[player]['fb_0'], stat_dict[player]['fb_opp_0']),
_('% 4 Bet preflop/4rd')) _('% 4 Bet preflop/4rd'))
except: except:
return (stat, return (stat,
'NA', 'NA',
'4B=NA', '4B=NA',
'4B_pf=NA', '4B=NA',
'(0/0)', '(0/0)',
_('% 4 Bet preflop/4rd')) _('% 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): def f_3bet(stat_dict, player):
""" Fold to 3bet preflop. """ """ Fold to 3bet preflop. """
stat = 0.0 stat = 0.0