From fe2c574fdbacd574cfcb99a319224c01df8e38d3 Mon Sep 17 00:00:00 2001 From: Ant Zucaro Date: Fri, 24 Jun 2011 16:36:29 -0400 Subject: [PATCH] Add server index and template. Fix links on player index and template. --- xonstat/__init__.py | 7 +++++++ xonstat/templates/base.mako | 3 ++- xonstat/templates/player_index.mako | 2 +- xonstat/templates/server_index.mako | 32 +++++++++++++++++++++++++++++ xonstat/views/__init__.py | 2 +- xonstat/views/player.py | 2 +- xonstat/views/server.py | 21 +++++++++++++++++++ 7 files changed, 65 insertions(+), 4 deletions(-) create mode 100755 xonstat/templates/server_index.mako diff --git a/xonstat/__init__.py b/xonstat/__init__.py index 0633753..49aab4f 100755 --- a/xonstat/__init__.py +++ b/xonstat/__init__.py @@ -55,6 +55,13 @@ def main(global_config, **settings): renderer='game_info.mako') # SERVER ROUTES + config.add_route(name="server_index_paged", + pattern="/servers/page/{page:\d+}", view=server_index, + renderer='server_index.mako') + + config.add_route(name="server_index", pattern="/servers", view=server_index, + renderer='server_index.mako') + config.add_route(name="server_game_index", pattern="/server/{server_id:\d+}/games/page/{page:\d+}", view=server_game_index, renderer='server_game_index.mako') diff --git a/xonstat/templates/base.mako b/xonstat/templates/base.mako index 812ec31..473708d 100755 --- a/xonstat/templates/base.mako +++ b/xonstat/templates/base.mako @@ -16,10 +16,11 @@

Player Statistics for Xonotic

diff --git a/xonstat/templates/player_index.mako b/xonstat/templates/player_index.mako index d5f12e1..03f52b9 100755 --- a/xonstat/templates/player_index.mako +++ b/xonstat/templates/player_index.mako @@ -18,7 +18,7 @@ Player Index - ${parent.title()} % for player in players: ${player.player_id} - ${player.nick_html_colors()} + ${player.nick_html_colors()} ${player.create_dt.strftime('%m/%d/%Y at %H:%M')} % endfor diff --git a/xonstat/templates/server_index.mako b/xonstat/templates/server_index.mako new file mode 100755 index 0000000..93b6f09 --- /dev/null +++ b/xonstat/templates/server_index.mako @@ -0,0 +1,32 @@ +<%inherit file="base.mako"/> + +<%block name="title"> +Map Index - ${parent.title()} + + +% if not servers: +

Sorry, no servers yet. Get playing!

+ +% else: +

Server Index

+ + + + + + +% for server in servers: + + +% endfor +
#NameIP Address
${server.server_id} + ${server.name} +
+% endif + +% if servers.previous_page: +Previous +% endif +% if servers.next_page: +Next +% endif diff --git a/xonstat/views/__init__.py b/xonstat/views/__init__.py index c9fd80d..7fdf4d4 100755 --- a/xonstat/views/__init__.py +++ b/xonstat/views/__init__.py @@ -2,5 +2,5 @@ from xonstat.views.submission import stats_submit from xonstat.views.player import player_index, player_info, player_game_index from xonstat.views.game import game_index, game_info from xonstat.views.map import map_info, map_index -from xonstat.views.server import server_info, server_game_index +from xonstat.views.server import server_info, server_game_index, server_index from xonstat.views.main import main_index diff --git a/xonstat/views/player.py b/xonstat/views/player.py index 7371849..c9e5290 100755 --- a/xonstat/views/player.py +++ b/xonstat/views/player.py @@ -105,7 +105,7 @@ def player_info(request): weapon_stats = None game_stats = None recent_games = None - raise e + return {'player':player, 'recent_games':recent_games, 'weapon_stats':weapon_stats, diff --git a/xonstat/views/server.py b/xonstat/views/server.py index 1df6f24..e0dce91 100755 --- a/xonstat/views/server.py +++ b/xonstat/views/server.py @@ -9,6 +9,27 @@ from xonstat.util import page_url log = logging.getLogger(__name__) +def server_index(request): + """ + Provides a list of all the current servers. + """ + if 'page' in request.matchdict: + current_page = request.matchdict['page'] + else: + current_page = 1 + + try: + server_q = DBSession.query(Server).\ + order_by(Server.name) + + servers = Page(server_q, current_page, url=page_url) + + + except Exception as e: + servers = None + + return {'servers':servers, } + def server_info(request): """ -- 2.39.2