Merge branch 'master' of git://git.assembla.com/fpdb-sql
This commit is contained in:
commit
f607b3ff63
0
pyfpdb/CliFpdb.py
Executable file → Normal file
0
pyfpdb/CliFpdb.py
Executable file → Normal file
0
pyfpdb/Configuration.py
Executable file → Normal file
0
pyfpdb/Configuration.py
Executable file → Normal file
|
@ -699,7 +699,6 @@ class FpdbSQLQueries:
|
||||||
,round(100*sum(street2Aggr)/sum(street2Seen)) AS TuAFq
|
,round(100*sum(street2Aggr)/sum(street2Seen)) AS TuAFq
|
||||||
,round(100*sum(street3Aggr)/sum(street3Seen)) AS RvAFq
|
,round(100*sum(street3Aggr)/sum(street3Seen)) AS RvAFq
|
||||||
,round(100*(sum(street1Aggr)+sum(street2Aggr)+sum(street3Aggr))
|
,round(100*(sum(street1Aggr)+sum(street2Aggr)+sum(street3Aggr))
|
||||||
|
|
||||||
/(sum(street1Seen)+sum(street2Seen)+sum(street3Seen))) AS PFAFq
|
/(sum(street1Seen)+sum(street2Seen)+sum(street3Seen))) AS PFAFq
|
||||||
from Gametypes gt
|
from Gametypes gt
|
||||||
inner join Sites s on s.Id = gt.siteId
|
inner join Sites s on s.Id = gt.siteId
|
||||||
|
|
|
@ -321,4 +321,3 @@ class GuiGraphViewer (threading.Thread):
|
||||||
|
|
||||||
self.leftPanelBox.show()
|
self.leftPanelBox.show()
|
||||||
self.graphBox.show()
|
self.graphBox.show()
|
||||||
|
|
||||||
|
|
1
pyfpdb/HUD_main.py
Executable file → Normal file
1
pyfpdb/HUD_main.py
Executable file → Normal file
|
@ -169,4 +169,3 @@ if __name__== "__main__":
|
||||||
main_window.show_all()
|
main_window.show_all()
|
||||||
|
|
||||||
gtk.main()
|
gtk.main()
|
||||||
|
|
||||||
|
|
|
@ -229,12 +229,11 @@ class Sql:
|
||||||
sum(street3CheckCallRaiseDone) AS ccr_3,
|
sum(street3CheckCallRaiseDone) AS ccr_3,
|
||||||
sum(street4CheckCallRaiseChance) AS ccr_opp_4,
|
sum(street4CheckCallRaiseChance) AS ccr_opp_4,
|
||||||
sum(street4CheckCallRaiseDone) AS ccr_4
|
sum(street4CheckCallRaiseDone) AS ccr_4
|
||||||
FROM HudCache, Hands
|
FROM Hands
|
||||||
WHERE HudCache.PlayerId in
|
INNER JOIN HandsPlayers ON (HandsPlayers.handId = %s)
|
||||||
(SELECT PlayerId FROM HandsPlayers
|
INNER JOIN HudCache ON ( HudCache.PlayerId = HandsPlayers.PlayerId+0
|
||||||
WHERE handId = %s)
|
AND HudCache.gametypeId+0 = Hands.gametypeId+0)
|
||||||
AND Hands.id = %s
|
WHERE Hands.id = %s
|
||||||
AND Hands.gametypeId = HudCache.gametypeId
|
|
||||||
GROUP BY HudCache.PlayerId
|
GROUP BY HudCache.PlayerId
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
110
pyfpdb/Stats.py
110
pyfpdb/Stats.py
|
@ -71,6 +71,7 @@ def do_stat(stat_dict, player = 24, stat = 'vpip'):
|
||||||
# functions that return individual stats
|
# functions that return individual stats
|
||||||
|
|
||||||
def playername(stat_dict, player):
|
def playername(stat_dict, player):
|
||||||
|
""" Player Name."""
|
||||||
return (stat_dict[player]['screen_name'],
|
return (stat_dict[player]['screen_name'],
|
||||||
stat_dict[player]['screen_name'],
|
stat_dict[player]['screen_name'],
|
||||||
stat_dict[player]['screen_name'],
|
stat_dict[player]['screen_name'],
|
||||||
|
@ -98,6 +99,26 @@ def vpip(stat_dict, player):
|
||||||
'Voluntarily Put In Pot %'
|
'Voluntarily Put In Pot %'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def vpip_0(stat_dict, player):
|
||||||
|
""" Voluntarily put $ in the pot (no decimals)."""
|
||||||
|
stat = 0.0
|
||||||
|
try:
|
||||||
|
stat = float(stat_dict[player]['vpip'])/float(stat_dict[player]['n'])
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (100*stat) + '%',
|
||||||
|
'v=%2.0f' % (100*stat) + '%',
|
||||||
|
'vpip=%2.0f' % (100*stat) + '%',
|
||||||
|
'(%d/%d)' % (stat_dict[player]['vpip'], stat_dict[player]['n']),
|
||||||
|
'vpip'
|
||||||
|
)
|
||||||
|
except: return (stat,
|
||||||
|
'%2.0f' % (0) + '%',
|
||||||
|
'w=%2.0f' % (0) + '%',
|
||||||
|
'wtsd=%2.0f' % (0) + '%',
|
||||||
|
'(%d/%d)' % (0, 0),
|
||||||
|
'wtsd'
|
||||||
|
)
|
||||||
|
|
||||||
def pfr(stat_dict, player):
|
def pfr(stat_dict, player):
|
||||||
""" Preflop (3rd street) raise."""
|
""" Preflop (3rd street) raise."""
|
||||||
stat = 0.0
|
stat = 0.0
|
||||||
|
@ -119,6 +140,27 @@ def pfr(stat_dict, player):
|
||||||
'Pre-Flop Raise %'
|
'Pre-Flop Raise %'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def pfr_0(stat_dict, player):
|
||||||
|
""" Preflop (3rd street) raise (no decimals)."""
|
||||||
|
stat = 0.0
|
||||||
|
try:
|
||||||
|
stat = float(stat_dict[player]['pfr'])/float(stat_dict[player]['n'])
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (100*stat) + '%',
|
||||||
|
'p=%2.0f' % (100*stat) + '%',
|
||||||
|
'pfr=%2.0f' % (100*stat) + '%',
|
||||||
|
'(%d/%d)' % (stat_dict[player]['pfr'], stat_dict[player]['n']),
|
||||||
|
'pfr'
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (0) + '%',
|
||||||
|
'p=%2.0f' % (0) + '%',
|
||||||
|
'pfr=%2.0f' % (0) + '%',
|
||||||
|
'(%d/%d)' % (0, 0),
|
||||||
|
'pfr'
|
||||||
|
)
|
||||||
|
|
||||||
def wtsd(stat_dict, player):
|
def wtsd(stat_dict, player):
|
||||||
""" Went to SD when saw flop/4th."""
|
""" Went to SD when saw flop/4th."""
|
||||||
stat = 0.0
|
stat = 0.0
|
||||||
|
@ -149,7 +191,7 @@ def wmsd(stat_dict, player):
|
||||||
'%3.1f' % (100*stat) + '%',
|
'%3.1f' % (100*stat) + '%',
|
||||||
'w=%3.1f' % (100*stat) + '%',
|
'w=%3.1f' % (100*stat) + '%',
|
||||||
'wmsd=%3.1f' % (100*stat) + '%',
|
'wmsd=%3.1f' % (100*stat) + '%',
|
||||||
'(%f5.0/%d)' % (stat_dict[player]['wmsd'], stat_dict[player]['sd']),
|
'(%5.1f/%d)' % (float(stat_dict[player]['wmsd']), stat_dict[player]['sd']),
|
||||||
'% won money at showdown'
|
'% won money at showdown'
|
||||||
)
|
)
|
||||||
except:
|
except:
|
||||||
|
@ -412,6 +454,61 @@ def a_freq_4(stat_dict, player):
|
||||||
'(%d/%d)' % (0, 0),
|
'(%d/%d)' % (0, 0),
|
||||||
'Aggression Freq 7th'
|
'Aggression Freq 7th'
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def a_freq_123(stat_dict, player):
|
||||||
|
""" Post-Flop aggression frequency."""
|
||||||
|
stat = 0.0
|
||||||
|
try:
|
||||||
|
stat = float( stat_dict[player]['aggr_1'] + stat_dict[player]['aggr_2'] + stat_dict[player]['aggr_3']
|
||||||
|
) / float( stat_dict[player]['saw_1'] + stat_dict[player]['saw_2'] + stat_dict[player]['saw_3']);
|
||||||
|
return (stat,
|
||||||
|
'%3.1f' % (100*stat) + '%',
|
||||||
|
'afq=%3.1f' % (100*stat) + '%',
|
||||||
|
'postf_aggfq=%3.1f' % (100*stat) + '%',
|
||||||
|
'(%d/%d)' % ( stat_dict[player]['aggr_1']
|
||||||
|
+ stat_dict[player]['aggr_2']
|
||||||
|
+ stat_dict[player]['aggr_3']
|
||||||
|
, stat_dict[player]['saw_1']
|
||||||
|
+ stat_dict[player]['saw_2']
|
||||||
|
+ stat_dict[player]['saw_3']
|
||||||
|
),
|
||||||
|
'Post-Flop Aggression Freq'
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (0) + '%',
|
||||||
|
'a3=%2.0f' % (0) + '%',
|
||||||
|
'a_fq_3=%2.0f' % (0) + '%',
|
||||||
|
'(%d/%d)' % (0, 0),
|
||||||
|
'Post-Flop Aggression Freq'
|
||||||
|
)
|
||||||
|
|
||||||
|
def a_freq_123_0(stat_dict, player):
|
||||||
|
""" Post-Flop aggression frequency (no decimals)."""
|
||||||
|
stat = 0.0
|
||||||
|
try:
|
||||||
|
stat = float( stat_dict[player]['aggr_1'] + stat_dict[player]['aggr_2'] + stat_dict[player]['aggr_3']) / float( stat_dict[player]['saw_1'] + stat_dict[player]['saw_2'] + stat_dict[player]['saw_3']);
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (100*stat) + '%',
|
||||||
|
'afq=%2.0f' % (100*stat) + '%',
|
||||||
|
'postf_aggfq=%2.0f' % (100*stat) + '%',
|
||||||
|
'(%d/%d)' % ( stat_dict[player]['aggr_1']
|
||||||
|
+ stat_dict[player]['aggr_2']
|
||||||
|
+ stat_dict[player]['aggr_3']
|
||||||
|
, stat_dict[player]['saw_1']
|
||||||
|
+ stat_dict[player]['saw_2']
|
||||||
|
+ stat_dict[player]['saw_3']
|
||||||
|
),
|
||||||
|
'Post-Flop Aggression Freq'
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
return (stat,
|
||||||
|
'%2.0f' % (0) + '%',
|
||||||
|
'a3=%2.0f' % (0) + '%',
|
||||||
|
'a_fq_3=%2.0f' % (0) + '%',
|
||||||
|
'(%d/%d)' % (0, 0),
|
||||||
|
'Post-Flop Aggression Freq'
|
||||||
|
)
|
||||||
|
|
||||||
def cb_1(stat_dict, player):
|
def cb_1(stat_dict, player):
|
||||||
""" Flop continuation bet."""
|
""" Flop continuation bet."""
|
||||||
|
@ -589,7 +686,9 @@ if __name__== "__main__":
|
||||||
|
|
||||||
for player in stat_dict.keys():
|
for player in stat_dict.keys():
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'vpip')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'vpip')
|
||||||
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'vpip_0')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'pfr')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'pfr')
|
||||||
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'pfr_0')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'wtsd')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'wtsd')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'saw_f')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'saw_f')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'n')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'n')
|
||||||
|
@ -604,6 +703,8 @@ if __name__== "__main__":
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_2')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_2')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_3')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_3')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_4')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_4')
|
||||||
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_123')
|
||||||
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'a_freq_123_0')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_1')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_1')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_2')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_2')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_3')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'cb_3')
|
||||||
|
@ -611,7 +712,8 @@ if __name__== "__main__":
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_1')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_1')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_2')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_2')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_3')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_3')
|
||||||
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_4')
|
print "player = ", player, do_stat(stat_dict, player = player, stat = 'ffreq_4')
|
||||||
|
print "\n"
|
||||||
|
|
||||||
print "\n\nLegal stats:"
|
print "\n\nLegal stats:"
|
||||||
for attr in dir():
|
for attr in dir():
|
||||||
|
@ -619,8 +721,8 @@ if __name__== "__main__":
|
||||||
if attr in ("Configuration", "Database", "GInitiallyUnowned", "gtk", "pygtk",
|
if attr in ("Configuration", "Database", "GInitiallyUnowned", "gtk", "pygtk",
|
||||||
"player", "c", "db_connection", "do_stat", "do_tip", "stat_dict",
|
"player", "c", "db_connection", "do_stat", "do_tip", "stat_dict",
|
||||||
"h"): continue
|
"h"): continue
|
||||||
print attr, eval("%s.__doc__" % (attr))
|
print "%-14s %s" % (attr, eval("%s.__doc__" % (attr)))
|
||||||
# print " <pu_stat pu_stat_name = \"%s\"> </pu_stat>" % (attr)
|
# print " <pu_stat pu_stat_name = \"%s\"> </pu_stat>" % (attr)
|
||||||
|
|
||||||
db_connection.close
|
db_connection.close_connection
|
||||||
|
|
||||||
|
|
0
pyfpdb/fpdb.py
Executable file → Normal file
0
pyfpdb/fpdb.py
Executable file → Normal file
3
pyfpdb/fpdb_db.py
Executable file → Normal file
3
pyfpdb/fpdb_db.py
Executable file → Normal file
|
@ -48,7 +48,8 @@ class fpdb_db:
|
||||||
import psycopg2
|
import psycopg2
|
||||||
# If DB connection is made over TCP, then the variables
|
# If DB connection is made over TCP, then the variables
|
||||||
# host, user and password are required
|
# host, user and password are required
|
||||||
if self.host or self.user:
|
print "host=%s user=%s pass=%s." % (host, user, password)
|
||||||
|
if self.host and self.user and self.password:
|
||||||
self.db = psycopg2.connect(host = host,
|
self.db = psycopg2.connect(host = host,
|
||||||
user = user,
|
user = user,
|
||||||
password = password,
|
password = password,
|
||||||
|
|
7
pyfpdb/fpdb_import.py
Executable file → Normal file
7
pyfpdb/fpdb_import.py
Executable file → Normal file
|
@ -75,8 +75,8 @@ class Importer:
|
||||||
if not pgsqlLibFound:
|
if not pgsqlLibFound:
|
||||||
raise fpdb_simple.FpdbError("interface library psycopg2 not found but PostgreSQL selected as backend - please install the library or change the config file")
|
raise fpdb_simple.FpdbError("interface library psycopg2 not found but PostgreSQL selected as backend - please install the library or change the config file")
|
||||||
print self.settings
|
print self.settings
|
||||||
if not self.settings.has_key('db-host') or \
|
if self.settings.has_key('db-host') and \
|
||||||
not self.settings.has_key('db-user'):
|
self.settings.has_key('db-user'):
|
||||||
self.db = psycopg2.connect(host = self.settings['db-host'],
|
self.db = psycopg2.connect(host = self.settings['db-host'],
|
||||||
user = self.settings['db-user'],
|
user = self.settings['db-user'],
|
||||||
password = self.settings['db-password'],
|
password = self.settings['db-password'],
|
||||||
|
@ -243,7 +243,8 @@ class Importer:
|
||||||
self.hand=hand
|
self.hand=hand
|
||||||
|
|
||||||
try:
|
try:
|
||||||
handsId=fpdb_parse_logic.mainParser(self.db, self.cursor, site, category, hand)
|
handsId=fpdb_parse_logic.mainParser(self.settings['db-backend'], self.db
|
||||||
|
,self.cursor, site, category, hand)
|
||||||
self.db.commit()
|
self.db.commit()
|
||||||
|
|
||||||
stored+=1
|
stored+=1
|
||||||
|
|
|
@ -21,146 +21,171 @@ import fpdb_simple
|
||||||
import fpdb_save_to_db
|
import fpdb_save_to_db
|
||||||
|
|
||||||
#parses a holdem hand
|
#parses a holdem hand
|
||||||
def mainParser(db, cursor, site, category, hand):
|
def mainParser(backend, db, cursor, site, category, hand):
|
||||||
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
|
if (category=="holdem" or category=="omahahi" or category=="omahahilo"):
|
||||||
base="hold"
|
base="hold"
|
||||||
else:
|
else:
|
||||||
base="stud"
|
base="stud"
|
||||||
#part 0: create the empty arrays
|
#part 0: create the empty arrays
|
||||||
lineTypes=[] #char, valid values: header, name, cards, action, win, rake, ignore
|
lineTypes=[] #char, valid values: header, name, cards, action, win, rake, ignore
|
||||||
lineStreets=[] #char, valid values: (predeal, preflop, flop, turn, river)
|
lineStreets=[] #char, valid values: (predeal, preflop, flop, turn, river)
|
||||||
|
|
||||||
cardValues, cardSuits, boardValues, boardSuits, antes, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo, seatLines, winnings, rakes=[],[],[],[],[],[],[],[],[],[],[],[],[]
|
cardValues, cardSuits, boardValues, boardSuits, antes, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo, seatLines, winnings, rakes=[],[],[],[],[],[],[],[],[],[],[],[],[]
|
||||||
|
|
||||||
#part 1: read hand no and check for duplicate
|
#part 1: read hand no and check for duplicate
|
||||||
siteHandNo=fpdb_simple.parseSiteHandNo(hand[0])
|
siteHandNo=fpdb_simple.parseSiteHandNo(hand[0])
|
||||||
handStartTime=fpdb_simple.parseHandStartTime(hand[0], site)
|
handStartTime=fpdb_simple.parseHandStartTime(hand[0], site)
|
||||||
siteID=fpdb_simple.recogniseSiteID(cursor, site)
|
siteID=fpdb_simple.recogniseSiteID(cursor, site)
|
||||||
#print "parse logic, siteID:",siteID,"site:",site
|
#print "parse logic, siteID:",siteID,"site:",site
|
||||||
|
|
||||||
isTourney=fpdb_simple.isTourney(hand[0])
|
isTourney=fpdb_simple.isTourney(hand[0])
|
||||||
smallBlindLine=0
|
smallBlindLine=0
|
||||||
for i in range(len(hand)):
|
for i in range(len(hand)):
|
||||||
if hand[i].find("posts small blind")!=-1 or hand[i].find("posts the small blind")!=-1:
|
if hand[i].find("posts small blind")!=-1 or hand[i].find("posts the small blind")!=-1:
|
||||||
if hand[i][-2:] == "$0":
|
if hand[i][-2:] == "$0":
|
||||||
continue
|
continue
|
||||||
smallBlindLine=i
|
smallBlindLine=i
|
||||||
#print "found small blind line:",smallBlindLine
|
#print "found small blind line:",smallBlindLine
|
||||||
break
|
break
|
||||||
#print "small blind line:",smallBlindLine
|
#print "small blind line:",smallBlindLine
|
||||||
gametypeID=fpdb_simple.recogniseGametypeID(cursor, hand[0], hand[smallBlindLine], siteID, category, isTourney)
|
gametypeID=fpdb_simple.recogniseGametypeID(backend, db, cursor, hand[0], hand[smallBlindLine], siteID, category, isTourney)
|
||||||
if isTourney:
|
if isTourney:
|
||||||
if site!="ps":
|
if site!="ps":
|
||||||
raise fpdb_simple.FpdbError("tourneys are only supported on PS right now")
|
raise fpdb_simple.FpdbError("tourneys are only supported on PS right now")
|
||||||
siteTourneyNo=fpdb_simple.parseTourneyNo(hand[0])
|
siteTourneyNo=fpdb_simple.parseTourneyNo(hand[0])
|
||||||
buyin=fpdb_simple.parseBuyin(hand[0])
|
buyin=fpdb_simple.parseBuyin(hand[0])
|
||||||
fee=fpdb_simple.parseFee(hand[0])
|
fee=fpdb_simple.parseFee(hand[0])
|
||||||
entries=-1 #todo: parse this
|
entries=-1 #todo: parse this
|
||||||
prizepool=-1 #todo: parse this
|
prizepool=-1 #todo: parse this
|
||||||
knockout=0
|
knockout=0
|
||||||
tourneyStartTime=handStartTime #todo: read tourney start time
|
tourneyStartTime=handStartTime #todo: read tourney start time
|
||||||
rebuyOrAddon=fpdb_simple.isRebuyOrAddon(hand[0])
|
rebuyOrAddon=fpdb_simple.isRebuyOrAddon(hand[0])
|
||||||
|
|
||||||
tourneyTypeId=fpdb_simple.recogniseTourneyTypeId(cursor, siteID, buyin, fee, knockout, rebuyOrAddon)
|
tourneyTypeId=fpdb_simple.recogniseTourneyTypeId(cursor, siteID, buyin, fee, knockout, rebuyOrAddon)
|
||||||
fpdb_simple.isAlreadyInDB(cursor, gametypeID, siteHandNo)
|
fpdb_simple.isAlreadyInDB(cursor, gametypeID, siteHandNo)
|
||||||
|
|
||||||
#part 2: classify lines by type (e.g. cards, action, win, sectionchange) and street
|
#part 2: classify lines by type (e.g. cards, action, win, sectionchange) and street
|
||||||
fpdb_simple.classifyLines(hand, category, lineTypes, lineStreets)
|
fpdb_simple.classifyLines(hand, category, lineTypes, lineStreets)
|
||||||
|
|
||||||
#part 3: read basic player info
|
#part 3: read basic player info
|
||||||
#3a read player names, startcashes
|
#3a read player names, startcashes
|
||||||
for i in range (len(hand)): #todo: use maxseats+1 here.
|
for i in range (len(hand)): #todo: use maxseats+1 here.
|
||||||
if (lineTypes[i]=="name"):
|
if (lineTypes[i]=="name"):
|
||||||
seatLines.append(hand[i])
|
seatLines.append(hand[i])
|
||||||
names=fpdb_simple.parseNames(seatLines)
|
names=fpdb_simple.parseNames(seatLines)
|
||||||
playerIDs = fpdb_simple.recognisePlayerIDs(cursor, names, siteID)
|
playerIDs = fpdb_simple.recognisePlayerIDs(cursor, names, siteID)
|
||||||
tmp=fpdb_simple.parseCashesAndSeatNos(seatLines, site)
|
tmp=fpdb_simple.parseCashesAndSeatNos(seatLines, site)
|
||||||
startCashes=tmp['startCashes']
|
startCashes=tmp['startCashes']
|
||||||
seatNos=tmp['seatNos']
|
seatNos=tmp['seatNos']
|
||||||
|
|
||||||
fpdb_simple.createArrays(category, len(names), cardValues, cardSuits, antes, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo)
|
fpdb_simple.createArrays(category, len(names), cardValues, cardSuits, antes, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo)
|
||||||
|
|
||||||
#3b read positions
|
#3b read positions
|
||||||
if base=="hold":
|
if base=="hold":
|
||||||
positions = fpdb_simple.parsePositions (hand, names)
|
positions = fpdb_simple.parsePositions (hand, names)
|
||||||
|
|
||||||
#part 4: take appropriate action for each line based on linetype
|
#part 4: take appropriate action for each line based on linetype
|
||||||
for i in range(len(hand)):
|
for i in range(len(hand)):
|
||||||
if (lineTypes[i]=="cards"):
|
if (lineTypes[i]=="cards"):
|
||||||
fpdb_simple.parseCardLine (site, category, lineStreets[i], hand[i], names, cardValues, cardSuits, boardValues, boardSuits)
|
fpdb_simple.parseCardLine (site, category, lineStreets[i], hand[i], names, cardValues, cardSuits, boardValues, boardSuits)
|
||||||
#if category=="studhilo":
|
#if category=="studhilo":
|
||||||
# print "hand[i]:", hand[i]
|
# print "hand[i]:", hand[i]
|
||||||
# print "cardValues:", cardValues
|
# print "cardValues:", cardValues
|
||||||
# print "cardSuits:", cardSuits
|
# print "cardSuits:", cardSuits
|
||||||
elif (lineTypes[i]=="action"):
|
elif (lineTypes[i]=="action"):
|
||||||
fpdb_simple.parseActionLine (site, base, isTourney, hand[i], lineStreets[i], playerIDs, names, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo)
|
fpdb_simple.parseActionLine (site, base, isTourney, hand[i], lineStreets[i], playerIDs, names, actionTypes, allIns, actionAmounts, actionNos, actionTypeByNo)
|
||||||
elif (lineTypes[i]=="win"):
|
elif (lineTypes[i]=="win"):
|
||||||
fpdb_simple.parseWinLine (hand[i], site, names, winnings, isTourney)
|
fpdb_simple.parseWinLine (hand[i], site, names, winnings, isTourney)
|
||||||
elif (lineTypes[i]=="rake"):
|
elif (lineTypes[i]=="rake"):
|
||||||
if isTourney:
|
if isTourney:
|
||||||
totalRake=0
|
totalRake=0
|
||||||
else:
|
else:
|
||||||
totalRake=fpdb_simple.parseRake(hand[i])
|
totalRake=fpdb_simple.parseRake(hand[i])
|
||||||
fpdb_simple.splitRake(winnings, rakes, totalRake)
|
fpdb_simple.splitRake(winnings, rakes, totalRake)
|
||||||
elif (lineTypes[i]=="header" or lineTypes[i]=="rake" or lineTypes[i]=="name" or lineTypes[i]=="ignore"):
|
elif (lineTypes[i]=="header" or lineTypes[i]=="rake" or lineTypes[i]=="name" or lineTypes[i]=="ignore"):
|
||||||
pass
|
pass
|
||||||
elif (lineTypes[i]=="ante"):
|
elif (lineTypes[i]=="ante"):
|
||||||
fpdb_simple.parseAnteLine(hand[i], site, isTourney, names, antes)
|
fpdb_simple.parseAnteLine(hand[i], site, isTourney, names, antes)
|
||||||
elif (lineTypes[i]=="table"):
|
elif (lineTypes[i]=="table"):
|
||||||
tableResult=fpdb_simple.parseTableLine(site, base, hand[i])
|
tableResult=fpdb_simple.parseTableLine(site, base, hand[i])
|
||||||
else:
|
else:
|
||||||
raise fpdb_simple.FpdbError("unrecognised lineType:"+lineTypes[i])
|
raise fpdb_simple.FpdbError("unrecognised lineType:"+lineTypes[i])
|
||||||
if site=="ftp":
|
if site=="ftp":
|
||||||
tableResult=fpdb_simple.parseTableLine(site, base, hand[0])
|
tableResult=fpdb_simple.parseTableLine(site, base, hand[0])
|
||||||
maxSeats=tableResult['maxSeats']
|
maxSeats=tableResult['maxSeats']
|
||||||
tableName=tableResult['tableName']
|
tableName=tableResult['tableName']
|
||||||
#print "before part5, antes:", antes
|
#print "before part5, antes:", antes
|
||||||
|
|
||||||
#part 5: final preparations, then call fpdb_save_to_db.* with
|
#part 5: final preparations, then call fpdb_save_to_db.* with
|
||||||
# the arrays as they are - that file will fill them.
|
# the arrays as they are - that file will fill them.
|
||||||
fpdb_simple.convertCardValues(cardValues)
|
fpdb_simple.convertCardValues(cardValues)
|
||||||
if base=="hold":
|
if base=="hold":
|
||||||
fpdb_simple.convertCardValuesBoard(boardValues)
|
fpdb_simple.convertCardValuesBoard(boardValues)
|
||||||
fpdb_simple.convertBlindBet(actionTypes, actionAmounts)
|
fpdb_simple.convertBlindBet(actionTypes, actionAmounts)
|
||||||
fpdb_simple.checkPositions(positions)
|
fpdb_simple.checkPositions(positions)
|
||||||
|
|
||||||
cursor.execute("SELECT limitType FROM Gametypes WHERE id=%s",(gametypeID, ))
|
cursor.execute("SELECT limitType FROM Gametypes WHERE id=%s",(gametypeID, ))
|
||||||
limit_type=cursor.fetchone()[0]
|
limit_type=cursor.fetchone()[0]
|
||||||
fpdb_simple.convert3B4B(site, category, limit_type, actionTypes, actionAmounts)
|
fpdb_simple.convert3B4B(site, category, limit_type, actionTypes, actionAmounts)
|
||||||
|
|
||||||
totalWinnings=0
|
totalWinnings=0
|
||||||
for i in range(len(winnings)):
|
for i in range(len(winnings)):
|
||||||
totalWinnings+=winnings[i]
|
totalWinnings+=winnings[i]
|
||||||
|
|
||||||
if base=="hold":
|
if base=="hold":
|
||||||
hudImportData=fpdb_simple.generateHudCacheData(playerIDs, base, category, actionTypes, allIns, actionTypeByNo, winnings, totalWinnings, positions)
|
hudImportData=fpdb_simple.generateHudCacheData(playerIDs, base, category, actionTypes
|
||||||
else:
|
, allIns, actionTypeByNo, winnings, totalWinnings, positions
|
||||||
hudImportData=fpdb_simple.generateHudCacheData(playerIDs, base, category, actionTypes, allIns, actionTypeByNo, winnings, totalWinnings, None)
|
, actionTypes, actionAmounts)
|
||||||
|
else:
|
||||||
if isTourney:
|
hudImportData=fpdb_simple.generateHudCacheData(playerIDs, base, category, actionTypes
|
||||||
ranks=[]
|
, allIns, actionTypeByNo, winnings, totalWinnings, None
|
||||||
for i in range (len(names)):
|
, actionTypes, actionAmounts)
|
||||||
ranks.append(0)
|
|
||||||
payin_amounts=fpdb_simple.calcPayin(len(names), buyin, fee)
|
if isTourney:
|
||||||
|
ranks=[]
|
||||||
if base=="hold":
|
for i in range (len(names)):
|
||||||
result = fpdb_save_to_db.tourney_holdem_omaha(cursor, base, category, siteTourneyNo, buyin, fee, knockout, entries, prizepool, tourneyStartTime, payin_amounts, ranks, tourneyTypeId, siteID,
|
ranks.append(0)
|
||||||
siteHandNo, gametypeID, handStartTime, names, playerIDs, startCashes, positions, cardValues, cardSuits, boardValues, boardSuits, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, hudImportData, maxSeats, tableName, seatNos)
|
payin_amounts=fpdb_simple.calcPayin(len(names), buyin, fee)
|
||||||
elif base=="stud":
|
|
||||||
result = fpdb_save_to_db.tourney_stud(cursor, base, category, siteTourneyNo, buyin, fee, knockout, entries, prizepool, tourneyStartTime, payin_amounts, ranks, tourneyTypeId, siteID,
|
if base=="hold":
|
||||||
siteHandNo, gametypeID, handStartTime, names, playerIDs, startCashes, antes, cardValues, cardSuits, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, hudImportData, maxSeats, tableName, seatNos)
|
result = fpdb_save_to_db.tourney_holdem_omaha(
|
||||||
else:
|
backend, db, cursor, base, category, siteTourneyNo, buyin
|
||||||
raise fpdb_simple.FpdbError ("unrecognised category")
|
, fee, knockout, entries, prizepool, tourneyStartTime
|
||||||
else:
|
, payin_amounts, ranks, tourneyTypeId, siteID, siteHandNo
|
||||||
if base=="hold":
|
, gametypeID, handStartTime, names, playerIDs, startCashes
|
||||||
result = fpdb_save_to_db.ring_holdem_omaha(cursor, base, category, siteHandNo, gametypeID, handStartTime, names, playerIDs, startCashes, positions, cardValues, cardSuits, boardValues, boardSuits, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, hudImportData, maxSeats, tableName, seatNos)
|
, positions, cardValues, cardSuits, boardValues, boardSuits
|
||||||
elif base=="stud":
|
, winnings, rakes, actionTypes, allIns, actionAmounts
|
||||||
result = fpdb_save_to_db.ring_stud(cursor, base, category, siteHandNo, gametypeID,
|
, actionNos, hudImportData, maxSeats, tableName, seatNos)
|
||||||
handStartTime, names, playerIDs, startCashes, antes, cardValues,
|
elif base=="stud":
|
||||||
cardSuits, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, hudImportData, maxSeats, tableName, seatNos)
|
result = fpdb_save_to_db.tourney_stud(
|
||||||
else:
|
backend, db, cursor, base, category, siteTourneyNo
|
||||||
raise fpdb_simple.FpdbError ("unrecognised category")
|
, buyin, fee, knockout, entries, prizepool, tourneyStartTime
|
||||||
db.commit()
|
, payin_amounts, ranks, tourneyTypeId, siteID, siteHandNo
|
||||||
return result
|
, gametypeID, handStartTime, names, playerIDs, startCashes
|
||||||
|
, antes, cardValues, cardSuits, winnings, rakes, actionTypes
|
||||||
|
, allIns, actionAmounts, actionNos, hudImportData, maxSeats
|
||||||
|
, tableName, seatNos)
|
||||||
|
else:
|
||||||
|
raise fpdb_simple.FpdbError ("unrecognised category")
|
||||||
|
else:
|
||||||
|
if base=="hold":
|
||||||
|
result = fpdb_save_to_db.ring_holdem_omaha(
|
||||||
|
backend, db, cursor, base, category, siteHandNo
|
||||||
|
, gametypeID, handStartTime, names, playerIDs
|
||||||
|
, startCashes, positions, cardValues, cardSuits
|
||||||
|
, boardValues, boardSuits, winnings, rakes
|
||||||
|
, actionTypes, allIns, actionAmounts, actionNos
|
||||||
|
, hudImportData, maxSeats, tableName, seatNos)
|
||||||
|
elif base=="stud":
|
||||||
|
result = fpdb_save_to_db.ring_stud(
|
||||||
|
backend, db, cursor, base, category, siteHandNo, gametypeID
|
||||||
|
, handStartTime, names, playerIDs, startCashes, antes
|
||||||
|
, cardValues, cardSuits, winnings, rakes, actionTypes, allIns
|
||||||
|
, actionAmounts, actionNos, hudImportData, maxSeats, tableName
|
||||||
|
, seatNos)
|
||||||
|
else:
|
||||||
|
raise fpdb_simple.FpdbError ("unrecognised category")
|
||||||
|
db.commit()
|
||||||
|
return result
|
||||||
#end def mainParser
|
#end def mainParser
|
||||||
|
|
||||||
|
|
|
@ -18,77 +18,110 @@
|
||||||
#This file contains methods to store hands into the db. decides to move this
|
#This file contains methods to store hands into the db. decides to move this
|
||||||
#into a seperate file since its ugly, fairly long and just generally in the way.
|
#into a seperate file since its ugly, fairly long and just generally in the way.
|
||||||
|
|
||||||
|
from time import time
|
||||||
|
|
||||||
import fpdb_simple
|
import fpdb_simple
|
||||||
|
|
||||||
#stores a stud/razz hand into the database
|
#stores a stud/razz hand into the database
|
||||||
def ring_stud(cursor, base, category, site_hand_no, gametype_id, hand_start_time, names, player_ids, start_cashes, antes, card_values, card_suits, winnings, rakes, action_types, allIns, action_amounts, actionNos, hudImportData, maxSeats, tableName, seatNos):
|
def ring_stud(backend, db, cursor, base, category, site_hand_no, gametype_id, hand_start_time
|
||||||
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
,names, player_ids, start_cashes, antes, card_values, card_suits, winnings, rakes
|
||||||
|
,action_types, allIns, action_amounts, actionNos, hudImportData, maxSeats, tableName
|
||||||
hands_id=fpdb_simple.storeHands(cursor, site_hand_no, gametype_id, hand_start_time, names, tableName, maxSeats)
|
,seatNos):
|
||||||
|
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
||||||
#print "before calling store_hands_players_stud, antes:", antes
|
|
||||||
hands_players_ids=fpdb_simple.store_hands_players_stud(cursor, hands_id, player_ids,
|
hands_id=fpdb_simple.storeHands(backend, db, cursor, site_hand_no, gametype_id
|
||||||
start_cashes, antes, card_values, card_suits, winnings, rakes, seatNos)
|
,hand_start_time, names, tableName, maxSeats)
|
||||||
|
|
||||||
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
#print "before calling store_hands_players_stud, antes:", antes
|
||||||
|
hands_players_ids=fpdb_simple.store_hands_players_stud(backend, db, cursor, hands_id, player_ids
|
||||||
fpdb_simple.storeActions(cursor, hands_players_ids, action_types, allIns, action_amounts, actionNos)
|
,start_cashes, antes, card_values
|
||||||
return hands_id
|
,card_suits, winnings, rakes, seatNos)
|
||||||
|
|
||||||
|
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
||||||
|
|
||||||
|
fpdb_simple.storeActions(cursor, hands_players_ids, action_types
|
||||||
|
,allIns, action_amounts, actionNos)
|
||||||
|
return hands_id
|
||||||
#end def ring_stud
|
#end def ring_stud
|
||||||
|
|
||||||
def ring_holdem_omaha(cursor, base, category, site_hand_no, gametype_id, hand_start_time, names, player_ids, start_cashes, positions, card_values, card_suits, board_values, board_suits, winnings, rakes, action_types, allIns, action_amounts, actionNos, hudImportData, maxSeats, tableName, seatNos):
|
def ring_holdem_omaha(backend, db, cursor, base, category, site_hand_no, gametype_id
|
||||||
"""stores a holdem/omaha hand into the database"""
|
,hand_start_time, names, player_ids, start_cashes, positions, card_values
|
||||||
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
,card_suits, board_values, board_suits, winnings, rakes, action_types, allIns
|
||||||
fpdb_simple.fill_board_cards(board_values, board_suits)
|
,action_amounts, actionNos, hudImportData, maxSeats, tableName, seatNos):
|
||||||
|
"""stores a holdem/omaha hand into the database"""
|
||||||
|
t0 = time()
|
||||||
|
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
||||||
|
t1 = time()
|
||||||
|
fpdb_simple.fill_board_cards(board_values, board_suits)
|
||||||
|
t2 = time()
|
||||||
|
|
||||||
hands_id=fpdb_simple.storeHands(cursor, site_hand_no, gametype_id, hand_start_time, names, tableName, maxSeats)
|
hands_id=fpdb_simple.storeHands(backend, db, cursor, site_hand_no, gametype_id
|
||||||
|
,hand_start_time, names, tableName, maxSeats)
|
||||||
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha(cursor, category, hands_id, player_ids, start_cashes, positions, card_values, card_suits, winnings, rakes, seatNos)
|
t3 = time()
|
||||||
|
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha(
|
||||||
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
backend, db, cursor, category, hands_id, player_ids, start_cashes
|
||||||
|
, positions, card_values, card_suits, winnings, rakes, seatNos)
|
||||||
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
t4 = time()
|
||||||
|
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
||||||
fpdb_simple.storeActions(cursor, hands_players_ids, action_types, allIns, action_amounts, actionNos)
|
t5 = time()
|
||||||
return hands_id
|
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
||||||
|
t6 = time()
|
||||||
|
fpdb_simple.storeActions(cursor, hands_players_ids, action_types, allIns, action_amounts, actionNos)
|
||||||
|
t7 = time()
|
||||||
|
print "cards=%4.3f board=%4.3f hands=%4.3f plyrs=%4.3f hudcache=%4.3f board=%4.3f actions=%4.3f" \
|
||||||
|
% (t1-t0, t2-t1, t3-t2, t4-t3, t5-t4, t6-t5, t7-t6)
|
||||||
|
return hands_id
|
||||||
#end def ring_holdem_omaha
|
#end def ring_holdem_omaha
|
||||||
|
|
||||||
def tourney_holdem_omaha(cursor, base, category, siteTourneyNo, buyin, fee, knockout, entries, prizepool, tourney_start, payin_amounts, ranks, tourneyTypeId, siteId, #end of tourney specific params
|
def tourney_holdem_omaha(backend, db, cursor, base, category, siteTourneyNo, buyin, fee, knockout
|
||||||
site_hand_no, gametype_id, hand_start_time, names, player_ids, start_cashes, positions, card_values, card_suits, board_values, board_suits, winnings, rakes, action_types, allIns, action_amounts, actionNos, hudImportData, maxSeats, tableName, seatNos):
|
,entries, prizepool, tourney_start, payin_amounts, ranks, tourneyTypeId
|
||||||
"""stores a tourney holdem/omaha hand into the database"""
|
,siteId #end of tourney specific params
|
||||||
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
,site_hand_no, gametype_id, hand_start_time, names, player_ids
|
||||||
fpdb_simple.fill_board_cards(board_values, board_suits)
|
,start_cashes, positions, card_values, card_suits, board_values
|
||||||
|
,board_suits, winnings, rakes, action_types, allIns, action_amounts
|
||||||
tourney_id=fpdb_simple.store_tourneys(cursor, tourneyTypeId, siteTourneyNo, entries, prizepool, tourney_start)
|
,actionNos, hudImportData, maxSeats, tableName, seatNos):
|
||||||
tourneys_players_ids=fpdb_simple.store_tourneys_players(cursor, tourney_id, player_ids, payin_amounts, ranks, winnings)
|
"""stores a tourney holdem/omaha hand into the database"""
|
||||||
|
fpdb_simple.fillCardArrays(len(names), base, category, card_values, card_suits)
|
||||||
hands_id=fpdb_simple.storeHands(cursor, site_hand_no, gametype_id, hand_start_time, names, tableName, maxSeats)
|
fpdb_simple.fill_board_cards(board_values, board_suits)
|
||||||
|
|
||||||
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha_tourney(cursor, category, hands_id, player_ids, start_cashes, positions, card_values, card_suits, winnings, rakes, seatNos, tourneys_players_ids)
|
tourney_id=fpdb_simple.store_tourneys(cursor, tourneyTypeId, siteTourneyNo, entries, prizepool, tourney_start)
|
||||||
|
tourneys_players_ids=fpdb_simple.store_tourneys_players(cursor, tourney_id, player_ids, payin_amounts, ranks, winnings)
|
||||||
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
|
||||||
|
hands_id=fpdb_simple.storeHands(backend, db, cursor, site_hand_no, gametype_id
|
||||||
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
,hand_start_time, names, tableName, maxSeats)
|
||||||
|
|
||||||
fpdb_simple.storeActions(cursor, hands_players_ids, action_types, allIns, action_amounts, actionNos)
|
hands_players_ids=fpdb_simple.store_hands_players_holdem_omaha_tourney(
|
||||||
return hands_id
|
backend, db, cursor, category, hands_id, player_ids, start_cashes, positions
|
||||||
|
, card_values, card_suits, winnings, rakes, seatNos, tourneys_players_ids)
|
||||||
|
|
||||||
|
fpdb_simple.storeHudCache(cursor, base, category, gametype_id, player_ids, hudImportData)
|
||||||
|
|
||||||
|
fpdb_simple.store_board_cards(cursor, hands_id, board_values, board_suits)
|
||||||
|
|
||||||
|
fpdb_simple.storeActions(cursor, hands_players_ids, action_types, allIns, action_amounts, actionNos)
|
||||||
|
return hands_id
|
||||||
#end def tourney_holdem_omaha
|
#end def tourney_holdem_omaha
|
||||||
|
|
||||||
def tourney_stud(cursor, base, category, siteTourneyNo, buyin, fee, knockout, entries, prizepool, tourneyStartTime, payin_amounts, ranks, tourneyTypeId, siteId,
|
def tourney_stud(backend, db, cursor, base, category, siteTourneyNo, buyin, fee, knockout, entries
|
||||||
siteHandNo, gametypeId, handStartTime, names, playerIds, startCashes, antes, cardValues, cardSuits, winnings, rakes, actionTypes, allIns, actionAmounts, actionNos, hudImportData, maxSeats, tableName, seatNos):
|
,prizepool, tourneyStartTime, payin_amounts, ranks, tourneyTypeId, siteId
|
||||||
|
,siteHandNo, gametypeId, handStartTime, names, playerIds, startCashes, antes
|
||||||
|
,cardValues, cardSuits, winnings, rakes, actionTypes, allIns, actionAmounts
|
||||||
|
,actionNos, hudImportData, maxSeats, tableName, seatNos):
|
||||||
#stores a tourney stud/razz hand into the database
|
#stores a tourney stud/razz hand into the database
|
||||||
fpdb_simple.fillCardArrays(len(names), base, category, cardValues, cardSuits)
|
fpdb_simple.fillCardArrays(len(names), base, category, cardValues, cardSuits)
|
||||||
|
|
||||||
tourney_id=fpdb_simple.store_tourneys(cursor, tourneyTypeId, siteTourneyNo, entries, prizepool, tourneyStartTime)
|
tourney_id=fpdb_simple.store_tourneys(cursor, tourneyTypeId, siteTourneyNo, entries, prizepool, tourneyStartTime)
|
||||||
|
|
||||||
tourneys_players_ids=fpdb_simple.store_tourneys_players(cursor, tourney_id, playerIds, payin_amounts, ranks, winnings)
|
tourneys_players_ids=fpdb_simple.store_tourneys_players(cursor, tourney_id, playerIds, payin_amounts, ranks, winnings)
|
||||||
|
|
||||||
hands_id=fpdb_simple.storeHands(cursor, siteHandNo, gametypeId, handStartTime, names, tableName, maxSeats)
|
hands_id=fpdb_simple.storeHands(backend, db, cursor, siteHandNo, gametypeId, handStartTime, names, tableName, maxSeats)
|
||||||
|
|
||||||
hands_players_ids=fpdb_simple.store_hands_players_stud_tourney(cursor, hands_id, playerIds, startCashes, antes, cardValues, cardSuits, winnings, rakes, seatNos, tourneys_players_ids)
|
hands_players_ids=fpdb_simple.store_hands_players_stud_tourney(backend, db, cursor, hands_id
|
||||||
|
, playerIds, startCashes, antes, cardValues, cardSuits
|
||||||
fpdb_simple.storeHudCache(cursor, base, category, gametypeId, playerIds, hudImportData)
|
, winnings, rakes, seatNos, tourneys_players_ids)
|
||||||
|
|
||||||
fpdb_simple.storeActions(cursor, hands_players_ids, actionTypes, allIns, actionAmounts, actionNos)
|
fpdb_simple.storeHudCache(cursor, base, category, gametypeId, playerIds, hudImportData)
|
||||||
return hands_id
|
|
||||||
|
fpdb_simple.storeActions(cursor, hands_players_ids, actionTypes, allIns, actionAmounts, actionNos)
|
||||||
|
return hands_id
|
||||||
#end def tourney_stud
|
#end def tourney_stud
|
||||||
|
|
4376
pyfpdb/fpdb_simple.py
Normal file → Executable file
4376
pyfpdb/fpdb_simple.py
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
27
pyfpdb/upd_indexes.sql
Executable file
27
pyfpdb/upd_indexes.sql
Executable file
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
# script to update indexes on mysql (+other?) database
|
||||||
|
|
||||||
|
select '1. Dropping indexes' as ' ';
|
||||||
|
select 'Can''t drop messages indicate index already gone' as ' ';
|
||||||
|
|
||||||
|
ALTER TABLE `fpdb`.`Settings` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Sites` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Gametypes` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Players` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Autorates` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Hands` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`BoardCards` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`TourneyTypes` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`Tourneys` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`TourneysPlayers` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`HandsPlayers` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`HandsActions` DROP INDEX `id`;
|
||||||
|
ALTER TABLE `fpdb`.`HudCache` DROP INDEX `id`;
|
||||||
|
|
||||||
|
select '2. Adding extra indexes on useful fields' as ' ';
|
||||||
|
select 'Duplicate key name messages indicate new indexes already there' as ' ';
|
||||||
|
|
||||||
|
ALTER TABLE `fpdb`.`tourneys` ADD INDEX `siteTourneyNo`(`siteTourneyNo`);
|
||||||
|
ALTER TABLE `fpdb`.`hands` ADD INDEX `siteHandNo`(`siteHandNo`);
|
||||||
|
ALTER TABLE `fpdb`.`players` ADD INDEX `name`(`name`);
|
||||||
|
|
0
readme.txt
Normal file
0
readme.txt
Normal file
Loading…
Reference in New Issue
Block a user