diff --git a/py/rlgalldb.py b/py/rlgalldb.py
index 32096d7..aea9c73 100644
--- a/py/rlgalldb.py
+++ b/py/rlgalldb.py
@@ -171,7 +171,6 @@ class Game:
break
entlist.append(self.logtoDict(nextentry))
return
- # TODO how does this work with postprocess?
def loadnew(self):
conn = getconn()
if conn == None:
@@ -239,6 +238,29 @@ class Game:
conn.commit()
cur.close()
return
+ def tablerecent(self, of):
+ "Prints the most recent games from the logfile, NOT the database."
+ newest = []
+ try:
+ scr = open(self.scores)
+ except IOError:
+ pass
+ else:
+ try:
+ scr.seek(self.lookback, 2)
+ except IOError:
+ scr.seek(0) # The file wasn't that long, start at the beginning
+ if scr.tell() != 0:
+ scr.readline() # Throw away the incomplete line
+ self.getEntryDicts(scr, newest)
+ newest.reverse()
+ scr.close()
+ of.write(secthead.format(self.name))
+ if not newest:
+ of.write("
No one has braved this dungeon yet.
\n")
+ else:
+ printTable(newest, self.fields, of)
+ return
# End Game class definition
class RogueGame(Game):
@@ -251,6 +273,7 @@ class RogueGame(Game):
"name": "varchar(20)", "xl": "int", "fate": "text",
"ttyrecs": "text ARRAY", "startt": "timestamptz"}
self.logdelim = " "
+ self.lookback = -1500
colspec = "("
valspec = "("
for i, col in enumerate(self.sqltypes.keys()):
@@ -379,6 +402,7 @@ class ARogueGame(Game):
"maxdepth": "int", "quest": "int", "hadquest": "bool",
"fate": "text", "ttyrecs": "text ARRAY", "startt": "timestamptz"}
self.logdelim = " "
+ self.lookback = -1800
colspec = "("
valspec = "("
for i, col in enumerate(self.sqltypes.keys()):
diff --git a/web/recent.cgi b/web/recent.cgi
index 644e720..253a9d9 100755
--- a/web/recent.cgi
+++ b/web/recent.cgi
@@ -3,7 +3,7 @@
import sys
import time
-import rlgall
+import rlgalldb as rlgall
# The required header
sys.stdout.write("Content-type: text/html\r\n\r\n")