def POST(self, worker_id, game_number): # First make sure the user hasn't already customized game_id = model.get_game_id(worker_id, game_number) print "checking current game status" check = model.check_current_game_status(worker_id, game_id) if check: raise web.seeother('/error/5?worker_id=' + worker_id) post_data = web.input() selections = post_data.selections ## Put the selections into a dict temp = selections.split(',') data = {} i = 1 while i < 6: try: data[i] = temp[i-1] except IndexError: data[i] = "NULL" i += 1 condition = model.get_condition(worker_id) game_data = model.get_game_data(game_id) #game_number = model.get_games_played(worker_id) + 1 game_number = int(game_number) prediction_quality = model.get_prediction_quality(worker_id, game_id) model.update_prediction_start_custom(worker_id, data, prediction_quality) raise web.seeother("/view_prediction/" + worker_id + "/" + str(game_number))
def GET(self, worker_id, game_number): #var_names_batting = {"ba": "Batting Average", "runs": "Runs", "H":"Hits", "2B":"2B", "3B":"3B", "HR":"Home Runs", "OBP":"On-Base Percentage", "SLG":"Slugging Percentage", "BB":"Walks", "SB":"Stolen Bases", "RBI":"Runs Batted In"} #var_names_team_pitching = {"ERAp": "Earned Run Average", "BBp":"Walks", "SOp":"Strikeouts", "HRp":"Home Runs"} #var_names_starter_pitching = {"Wsp":"Wins", "Lsp":"Losses", "ERAsp":"Earned Run Average", "Hsp": "Hits", "SOsp":"Strikeouts", "HRsp":"Home Runs", "IPsp":"Innings Pitched"} #worker_id = web.input(worker_id='').worker_id condition = model.get_condition(worker_id) if condition > 1: # If a condition isn't returned, redirect to an error page raise web.seeother('/error/3') # Returns an int with the id number of the next game, or None if 12 games have been played #game_number = model.get_games_played(worker_id) + 1 game_number = int(game_number) game_id = model.get_game_id(worker_id, game_number) if not game_id: raise web.seeother('/survey/' + worker_id) game_data = model.get_game_data(game_id) # First, check to see if there is an existing prediction entry for this user with this game check1 = model.check_for_existing_prediction_record(worker_id, game_id) if check1 != 0: check2 = model.check_current_game_status(worker_id, game_id) if not check2: if condition == 1: raise web.seeother('/customize_simulator/' + worker_id + "/" + str(game_number)) else: print "check2 caught" return render_game.game_overview(worker_id, condition, game_data, var_names_batting, var_names_team_pitching, var_names_starter_pitching, game_number) else: raise web.seeother('/view_prediction/' + worker_id + "/" + str(game_number)) ## If all games have been played, redirect to the survey #if not game_id: # model.update_stage(worker_id) # raise web.seeother('/survey/' + worker_id) # ##Figure out if this game has already begun, and if so, redirect to the correct point in the game #status_check = model.get_current_game_status(worker_id, game_id) #if status_check == 2: # raise web.seeother("/view_prediction/" + worker_id) ## create an entry in the predictions table for this game and this user #if status_check == 0: # model.create_prediction_entry(worker_id, game_id) model.create_prediction_entry(worker_id, game_id) if condition == 1: raise web.seeother('/customize_simulator/' + worker_id + "/" + str(game_number)) else: return render_game.game_overview(worker_id, condition, game_data, var_names_batting, var_names_team_pitching, var_names_starter_pitching, game_number)
def GET(self, worker_id, game_number): model.update_prediction_custom_start(worker_id) #game_number = model.get_games_played(worker_id) + 1 game_number = int(game_number) game_id = model.get_game_id(worker_id, game_number) game_data = model.get_game_data(game_id) #check that they haven't already customized check = model.check_current_game_status(worker_id, game_id) if check: raise web.seeother('/error/5?worker_id=' + worker_id) return render_game.customize(worker_id, game_data, var_names_batting, var_names_team_pitching, var_names_starter_pitching, game_number)
def GET(self, worker_id, game_number): condition = model.get_condition(worker_id) if condition > 1: raise web.seeother('/error/3') #game_number = model.get_games_played(worker_id) + 1 game_number = int(game_number) game_id = model.get_game_id(worker_id, game_number) game_data = model.get_game_data(game_id) prediction_quality = model.get_prediction_quality(worker_id, game_id) if condition == 0: model.update_prediction_start_fixed(worker_id, prediction_quality) return render_game.predictions(worker_id, condition, game_data, var_names_batting, var_names_team_pitching, var_names_starter_pitching, prediction_quality, game_number)