Ejemplo n.º 1
0
def leaderboards(server_id=None):
    if not server_id:
        return redirect(
            url_for('leaderboards', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)

    kill_leaderboards, ore_leaderboards = libleaderboards.get_leaderboard_data(
        server)

    leaderboard_sections = [{
        'active': True,
        'name': 'Kills',
        'leaderboards': kill_leaderboards
    }, {
        'name': 'Ores',
        'leaderboards': ore_leaderboards
    }]

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'leaderboard_sections': leaderboard_sections
    }

    return render_template('leaderboards.html', **retval)
Ejemplo n.º 2
0
def ranking(server_id=None):
    if not server_id:
        return redirect(url_for('ranking', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)
    if not server:
        abort(404)

    ranking = libserver.get_ranking_data(server)

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'ranking': ranking
    }

    return render_template('ranking.html', **retval)
Ejemplo n.º 3
0
def ranking(server_id=None):
    if not server_id:
        return redirect(url_for('ranking', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)
    if not server:
        abort(404)

    ranking = libserver.get_ranking_data(server)

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'ranking': ranking
    }

    return render_template('ranking.html', **retval)
Ejemplo n.º 4
0
def groups(server_id=None, mode=None):
    if not server_id:
        return redirect(
            url_for('groups', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)
    if not server:
        abort(404)

    page_size = GROUPS_PER_PAGE

    page = request.args.get('p')

    try:
        page = max(int(page), 1) if page else 1
    except:
        page = 1

    if not mode:
        return redirect(url_for('groups', server_id=server_id, mode='largest'))

    if mode == 'oldest':
        order = Group.established.asc(),
    else:
        order = Group.member_count.desc(), Group.name

    groups = Group.query.options(
        joinedload(Group.members)
    ).filter_by(server=server) \
        .order_by(*order) \
        .limit(page_size) \
        .offset((page - 1) * page_size).all()

    group_count = Group.query.filter_by(server=server).count()

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'groups': groups,
        'group_count': group_count,
        'page': page,
        'page_size': page_size,
        'mode': mode
    }

    return render_template('groups.html', **retval)
Ejemplo n.º 5
0
def groups(server_id=None, mode=None):
    if not server_id:
        return redirect(url_for('groups', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)
    if not server:
        abort(404)

    page_size = GROUPS_PER_PAGE

    page = request.args.get('p')

    try:
        page = max(int(page), 1) if page else 1
    except:
        page = 1

    if not mode:
        return redirect(url_for('groups', server_id=server_id, mode='largest'))

    if mode == 'oldest':
        order = Group.established.asc(),
    else:
        order = Group.member_count.desc(), Group.name

    groups = Group.query.options(
        joinedload(Group.members)
    ).filter_by(server=server) \
        .order_by(*order) \
        .limit(page_size) \
        .offset((page - 1) * page_size).all()

    group_count = Group.query.filter_by(server=server).count()

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'groups': groups,
        'group_count': group_count,
        'page': page,
        'page_size': page_size,
        'mode': mode
    }

    return render_template('groups.html', **retval)
Ejemplo n.º 6
0
def leaderboards(server_id=None):
    if not server_id:
        return redirect(url_for('leaderboards', server_id=app.config['MAIN_SERVER_ID']))

    server = Server.query.get(server_id)

    kill_leaderboards, ore_leaderboards = libleaderboards.get_leaderboard_data(server)

    leaderboard_sections = [{
        'active': True,
        'name': 'Kills',
        'leaderboards': kill_leaderboards
    }, {
        'name': 'Ores',
        'leaderboards': ore_leaderboards
    }]

    retval = {
        'server': server,
        'servers': Server.get_survival_servers(),
        'leaderboard_sections': leaderboard_sections
    }

    return render_template('leaderboards.html', **retval)