示例#1
0
文件: views.py 项目: jpb8/theBookBKG
def lineup_builder(request):
    if request.method == "POST":
        user = request.user
        save_pown = request.POST.get("save", None)
        if not save_pown:
            save_lineups_new_pitchers_first(request.POST, user)
        else:
            line_config = {"proj": {}, "teams": {}, "bats": {}}
            line_config["total"] = request.POST.get(
                "total_lus") if not save_pown else 1
            for p, percent in request.POST.items():
                if p.startswith("team_"):
                    if float(percent) > 0 or save_pown:
                        count = int(int(line_config["total"]) * float(percent))
                        line_config["teams"][p.split("_")[
                            1]] = count if not save_pown else float(percent)
                elif p.startswith("bat_"):
                    if float(percent) > 0 or save_pown:
                        batter = int(p.split("_")[1])
                        count = int(int(line_config["total"]) * float(percent))
                        line_config["bats"][
                            batter] = count if not save_pown else float(
                                percent)
                elif p.startswith("proj_"):
                    if float(percent) > 0 or save_pown:
                        batter = int(p.split("_")[1])
                        pnts = float(percent)
                        print(batter, pnts)
                        line_config["proj"][batter] = pnts
            Player.update_max_pown(line_config["bats"], line_config["teams"],
                                   line_config["proj"])
            Team.update_max_pown(line_config["teams"])
    teams = Team.objects.filter(on_slate=True).order_by("-max_stack")
    batters = Player.objects.all_slate_batters()
    pitchers = Player.objects.all_starters()
    user = request.user
    groups = ExportLineup.objects.group(user)
    saved_lus = tm_cnt(user.pk)
    p_cnt = pitcher_cnt(user.pk)
    h_cnt = hitter_cnt(user.pk)
    total_lus = 0
    for p in p_cnt:
        total_lus += int(p["cnt"])
    total_lus = total_lus * 0.5
    combos = PitcherCombo.objects.filter(user=user)
    total_percent = PitcherCombo.objects.total_percentage(user)["sum"] * 100
    total_pitcher = total_pitcher_percent(user.id)
    cont_dict = {
        "teams": teams,
        "pitchers": pitchers,
        "batters": batters,
        "saved_lus": saved_lus,
        "p_cnt": p_cnt,
        "total_lus": total_lus,
        "h_cnt": h_cnt,
        "groups": groups,
        "combos": combos,
        "total_percent": total_percent,
        "total_pitcher": total_pitcher
    }
    return render(request, "slate/slate_builder.html", cont_dict)