"""Top players by score. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
"""Top players by score. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
- top_scorers_q = DBSession.query(
- fg.row_number().over(order_by=expr.desc(func.sum(PlayerGameStat.score))).label("rank"),
- Player.player_id, Player.nick, func.sum(PlayerGameStat.score).label("total_score"))\
- .filter(Player.player_id == PlayerGameStat.player_id)\
- .filter(Game.game_id == PlayerGameStat.game_id)\
- .filter(Game.map_id == self.map_id)\
- .filter(Player.player_id > 2)\
- .filter(PlayerGameStat.create_dt > cutoff)\
- .order_by(expr.desc(func.sum(PlayerGameStat.score)))\
- .group_by(Player.nick)\
- .group_by(Player.player_id)
+ try:
+ top_scorers_q = DBSession.query(
+ fg.row_number().over(order_by=expr.desc(func.sum(PlayerGameStat.score))).label("rank"),
+ Player.player_id, Player.nick, func.sum(PlayerGameStat.score).label("total_score"))\
+ .filter(Player.player_id == PlayerGameStat.player_id)\
+ .filter(Game.game_id == PlayerGameStat.game_id)\
+ .filter(Game.map_id == self.map_id)\
+ .filter(Player.player_id > 2)\
+ .filter(PlayerGameStat.create_dt > cutoff)\
+ .order_by(expr.desc(func.sum(PlayerGameStat.score)))\
+ .group_by(Player.nick)\
+ .group_by(Player.player_id)
"""Top players by score. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
"""Top players by score. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
- top_players_q = DBSession.query(
- fg.row_number().over(order_by=expr.desc(func.sum(PlayerGameStat.alivetime))).label("rank"),
- Player.player_id, Player.nick, func.sum(PlayerGameStat.alivetime).label("alivetime"))\
- .filter(Player.player_id == PlayerGameStat.player_id)\
- .filter(Game.game_id == PlayerGameStat.game_id)\
- .filter(Game.map_id == self.map_id)\
- .filter(Player.player_id > 2)\
- .filter(PlayerGameStat.create_dt > cutoff)\
- .order_by(expr.desc(func.sum(PlayerGameStat.alivetime)))\
- .group_by(Player.nick)\
- .group_by(Player.player_id)
+ try:
+ top_players_q = DBSession.query(
+ fg.row_number().over(order_by=expr.desc(func.sum(PlayerGameStat.alivetime))).label("rank"),
+ Player.player_id, Player.nick, func.sum(PlayerGameStat.alivetime).label("alivetime"))\
+ .filter(Player.player_id == PlayerGameStat.player_id)\
+ .filter(Game.game_id == PlayerGameStat.game_id)\
+ .filter(Game.map_id == self.map_id)\
+ .filter(Player.player_id > 2)\
+ .filter(PlayerGameStat.create_dt > cutoff)\
+ .order_by(expr.desc(func.sum(PlayerGameStat.alivetime)))\
+ .group_by(Player.nick)\
+ .group_by(Player.player_id)
"""Top servers by the number of times they have played the map. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
"""Top servers by the number of times they have played the map. Shared by all renderers."""
cutoff = self.now - timedelta(days=self.lifetime)
- top_servers_q = DBSession.query(
- fg.row_number().over(order_by=expr.desc(func.count(Game.game_id))).label("rank"),
- Server.server_id, Server.name, func.count(Game.game_id).label("games"))\
- .filter(Game.server_id == Server.server_id)\
- .filter(Game.map_id == self.map_id)\
- .filter(Game.create_dt > cutoff)\
- .order_by(expr.desc(func.count(Game.game_id)))\
- .group_by(Server.name)\
- .group_by(Server.server_id)
+ try:
+ top_servers_q = DBSession.query(
+ fg.row_number().over(order_by=expr.desc(func.count(Game.game_id))).label("rank"),
+ Server.server_id, Server.name, func.count(Game.game_id).label("games"))\
+ .filter(Game.server_id == Server.server_id)\
+ .filter(Game.map_id == self.map_id)\
+ .filter(Game.create_dt > cutoff)\
+ .order_by(expr.desc(func.count(Game.game_id)))\
+ .group_by(Server.name)\
+ .group_by(Server.server_id)