- try:
- if cutoff_days is not None:
- # only games played during this range are considered
- right_now = datetime.now()
- cutoff_dt = right_now - timedelta(days=cutoff_days)
-
- games = DBSession.query(Game.game_type_cd, func.count()).\
- filter(expr.between(Game.create_dt, cutoff_dt, right_now)).\
- group_by(Game.game_type_cd).\
- order_by(expr.desc(func.count())).all()
-
- active_players = DBSession.query(func.count(sa.distinct(PlayerGameStat.player_id))).\
- filter(PlayerGameStat.player_id > 2).\
- filter(expr.between(PlayerGameStat.create_dt, cutoff_dt, right_now)).\
- one()[0]
- else:
- games = DBSession.query(Game.game_type_cd, func.count()).\
- group_by(Game.game_type_cd).\
- order_by(expr.desc(func.count())).all()
-
- active_players = DBSession.query(func.count(sa.distinct(PlayerGameStat.player_id))).\
- filter(PlayerGameStat.player_id > 2).\
- one()[0]