Mercurial > hg > rlgallery-misc
diff py/rlgalldb.py @ 20:c05050f78d81
Make arogue5 scores appear on the player pages too.
This could probably be done in a more structured way.
author | John "Elwin" Edwards <elwin@sdf.org> |
---|---|
date | Mon, 17 Sep 2012 11:41:11 -0700 |
parents | 78580bffc13d |
children | 453278a81371 |
line wrap: on
line diff
--- a/py/rlgalldb.py Mon Sep 17 10:24:38 2012 -0700 +++ b/py/rlgalldb.py Mon Sep 17 11:41:11 2012 -0700 @@ -436,7 +436,26 @@ def getRecent(self, n=20): return [] def getPlayer(self, player): - return [] + "Gets all player's games from the database." + qstr = "SELECT endt, score, name, xl, class, fate FROM " + self.uname + " WHERE name = %s;" + conn = getconn() + if conn == None: + return [] + cur = conn.cursor() + entries = [] + cur.execute(qstr, [player]) + for record in cur: + ndict = {"game": self} + ndict["endt"] = record[0] + ndict["score"] = record[1] + ndict["name"] = record[2] + ndict["xl"] = record[3] + ndict["class"] = record[4] + ndict["fate"] = record[5] + entries.append(ndict) + cur.close() + conn.close() + return entries rogue3 = RogueGame("Rogue V3", "rogue3", "r3") rogue4 = RogueGame("Rogue V4", "rogue4", "r4") @@ -462,7 +481,7 @@ in this dungeon.</div>\n") else: entries.sort(key=lambda e: e["endt"]) - printTable(entries, RogueGame.pfields, ppagefi) + printTable(entries, game.pfields, ppagefi) scoresum = 0 for entry in entries: scoresum += int(entry["score"])