Example #1
0
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
Example #2
0
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,
    )
Example #3
0
 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(" ", "")
Example #4
0
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")