from webhelpers.paginate import Page
from xonstat.models import *
from xonstat.util import page_url, to_json, pretty_date, datetime_seconds
+from xonstat.util import is_cake_day
from xonstat.views.helpers import RecentGame, recent_games_q
log = logging.getLogger(__name__)
"FROM player_game_stats pgs "
"WHERE pgs.player_id = :player_id "
).params(player_id=player_id).all()
-
+
# to be indexed by game_type_cd
overall_stats = {}
-
+
for row in raw_stats:
# individual gametype ratio calculations
try:
total_captures = os.total_captures,
cap_ratio = os.cap_ratio,
total_carrier_frags = os.total_carrier_frags,
- game_type_cd = os.game_type_cd)
+ game_type_cd = os.game_type_cd,
+ game_type_descr = os.game_type_descr)
return overall_stats
Provides a list of recent games for a player. Uses the recent_games_q helper.
"""
# recent games played in descending order
- rgs = recent_games_q(player_id=player_id).limit(10).all()
+ rgs = recent_games_q(player_id=player_id, force_player_id=True).limit(10).all()
recent_games = [RecentGame(row) for row in rgs]
return recent_games
ranks = get_ranks(player_id)
recent_games = get_recent_games(player_id)
recent_weapons = get_recent_weapons(player_id)
+ cake_day = is_cake_day(player.create_dt)
except Exception as e:
player = None
ranks = None
recent_games = None
recent_weapons = []
+ cake_day = False
## do not raise exceptions here (only for debugging)
- #raise e
+ # raise e
return {'player':player,
'games_played':games_played,
'elos':elos,
'ranks':ranks,
'recent_games':recent_games,
- 'recent_weapons':recent_weapons
+ 'recent_weapons':recent_weapons,
+ 'cake_day':cake_day,
}
rgs_q = recent_games_q(player_id=player.player_id,
force_player_id=True, game_type_cd=game_type_cd)
- games = Page(rgs_q, current_page, items_per_page=10, url=page_url)
+ games = Page(rgs_q, current_page, items_per_page=20, url=page_url)
# replace the items in the canned pagination class with more rich ones
games.items = [RecentGame(row) for row in games.items]