Exemple #1
0
def player_info_data(request):
    player_id = int(request.matchdict['id'])
    game_type_cd = request.params.get("game_type_cd") or request.cookies.get(
        "gametype")
    if player_id <= 2:
        player_id = -1

    try:
        row = DBSession.query(Player, Hashkey).\
                join(Hashkey, Hashkey.player_id == Player.player_id).\
                filter((Player.player_id == player_id) | (Hashkey.hashkey == str(player_id))).\
                first()
        #filter(Player.active_ind == True)

        if row is None:
            return {
                'player': None,
                'hashkey': None,
                'games_played': 0,
                'overall_stats': None,
                'fav_maps': [],
                'elos': [],
                'ranks': [],
                'recent_games': [],
                'cake_day': None
            }

        sessioncookie = unquote(request.cookies.get("SteamAuthSession", ""))
        may_see_stats = row.Player.privacy_match_hist == 2 or \
          row.Player.privacy_match_hist == 1 and row.Hashkey.sessionkey == sessioncookie

        player_id = row.Player.player_id
        games_played = get_games_played(player_id) if may_see_stats else []
        overall_stats = get_overall_stats(player_id) if may_see_stats else {}
        fav_maps = get_fav_maps(player_id) if may_see_stats else {}
        elos = get_elos(player_id)
        ranks = get_ranks(player_id)
        recent_games = get_recent_games(
            player_id, game_type_cd=game_type_cd) if may_see_stats else []
        cake_day = is_cake_day(
            row.Player.create_dt) if may_see_stats else False

    except Exception as e:
        #raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
        raise

    return {
        'player': row.Player,
        'hashkey': row.Hashkey.hashkey,
        'games_played': games_played,
        'overall_stats': overall_stats,
        'fav_maps': fav_maps,
        'elos': elos,
        'ranks': ranks,
        'recent_games': recent_games,
        'cake_day': cake_day,
        'may_view': may_see_stats
    }
Exemple #2
0
def player_info_data(request):
    player_id = int(request.matchdict['id'])
    if player_id <= 2:
        player_id = -1;

    try:
        player = DBSession.query(Player).filter_by(player_id=player_id).\
                filter(Player.active_ind == True).one()

        games_played   = get_games_played(player_id)
        overall_stats  = get_overall_stats(player_id)
        fav_maps       = get_fav_maps(player_id)
        elos           = get_elos(player_id)
        ranks          = get_ranks(player_id)
        medals         = get_player_medals(player_id)
        recent_games   = get_recent_games(player_id)
        cake_day       = is_cake_day(player.create_dt)

    except Exception as e:
        raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
        # raise e

    return {'player':player,
            'games_played':games_played,
            'overall_stats':overall_stats,
            'fav_maps':fav_maps,
            'elos':elos,
            'ranks':ranks,
            'medals':medals,
            'recent_games':recent_games,
            'cake_day':cake_day,
            }
Exemple #3
0
def player_info_data(request):
    player_id = int(request.matchdict['id'])
    if player_id <= 2:
        player_id = -1

    try:
        player = DBSession.query(Player).filter_by(player_id=player_id).\
                filter(Player.active_ind == True).one()

        games_played = get_games_played(player_id)
        overall_stats = get_overall_stats(player_id)
        fav_maps = get_fav_maps(player_id)
        elos = get_elos(player_id)
        ranks = get_ranks(player_id)
        recent_games = get_recent_games(player_id)
        cake_day = is_cake_day(player.create_dt)

    except Exception as e:
        raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
        # raise e

    return {
        'player': player,
        'games_played': games_played,
        'overall_stats': overall_stats,
        'fav_maps': fav_maps,
        'elos': elos,
        'ranks': ranks,
        'recent_games': recent_games,
        'cake_day': cake_day,
    }
Exemple #4
0
def player_info_data(request):
    player_id = int(request.matchdict['id'])
    game_type_cd = request.params.get("game_type_cd") or request.cookies.get(
        "gametype")
    if player_id <= 2:
        player_id = -1

    try:
        row = DBSession.query(Player, Hashkey).\
                join(Hashkey, Hashkey.player_id == Player.player_id).\
                filter((Player.player_id == player_id) | (Hashkey.hashkey == str(player_id))).\
                first()
        #filter(Player.active_ind == True)

        if row is None:
            return {
                'player': None,
                'hashkey': None,
                'games_played': 0,
                'overall_stats': None,
                'fav_maps': [],
                'elos': [],
                'ranks': [],
                'recent_games': [],
                'cake_day': None
            }

        player_id = row.Player.player_id
        games_played = get_games_played(player_id)
        overall_stats = get_overall_stats(player_id)
        fav_maps = get_fav_maps(player_id)
        elos = get_elos(player_id)
        ranks = get_ranks(player_id)
        recent_games = get_recent_games(player_id, game_type_cd=game_type_cd)
        cake_day = is_cake_day(row.Player.create_dt)

    except Exception as e:
        #raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
        raise e

    return {
        'player': row.Player,
        'hashkey': row.Hashkey.hashkey,
        'games_played': games_played,
        'overall_stats': overall_stats,
        'fav_maps': fav_maps,
        'elos': elos,
        'ranks': ranks,
        'recent_games': recent_games,
        'cake_day': cake_day,
    }
Exemple #5
0
def player_info_data(request):
    player_id = int(request.matchdict["id"])
    if player_id <= 2:
        player_id = -1

    try:
        row = (
            DBSession.query(Player, Hashkey)
            .join(Hashkey, Hashkey.player_id == Player.player_id)
            .filter((Player.player_id == player_id) | (Hashkey.hashkey == str(player_id)))
            .filter(Player.active_ind == True)
            .one()
        )

        if row is not None:
            player_id = row.Player.player_id

        games_played = get_games_played(player_id)
        overall_stats = get_overall_stats(player_id)
        fav_maps = get_fav_maps(player_id)
        elos = get_elos(player_id)
        ranks = get_ranks(player_id)
        recent_games = get_recent_games(player_id)
        cake_day = is_cake_day(row.Player.create_dt)

    except Exception as e:
        # raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
        raise e

    return {
        "player": row.Player,
        "hashkey": row.Hashkey.hashkey,
        "games_played": games_played,
        "overall_stats": overall_stats,
        "fav_maps": fav_maps,
        "elos": elos,
        "ranks": ranks,
        "recent_games": recent_games,
        "cake_day": cake_day,
    }
Exemple #6
0
def player_info_data(request):
    player_id = int(request.matchdict['id'])
    game_type_cd = request.params.get("game_type_cd") or request.cookies.get("gametype")
    if player_id <= 2:
        player_id = -1;
    
    try:
        row = DBSession.query(Player, Hashkey).\
                join(Hashkey, Hashkey.player_id == Player.player_id).\
                filter((Player.player_id == player_id) | (Hashkey.hashkey == str(player_id))).\
                first()
                #filter(Player.active_ind == True)

        if row is None:
                return {'player':None, 'hashkey':None, 'games_played':0,'overall_stats':None, 'fav_maps':[], 'elos':[], 'ranks':[], 'recent_games':[],'cake_day':None }

        player_id = row.Player.player_id     
        games_played   = get_games_played(player_id)
        overall_stats  = get_overall_stats(player_id)
        fav_maps       = get_fav_maps(player_id)
        elos           = get_elos(player_id)
        ranks          = get_ranks(player_id)
        recent_games   = get_recent_games(player_id, game_type_cd=game_type_cd)
        cake_day       = is_cake_day(row.Player.create_dt)

    except Exception as e:
        #raise pyramid.httpexceptions.HTTPNotFound

        ## do not raise application exceptions here (only for debugging)
         raise e

    return {'player':row.Player,
          'hashkey':row.Hashkey.hashkey,
            'games_played':games_played,
            'overall_stats':overall_stats,
            'fav_maps':fav_maps,
            'elos':elos,
            'ranks':ranks,
            'recent_games':recent_games,
            'cake_day':cake_day,
            }