From 15675bc2090ea1fa960bbd2b1b30d26d6e2d4202 Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Sun, 18 Nov 2012 21:48:31 -0500 Subject: [PATCH] Use the new helpers for the server_info page as well. Another performance boost on my machine! The page loads in half the time that it did before. Aw yeah. --- xonstat/templates/server_info.mako | 33 ++++++++++-------------------- xonstat/views/server.py | 11 +++------- 2 files changed, 14 insertions(+), 30 deletions(-) diff --git a/xonstat/templates/server_info.mako b/xonstat/templates/server_info.mako index 04bf6b4..7402035 100644 --- a/xonstat/templates/server_info.mako +++ b/xonstat/templates/server_info.mako @@ -133,33 +133,22 @@ Server Information - % for (game, srv, map, pgstat) in recent_games: - % if game != '-': + % for rg in recent_games: - View - ${game.game_type_cd} - ${map.name} - ${game.fuzzy_date()} + View + ${rg.game_type_cd} + ${rg.map_name} + ${rg.fuzzy_date} - % if pgstat.player_id > 2: - ${pgstat.nick_html_colors()|n} - - % else: - ${pgstat.nick_html_colors()|n} - - % endif - + % if rg.player_id > 2: + ${rg.nick_html_colors|n} % else: - - - - - - - - - - - - + ${rg.nick_html_colors|n} % endif + + % endfor - + diff --git a/xonstat/views/server.py b/xonstat/views/server.py index b2d7c6d..b3de5d1 100644 --- a/xonstat/views/server.py +++ b/xonstat/views/server.py @@ -3,11 +3,11 @@ import sqlalchemy.sql.functions as func import sqlalchemy.sql.expression as expr import time from datetime import datetime, timedelta -from pyramid.response import Response from sqlalchemy import desc from webhelpers.paginate import Page, PageURL from xonstat.models import * from xonstat.util import page_url, html_colors +from xonstat.views.helpers import RecentGame, recent_games_q log = logging.getLogger(__name__) @@ -103,13 +103,8 @@ def _server_info_data(request): for (player_id, nick, score) in top_players] # recent games played in descending order - recent_games = DBSession.query(Game, Server, Map, PlayerGameStat).\ - filter(Game.server_id==Server.server_id).\ - filter(Game.map_id==Map.map_id).\ - filter(PlayerGameStat.game_id==Game.game_id).\ - filter(PlayerGameStat.rank==1).\ - filter(Server.server_id==server.server_id).\ - order_by(expr.desc(Game.start_dt)).all()[0:recent_games_count] + rgs = recent_games_q(server_id=server_id).limit(recent_games_count).all() + recent_games = [RecentGame(row) for row in rgs] except Exception as e: server = None -- 2.39.2