import logging
-import sqlalchemy.sql.functions as func
-import sqlalchemy.sql.expression as expr
from collections import namedtuple
from datetime import datetime, timedelta
+
+import sqlalchemy.sql.expression as expr
+import sqlalchemy.sql.functions as func
+from pyramid import httpexceptions
from webhelpers.paginate import Page
-from xonstat.models import *
+from xonstat.models import DBSession, Server, Map, Game, PlayerGameStat, Player, PlayerCaptime
+from xonstat.models.map import MapCapTime
from xonstat.util import page_url, html_colors
from xonstat.views.helpers import RecentGame, recent_games_q
group_by(Server.name).\
group_by(Server.server_id).all()[0:leaderboard_count]
+ # TODO make this a configuration parameter to be set in the settings
# top captimes
captimes_raw = DBSession.query(Player.player_id, Player.nick,
PlayerCaptime.fastest_cap, PlayerCaptime.game_id).\
filter(PlayerCaptime.map_id == map_id).\
filter(Player.player_id == PlayerCaptime.player_id).\
order_by(PlayerCaptime.fastest_cap).\
- limit(25).\
+ limit(10).\
all()
captimes = [Captime(c.player_id, html_colors(c.nick),
order_by(expr.asc(PlayerCaptime.fastest_cap))
except Exception as e:
- raise pyramid.httpexceptions.HTTPNotFound
+ raise httpexceptions.HTTPNotFound
map_captimes = Page(mct_q, current_page, items_per_page=20, url=page_url)