Exemple #1
0
def cl_quali(request):
    context = {}
    cl_quali_rosters = Roster.objects.exclude(
        league_id=LISTENER_LEAGUE_ID).order_by("-fpts", "-fpts_decimal")
    top12_rosters = cl_quali_rosters[:12]
    in_the_hunt_rosters = cl_quali_rosters[12:100]

    top12_table = RosterTable(top12_rosters)
    in_the_hunt_table = RosterTable(in_the_hunt_rosters, ranking_offset=12)
    context["top12_table"] = top12_table
    context["in_the_hunt_table"] = in_the_hunt_table
    return render(request, "leagues/cl_quali.html", context)
Exemple #2
0
def my_league(request):
    all_leagues = League.objects.all()
    context = {
        "levels": [{
            "title":
            LEVEL_MAP.get(level),
            "leagues":
            all_leagues.filter(level=level).order_by("sleeper_name")
        } for level in all_leagues.order_by("level").values_list(
            "level", flat=True).distinct()]
    }

    my_league_id = request.COOKIES.get('my_league')
    if my_league_id:
        league = all_leagues.get(sleeper_id=my_league_id)
        title = league.sleeper_name
        table = RosterTable(Roster.objects.filter(league=league))

        header_logo = LOGO_MAP.get(league.level).get(league.conference)

        context["my_league"] = my_league_id
        context["title"] = title
        context["table"] = table
        context["conference"] = league.conference or ""
        context["header_logo"] = header_logo
        context["stats_link"] = reverse(
            'facts_and_figures_league',
            kwargs={'league_id': league.sleeper_id})
        context["draft_link"] = reverse(
            'draft-board', kwargs={
                'league_id': league.sleeper_id
            }) if league.draft.status != 'pre_draft' else None

    return render(request, "leagues/my_league.html", context)
Exemple #3
0
def level_detail(request, level=None, conference=None, region=None):
    league_objects = League.objects.all().order_by('sleeper_name')
    header_logo = None

    if level:
        league_objects = league_objects.filter(level=level)
        header_logo = LOGO_MAP.get(level).get(conference)

    if conference:
        league_objects = league_objects.filter(conference=conference)

    if region:
        if region == "Sued":
            region = 'Süd'
        league_objects = league_objects.filter(region=region)

    leagues = [{
        "title":
        league.sleeper_name,
        "table":
        RosterTable(Roster.objects.filter(league=league)),
        "conference":
        league.conference or "",
        "stats_link":
        reverse('facts_and_figures_league',
                kwargs={'league_id': league.sleeper_id}),
        "draft_link":
        reverse('draft-board', kwargs={'league_id': league.sleeper_id})
        if league.draft.status != 'pre_draft' else None
    } for league in league_objects]

    return render(request, "leagues/level_detail.html", {
        "leagues": leagues,
        "header_logo": header_logo
    })
Exemple #4
0
def some_quali(request):
    ranked_rosters_qs = Roster.objects.annotate(
        rank=Window(expression=RowNumber(),
                    partition_by=[F('league_id')],
                    order_by=[
                        F('wins').desc(),
                        F('ties').desc(),
                        F('fpts').desc(),
                        F('fpts_decimal').desc()
                    ]))
    rank_two_rosters = [
        roster for roster in ranked_rosters_qs if roster.rank == 2
    ]
    rank_three_rosters = [
        roster for roster in ranked_rosters_qs if roster.rank == 3
    ]

    rank_two_rosters = Roster.objects.annotate(
        rank=Window(expression=RowNumber(),
                    partition_by=[F('league_id')],
                    order_by=[
                        F('wins').desc(),
                        F('ties').desc(),
                        F('fpts').desc(),
                        F('fpts_decimal').desc()
                    ])).filter(rank=2).order_by('-fpts', '-fpts_decimal')
    rank_three_rosters = Roster.objects.annotate(
        rank=Window(expression=RowNumber(),
                    partition_by=[F('league_id')],
                    order_by=[
                        F('wins').desc(),
                        F('ties').desc(),
                        F('fpts').desc(),
                        F('fpts_decimal').desc()
                    ])).filter(rank=3).order_by('-fpts', '-fpts_decimal')
    # rank_two_rosters = Roster.objects.raw("select * from (select *, row_number() over (partition by league_id order by wins desc, ties asc, fpts desc, fpts_decimal desc) as rank from leagues_roster) where rank=2 order by fpts desc, fpts_decimal desc;")
    # rank_three_rosters = Roster.objects.raw("select * from (select *, row_number() over (partition by league_id order by wins desc, ties asc, fpts desc, fpts_decimal desc) as rank from leagues_roster) where rank=3 order by fpts desc, ftps_decimal desc;")

    top8_rank_two_roster_table = RosterTable(rank_two_rosters[:8])
    top8_rank_three_roster_table = RosterTable(rank_three_rosters[:8])

    context = {
        "top8_rank_two_roster_table": top8_rank_two_roster_table,
        "top8_rank_three_roster_table": top8_rank_three_roster_table
    }

    return render(request, "leagues/some_quali.html", context)
Exemple #5
0
def roster_list(request, league_id):
    league = League.objects.get(sleeper_id=league_id)

    title = league.sleeper_name
    table = RosterTable(Roster.objects.filter(league=league))

    return render(request, "leagues/roster_list.html", {
        "title": title,
        "table": table
    })
Exemple #6
0
def listener_league(request):
    league = League.objects.get(sleeper_id=LISTENER_LEAGUE_ID)
    title = "DST - Hörerliga"
    table = RosterTable(Roster.objects.filter(league=league))
    context = {}
    context["title"] = title
    context["table"] = table
    context["draft_link"] = reverse(
        'draft-board', kwargs={
            'league_id': league.sleeper_id
        }) if league.draft.status != 'pre_draft' else None

    return render(request, "leagues/custom_league.html", context)