Beispiel #1
0
def scoreboard():
    result = sorted(mdl.score_totals(), key=attrgetter('score_sum'),
                    reverse=True)
    if not result:
        return gettext('No scores available yet!')

    # Remove cancelled groups & handle tied positions.
    output = []
    pos = 0
    last_score = 0
    num_tied = 0
    for row in result:
        group = mdl.Group.one(id=row.group_id)
        if group.cancelled:
            continue

        if row.score_sum == last_score:
            num_tied += 1
        else:
            pos += 1 + num_tied
            num_tied = 0

        output.append(ScoreBoardRow(
            pos, group.name, row.score_sum, row.ppm, group.completed))
        last_score = row.score_sum
    return render_template('scoreboard.html', scores=output)
Beispiel #2
0
def scoreboard():
    result = sorted(score_totals(), key=attrgetter('score_sum'), reverse=True)
    output = []
    pos = 1
    for row in result:
        group = get_grps_by_id(row.group_id)
        output.append([pos, group.name, row.score_sum])
        pos+=1
    return render_template('scoreboard.html', scores=output)
Beispiel #3
0
def settings():
    result = sorted(mdl.score_totals(), key=attrgetter('score_sum'),
                    reverse=True)
    groups = [mdl.Group.one(id=row.group_id) for row in result]
    settings = {stng.key: stng.value
                for stng in mdl.Setting.all(mdl.DB.session)}
    return render_template('settings.html',
                           settings=settings,
                           groups=groups,
                           first_place=settings.get('first_place', 0),
                           second_place=settings.get('second_place', 0),
                           third_place=settings.get('third_place', 0),
                           )