]> de.git.xonotic.org Git - xonotic/xonstat.git/commitdiff
Add recent games to the player_info view (still buggy).
authorAnt Zucaro <azucaro@gmail.com>
Fri, 6 May 2011 17:16:00 +0000 (13:16 -0400)
committerAnt Zucaro <azucaro@gmail.com>
Fri, 6 May 2011 17:16:00 +0000 (13:16 -0400)
xonstat/templates/player_info.mako [changed mode: 0644->0755]
xonstat/views.py

old mode 100644 (file)
new mode 100755 (executable)
index e177e42..cfa47c3
@@ -21,3 +21,12 @@ ${parent.title()}
    <li>Joined: ${player.create_dt}</li>
 </ul>
 % endif
+
+% if recent_games:
+<h2>Recent Games</h2>
+<ul>
+% for (game_id, server_name, map_name) in recent_games:
+   <li>Game #${game_id} on ${server_name}: ${map_name}</li>
+% endfor
+</ul>
+% endif
index f9574abc8f1c6c92cea8deb4700a91ca645e1fbe..532f2e6e57a1604719e4ad95c62f9bc771a38433 100755 (executable)
@@ -33,9 +33,22 @@ def player_info(request):
     player_id = request.matchdict['id']
     try:
         player = DBSession.query(Player).filter_by(player_id=player_id).one()
-    except:
+        recent_games = DBSession.query("game_id", "server_name", "map_name").\
+                from_statement("select g.game_id, s.name as server_name, m.name as map_name "
+                        "from player_game_stats gs, games g, servers s, maps m "
+                        "where gs.player_id=:player_id "
+                        "and gs.game_id = g.game_id "
+                        "and g.server_id = s.server_id "
+                        "and g.map_id = m.map_id "
+                        "order by g.start_dt desc "
+                        "limit 10 offset 1").\
+                        params(player_id=player_id).all()
+
+        log.debug(recent_games)
+    except Exception as e:
+        raise e
         player = None
-    return {'player':player}
+    return {'player':player, 'recent_games':recent_games}
 
 
 ##########################################################################