Пример #1
0
def team_points_leaders(num_results=None, round_name=None):
    """Returns the team points leaders across all groups, as a dictionary profile__team__name
    and points.
    """
    size = team_normalize_size()
    if size:
        entries = score_mgr.team_points_leaders(round_name=round_name)
    else:
        entries = score_mgr.team_points_leaders(num_results=num_results,
                                                round_name=round_name)

    if entries:
        if size:
            for entry in entries:
                team = Team.objects.get(name=entry["profile__team__name"])
                if team.size:
                    entry["points"] = int(entry["points"] *
                                          float(size / team.size))
            # resort the entries after the normalization
            entries = sorted(entries, key=lambda e: e["points"], reverse=True)
            return entries[:num_results]
        else:
            return entries
    else:
        results = Team.objects.all().extra(select={
            'profile__team__name': 'name',
            'points': 0
        }).values('profile__team__name', 'points')
        if num_results:
            results = results[:num_results]
        return results
Пример #2
0
def team_points_leaders(num_results=None, round_name=None):
    """Returns the team points leaders across all groups, as a dictionary profile__team__name
    and points.
    """
    size = team_normalize_size()
    if size:
        entries = score_mgr.team_points_leaders(round_name=round_name)
    else:
        entries = score_mgr.team_points_leaders(num_results=num_results, round_name=round_name)

    if entries:
        if size:
            for entry in entries:
                team = Team.objects.get(name=entry["profile__team__name"])
                if team.size:
                    entry["points"] = int(entry["points"] * float(size / team.size))
            # resort the entries after the normalization
            entries = sorted(entries, key=lambda e: e["points"], reverse=True)
            return entries[:num_results]
        else:
            return entries
    else:
        results = Team.objects.all().extra(
            select={'profile__team__name': 'name', 'points': 0}).values(
            'profile__team__name', 'points')
        if num_results:
            results = results[:num_results]
        return results
Пример #3
0
def team_points_leaders(num_results=None, round_name=None):
    """Returns the team points leaders across all groups, as a dictionary profile__team__name
    and points.
    """
    entry = score_mgr.team_points_leaders(num_results=num_results, round_name=round_name)
    if entry:
        return entry
    else:
        results = Team.objects.all().extra(
            select={'profile__team__name': 'name', 'points': 0}).values(
            'profile__team__name', 'points')
        if num_results:
            results = results[:num_results]
        return results