def get_new_elos(winner_elo, loser_elo): week = get_fantasy_week() winner_elo_arr = winner_elo.split(",") loser_elo_arr = loser_elo.split(",") i = 0 for rating in winner_elo_arr: winner_elo_arr[i] = str(winner_elo_arr[i]) i += 1 i = 0 for rating in loser_elo_arr: loser_elo_arr[i] = str(loser_elo_arr[i]) i += 1 winner_elo_week = float((winner_elo.split(","))[week - 1]) loser_elo_week = float((loser_elo.split(","))[week - 1]) qa = math.pow(10, (winner_elo_week / 400)) qb = math.pow(10, (loser_elo_week / 400)) winner_expected_score = qa / (qa + qb) loser_expected_score = qb / (qa + qb) new_winner_elo_week = winner_elo_week + k(winner_elo_week) * (1 - winner_expected_score) new_loser_elo_week = loser_elo_week + k(loser_elo_week) * (0 - loser_expected_score) winner_elo_arr[week - 1] = str("%.2f" % new_winner_elo_week) loser_elo_arr[week - 1] = str("%.2f" % new_loser_elo_week) new_winner_elo = str(winner_elo_arr).strip("[]").replace("'", "").replace(" ", "") new_loser_elo = str(loser_elo_arr).strip("[]").replace("'", "").replace(" ", "") return new_winner_elo, new_loser_elo
def matchups(pos, scoring): needScoring = True all = False if str(pos) == "all": all = True options = ["qb", "rb", "wr", "te", "flex"] pos = random.choice(options) if str(scoring) == "Half": scoring = "0.5 PPR" if pos.upper() == "QB": needScoring = False player1, player2 = get_player_for_matchup(pos) # store/log hit to this endpoint for stats week = get_fantasy_week() return render_template( "matchup.html", week=week, pos=str(pos).upper(), player1=player1, player2=player2, all=all, scoring=scoring, needScoring=needScoring, )
for i in p: print i rank = lookupRank(i.position, i.name.split(" ")[0], i.name.split(" ")[1]) print rank print "\n\n" if rank != -1: ranks.append(int(rank)) count += 1 for i in p: rank = lookupRank(i.position, i.name.split(" ")[0], i.name.split(" ")[1]) if rank != -1: print str(i) + " rank= " + str(rank) elo = 1800 - ((600.0 / (count - 1)) * (rank - 1)) print "elo = " + str(elo) elo_arr = i.elo.split(",") week = get_fantasy_week() elo_arr[week - 1] = str("%.2f" % elo) i.elo = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") i.eloPPR = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") i.eloHalf = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") i.flexElo = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") i.flexEloPPR = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") i.flexEloHalf = str(elo_arr).strip("[]").replace("'", "").replace(" ", "") else: print str(i) + " rank= " + str(rank) elo = 1100 print "elo = " + str(elo) elo_arr = i.elo.split(",") week = get_fantasy_week() elo_arr[week - 1] = str("%.2f" % elo) i.elo = str(elo_arr).strip("[]").replace("'", "").replace(" ", "")
def voted(): # store/log hit to this endpoint for stats p1lookup = str(request.form.get("player1")).split(",") p2lookup = str(request.form.get("player2")).split(",") position = str(request.form.get("Position")) week = str(get_fantasy_week()) scoring = str(request.form.get("scoring")) winner = 0 if scoring == "0.5 PPR": scoring = "Half" if request.form.get("value1", None): winner = 1 elif request.form.get("value2", None): winner = 2 else: print "wat" with app.app_context(): p1 = ( Player.query.filter(Player.name == p1lookup[0]) .filter(Player.position == p1lookup[1]) .filter(Player.team == p1lookup[2]) .first() ) p2 = ( Player.query.filter(Player.name == p2lookup[0]) .filter(Player.position == p2lookup[1]) .filter(Player.team == p2lookup[2]) .first() ) # p1 = list(p1.all())[0] # p2 = list(p2.all())[0] print position if position.upper() == "QB": print "QB, no scoring format." if winner == 1: newElo1, newElo2 = get_new_elos(p1.elo, p2.elo) with app.app_context(): p1.elo = newElo1 p2.elo = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.elo, p1.elo) with app.app_context(): p1.elo = newElo1 p2.elo = newElo2 db.session.commit() # options = ["qb", "rb", "wr", "te", "flex"] elif position.upper() == "FLEX": if scoring == "Standard": print "flex standard" if winner == 1: newElo1, newElo2 = get_new_elos(p1.flexElo, p2.flexElo) with app.app_context(): p1.flexElo = newElo1 p2.flexElo = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.flexElo, p1.flexElo) with app.app_context(): p1.flexElo = newElo1 p2.flexElo = newElo2 db.session.commit() elif scoring == "PPR": if winner == 1: newElo1, newElo2 = get_new_elos(p1.flexEloPPR, p2.flexEloPPR) with app.app_context(): p1.flexEloPPR = newElo1 p2.flexEloPPR = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.flexEloPPR, p1.flexEloPPR) with app.app_context(): p1.flexEloPPR = newElo1 p2.flexEloPPR = newElo2 db.session.commit() elif scoring == "Half": if winner == 1: newElo1, newElo2 = get_new_elos(p1.flexEloHalf, p2.flexEloHalf) with app.app_context(): p1.flexEloHalf = newElo1 p2.flexEloHalf = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.flexEloHalf, p1.flexEloHalf) with app.app_context(): p1.flexEloHalf = newElo1 p2.flexEloHalf = newElo2 db.session.commit() else: if scoring == "Standard": print "checking..." if winner == 1: newElo1, newElo2 = get_new_elos(p1.elo, p2.elo) with app.app_context(): p1.elo = newElo1 p2.elo = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.elo, p1.elo) with app.app_context(): p1.elo = newElo1 p2.elo = newElo2 db.session.commit() elif scoring == "PPR": if winner == 1: newElo1, newElo2 = get_new_elos(p1.eloPPR, p2.eloPPR) with app.app_context(): p1.eloPPR = newElo1 p2.eloPPR = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.eloPPR, p1.eloPPR) with app.app_context(): p1.eloPPR = newElo1 p2.eloPPR = newElo2 db.session.commit() elif scoring == "Half": if winner == 1: newElo1, newElo2 = get_new_elos(p1.eloHalf, p2.eloHalf) with app.app_context(): p1.eloHalf = newElo1 p2.eloHalf = newElo2 db.session.commit() if winner == 2: newElo2, newElo1 = get_new_elos(p2.eloHalf, p1.eloHalf) with app.app_context(): p1.eloHalf = newElo1 p2.eloHalf = newElo2 db.session.commit() if str(request.form.get("all")) == "True": print "came here from all" # redirect to matchups/all return redirect(url_for("matchups", pos="all", scoring=scoring)) else: print "came from " + str(position) return redirect(url_for("matchups", pos=position, scoring=scoring)) if winner == 1: print "Voted for " + str(p1lookup[0]) + " over " + str(p2lookup[0]) + " for " + position + " in week " + week return redirect(url_for("hello")) elif winner == 2: print "Voted for " + str(p2lookup[0]) + " over " + str(p1lookup[0]) + " for " + position + " in week " + week return redirect(url_for("hello")) return render_template("home.html")