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)
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)
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)
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)
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)