2008-08-04 05:44:28 +02:00
#!/usr/bin/python
#Copyright 2008 Steffen Jobbagy-Felso
#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 in the docs folder of the package.
#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.
import fpdb_simple
#stores a stud/razz hand into the database
def ring_stud ( cursor , category , site_hand_no , gametype_id , hand_start_time ,
names , player_ids , start_cashes , antes , card_values , card_suits ,
2008-08-04 08:29:53 +02:00
winnings , rakes , action_types , action_amounts , hudImportData ) :
2008-08-04 05:44:28 +02:00
fpdb_simple . fillCardArrays ( len ( names ) , 7 , card_values , card_suits )
hands_id = fpdb_simple . storeHands ( cursor , site_hand_no , gametype_id , hand_start_time , names )
hands_players_ids = fpdb_simple . store_hands_players_stud ( cursor , hands_id , player_ids ,
start_cashes , antes , card_values , card_suits , winnings , rakes )
2008-08-04 08:29:53 +02:00
fpdb_simple . storeHudData ( cursor , category , player_ids , hudImportData )
2008-08-04 05:44:28 +02:00
fpdb_simple . storeActions ( cursor , hands_players_ids , action_types , action_amounts )
return site_hand_no
#end def ring_stud
2008-08-17 05:44:53 +02:00
def ring_holdem_omaha ( cursor , 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 , action_amounts , actionNos , hudImportData , maxSeats , tableName , seatNos ) :
2008-08-15 05:28:51 +02:00
""" stores a holdem/omaha hand into the database """
2008-08-04 05:44:28 +02:00
#fill up the two player card arrays
if ( category == " holdem " ) :
fpdb_simple . fillCardArrays ( len ( names ) , 2 , card_values , card_suits )
elif ( category == " omahahi " or category == " omahahilo " ) :
fpdb_simple . fillCardArrays ( len ( names ) , 4 , card_values , card_suits )
else :
raise fpdb_simple . FpdbError ( " invalid category: category " )
fpdb_simple . fill_board_cards ( board_values , board_suits )
2008-08-18 03:45:06 +02:00
hands_id = fpdb_simple . storeHands ( cursor , site_hand_no , gametype_id , hand_start_time , names , tableName , maxSeats )
2008-08-04 05:44:28 +02:00
2008-08-17 05:44:53 +02:00
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 )
2008-08-04 05:44:28 +02:00
2008-08-17 14:13:42 +02:00
fpdb_simple . storeHudCache ( cursor , category , gametype_id , player_ids , hudImportData )
2008-08-04 05:44:28 +02:00
fpdb_simple . store_board_cards ( cursor , hands_id , board_values , board_suits )
2008-08-08 23:03:43 +02:00
fpdb_simple . storeActions ( cursor , hands_players_ids , action_types , action_amounts , actionNos )
2008-08-04 05:44:28 +02:00
return site_hand_no
#end def ring_holdem_omaha
2008-08-15 05:28:51 +02:00
def tourney_holdem_omaha ( cursor , category , site_tourney_no , buyin , fee , knockout , entries , prizepool , tourney_start , payin_amounts , ranks , #end of tourney specific params
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 , action_amounts , actionNos , hudImportData ) :
""" stores a tourney holdem/omaha hand into the database """
2008-08-04 05:44:28 +02:00
#fill up the two player card arrays
if ( category == " holdem " ) :
fpdb_simple . fillCardArrays ( len ( names ) , 2 , card_values , card_suits )
elif ( category == " omahahi " or category == " omahahilo " ) :
fpdb_simple . fillCardArrays ( len ( names ) , 4 , card_values , card_suits )
else :
raise fpdb_simple . FpdbError ( " invalid category: category " )
fpdb_simple . fill_board_cards ( board_values , board_suits )
tourney_id = fpdb_simple . store_tourneys ( cursor , site_id , site_tourney_no , buyin , fee , knockout , entries , prizepool , tourney_start )
tourneys_players_ids = fpdb_simple . store_tourneys_players ( cursor , tourney_id , player_ids , payin_amounts , ranks , winnings )
hands_id = fpdb_simple . storeHands ( cursor , site_hand_no , gametype_id , hand_start_time , names )
hands_players_ids = fpdb_simple . store_hands_players_holdem_omaha_tourney ( cursor , hands_id , player_ids ,
start_cashes , positions , card_values , card_suits , winnings , rakes , tourneys_players_ids )
2008-08-04 08:29:53 +02:00
fpdb_simple . storeHudData ( cursor , category , player_ids , hudImportData )
2008-08-04 05:44:28 +02:00
fpdb_simple . store_board_cards ( cursor , hands_id , board_values , board_suits )
fpdb_simple . storeActions ( cursor , hands_players_ids , action_types , action_amounts )
return site_hand_no
#end def tourney_holdem_omaha
def tourney_stud ( cursor , category , site_tourney_no , buyin , fee , knockout , entries , prizepool ,
tourney_start , payin_amounts , ranks , #end of tourney specific params
site_hand_no , site_id , gametype_id , hand_start_time , names , player_ids ,
start_cashes , antes , card_values , card_suits , winnings , rakes ,
2008-08-04 08:29:53 +02:00
action_types , action_amounts , hudImportData ) :
2008-08-04 05:44:28 +02:00
#stores a tourney stud/razz hand into the database
fpdb_simple . fillCardArrays ( len ( names ) , 7 , card_values , card_suits )
tourney_id = fpdb_simple . store_tourneys ( cursor , site_id , site_tourney_no , buyin , fee , knockout , entries , prizepool , tourney_start )
tourneys_players_ids = fpdb_simple . store_tourneys_players ( cursor , tourney_id , player_ids , payin_amounts , ranks , winnings )
hands_id = fpdb_simple . storeHands ( cursor , site_hand_no , gametype_id , hand_start_time , names )
hands_players_ids = fpdb_simple . store_hands_players_stud_tourney ( cursor , hands_id , player_ids ,
start_cashes , antes , card_values , card_suits , winnings , rakes , tourneys_players_ids )
2008-08-04 08:29:53 +02:00
fpdb_simple . storeHudData ( cursor , category , player_ids , hudImportData )
2008-08-04 05:44:28 +02:00
fpdb_simple . storeActions ( cursor , hands_players_ids , action_types , action_amounts )
return site_hand_no
#end def tourney_stud