示例#1
0
def view_replay(id_):
    session = current_app.config['db']()
    game = session.query(Game).filter(Game.hash == id_).first()
    if game is None:
        return render_with_session('replay.html', session, replay=game, cars=constants.cars, id=id_,
                                   item_dict=get_item_dict())
    players = game.players
    ranks = get_rank_batch(players)
    ranks_dict = dict({p: v for p, v in zip(game.players, game.ranks)})
    return render_with_session('replay.html', session, replay=game, cars=constants.cars, id=id_, ranks=ranks,
                               item_dict=get_item_dict(), ranks_dict=ranks_dict)
示例#2
0
def view_player(id_):
    print(id_, request.remote_addr)
    if len(id_) != 17 or re.match(regex, id_) is None:
        r = get_vanity_to_steam_id_or_random_response(id_, current_app)
        if r is None:
            return redirect(url_for('home'))
        id_ = r['response']['steamid']
        return redirect(url_for('players.view_player', id_=id_))
    session = current_app.config['db']()
    rank = get_rank(id_)
    total_games = player_wrapper.get_total_games(session, id_)
    games, stats, favorite_car, favorite_car_pctg, names = player_stat_wrapper.get_averaged_stats(session, id_, total_games, rank, redis=current_app.config['r'])
    steam_profile = get_steam_profile_or_random_response(id_, current_app)
    user = session.query(Player).filter(Player.platformid == id_).first()
    if user is not None:
        groups = [current_app.config['groups'][i] for i in user.groups]
    else:
        groups = []
    if steam_profile is None:
        return render_template('error.html', error="Unable to find the requested profile")

    return render_with_session('player.html', session, games=games, rank=rank, profile=steam_profile, car=favorite_car,
                               favorite_car_pctg=favorite_car_pctg, stats=stats,
                               total_games=total_games, game_per_page=player_wrapper.limit,
                               id=id_, get_stat_spider_charts=PlayerStatWrapper.get_stat_spider_charts,
                               groups=groups, names=names)
示例#3
0
def home(session=None):
    players = session.query(Player).all()
    groups = session.query(Group).all()
    id_to_groups = {g.id: g.name for g in groups}
    return render_with_session('admin.html',
                               session,
                               players=players,
                               groups=groups,
                               id_to_groups=id_to_groups)
示例#4
0
def home():
    s = current_app.config['db']()
    players = s.query(Player).all()
    groups = s.query(Group).all()
    id_to_groups = {g.id: g.name for g in groups}
    return render_with_session('admin.html',
                               s,
                               players=players,
                               groups=groups,
                               id_to_groups=id_to_groups)
示例#5
0
def upload():
    session = current_app.config['db']()
    replay_count = queries.get_replay_count(session)
    replay_data = queries.get_replay_stats(session)
    model_data = queries.get_model_stats(session)
    return render_with_session('upload.html',
                               session,
                               stats=replay_data,
                               total=replay_count,
                               model_stats=model_data)
示例#6
0
def view_users(session=None):
    """
    View all users

    :return:
    """
    users = session.query(Player).filter(Player.avatar != '').all()
    groups = session.query(Group).all()
    id_to_groups = {g.id: g.name for g in groups}
    return render_with_session('users.html',
                               session,
                               users=users,
                               groups=groups,
                               id_to_groups=id_to_groups)
示例#7
0
def view_users():
    """
    View all users

    :return:
    """
    s = current_app.config['db']()
    users = s.query(Player).filter(Player.avatar != '').all()
    groups = s.query(Group).all()
    id_to_groups = {g.id: g.name for g in groups}
    return render_with_session('users.html',
                               s,
                               users=users,
                               groups=groups,
                               id_to_groups=id_to_groups)
示例#8
0
def compare_player(ids):
    session = current_app.config['db']()
    ids = ids.split(',')
    common_games = player_wrapper.get_player_games(session, ids)
    users = []
    for player_id in ids:
        total_games = player_wrapper.get_total_games(session, player_id)
        games, stats, favorite_car, favorite_car_pctg, names = player_stat_wrapper.get_averaged_stats(session, player_id,
                                                                                               total_games)
        steam_profile = get_steam_profile_or_random_response(player_id, current_app)
        if steam_profile is None:
            return render_template('error.html', error="Unable to find the requested profile: " + player_id)
        user = {
            'id': player_id,
            'games': games,
            'stats': stats,
            'favorite_car': favorite_car,
            'favorite_car_pctg': favorite_car_pctg,
            'steam_profile': steam_profile
        }
        users.append(user)
    return render_with_session('compare.html', session, games=common_games, users=users, max_pages=1,
                               get_stat_spider_charts=PlayerStatWrapper.get_stat_spider_charts)
示例#9
0
def upload_confirmation():
    session = current_app.config['db']()
    replay_count = session.query(Game.hash).count()
    return render_with_session('confirmation.html', session, total=replay_count)