Mercurial > hg > rlgallery-misc
comparison 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 |
comparison
equal
deleted
inserted
replaced
| 19:78580bffc13d | 20:c05050f78d81 |
|---|---|
| 434 conn.close() | 434 conn.close() |
| 435 return dictlist | 435 return dictlist |
| 436 def getRecent(self, n=20): | 436 def getRecent(self, n=20): |
| 437 return [] | 437 return [] |
| 438 def getPlayer(self, player): | 438 def getPlayer(self, player): |
| 439 return [] | 439 "Gets all player's games from the database." |
| 440 qstr = "SELECT endt, score, name, xl, class, fate FROM " + self.uname + " WHERE name = %s;" | |
| 441 conn = getconn() | |
| 442 if conn == None: | |
| 443 return [] | |
| 444 cur = conn.cursor() | |
| 445 entries = [] | |
| 446 cur.execute(qstr, [player]) | |
| 447 for record in cur: | |
| 448 ndict = {"game": self} | |
| 449 ndict["endt"] = record[0] | |
| 450 ndict["score"] = record[1] | |
| 451 ndict["name"] = record[2] | |
| 452 ndict["xl"] = record[3] | |
| 453 ndict["class"] = record[4] | |
| 454 ndict["fate"] = record[5] | |
| 455 entries.append(ndict) | |
| 456 cur.close() | |
| 457 conn.close() | |
| 458 return entries | |
| 440 | 459 |
| 441 rogue3 = RogueGame("Rogue V3", "rogue3", "r3") | 460 rogue3 = RogueGame("Rogue V3", "rogue3", "r3") |
| 442 rogue4 = RogueGame("Rogue V4", "rogue4", "r4") | 461 rogue4 = RogueGame("Rogue V4", "rogue4", "r4") |
| 443 rogue5 = RogueGame("Rogue V5", "rogue5", "r5") | 462 rogue5 = RogueGame("Rogue V5", "rogue5", "r5") |
| 444 srogue = RogueGame("Super-Rogue", "srogue", "sr") | 463 srogue = RogueGame("Super-Rogue", "srogue", "sr") |
| 460 if not entries: | 479 if not entries: |
| 461 ppagefi.write("<div>" + pname + " has not yet completed an expedition\ | 480 ppagefi.write("<div>" + pname + " has not yet completed an expedition\ |
| 462 in this dungeon.</div>\n") | 481 in this dungeon.</div>\n") |
| 463 else: | 482 else: |
| 464 entries.sort(key=lambda e: e["endt"]) | 483 entries.sort(key=lambda e: e["endt"]) |
| 465 printTable(entries, RogueGame.pfields, ppagefi) | 484 printTable(entries, game.pfields, ppagefi) |
| 466 scoresum = 0 | 485 scoresum = 0 |
| 467 for entry in entries: | 486 for entry in entries: |
| 468 scoresum += int(entry["score"]) | 487 scoresum += int(entry["score"]) |
| 469 avgscr = scoresum / len(entries) | 488 avgscr = scoresum / len(entries) |
| 470 ppagefi.write("<p>Average score: {0}</p>\n".format(avgscr)) | 489 ppagefi.write("<p>Average score: {0}</p>\n".format(avgscr)) |
