]> de.git.xonotic.org Git - xonotic/xonstat.git/blobdiff - xonstat/views/game.py
Add ranks view based on game type.
[xonotic/xonstat.git] / xonstat / views / game.py
index 370636532f9ba1129783b065eb18eaa046b333a4..25ab4082333742a079b51d56bd91c4741bbe2408 100755 (executable)
@@ -93,3 +93,30 @@ def game_info(request):
             'pgstats':pgstats,\r
             'pwstats':pwstats,\r
             }\r
+\r
+\r
+def rank_index(request):\r
+    """\r
+    Provide a list of gametype ranks, paginated.\r
+    """\r
+    if 'page' in request.matchdict:\r
+        current_page = request.matchdict['page']\r
+    else:\r
+        current_page = 1\r
+\r
+    game_type_cd = request.matchdict['game_type_cd']\r
+\r
+    ranks_q = DBSession.query(PlayerElo, Player).\\r
+            filter(PlayerElo.game_type_cd==game_type_cd).\\r
+            filter(PlayerElo.player_id==Player.player_id).\\r
+            order_by(PlayerElo.elo.desc())\r
+\r
+    ranks = Page(ranks_q, current_page, url=page_url)\r
+\r
+    if len(ranks) == 0:\r
+        ranks = None\r
+\r
+    return {\r
+            'ranks':ranks,\r
+            'game_type_cd':game_type_cd,\r
+           }\r