X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=qchess%2Fsrc%2Flog.py;fp=qchess%2Fsrc%2Flog.py;h=7451b3aefff6e9b2b61077e3eb98b5fdecf98a68;hb=337c794fe317a54c65bf5de103bf1a55c0ceb141;hp=59e23e1158683b8bcf1a01fccc9856efd898dd28;hpb=0325af7e6f9c20b549efa84754b4a4a206fe66cc;p=progcomp2013.git diff --git a/qchess/src/log.py b/qchess/src/log.py index 59e23e1..7451b3a 100644 --- a/qchess/src/log.py +++ b/qchess/src/log.py @@ -3,12 +3,15 @@ import datetime import urllib2 class LogFile(): - def __init__(self, file_name): + def __init__(self, log): - self.log = open(file_name, "w", 0) + self.log = log + self.logged = [] def write(self, s): - self.log.write(str(datetime.datetime.now()) + " : " + s + "\n") + now = datetime.datetime.now() + self.log.write(str(now) + " : " + s + "\n") + self.logged.append((now, s)) def setup(self, board, players): self.log.write("# Log starts " + str(datetime.datetime.now()) + "\n") @@ -23,16 +26,34 @@ class LogFile(): self.log.write("# Start game\n") + def close(self): + self.log.write("# EOF\n") + self.log.close() + class HttpLog(LogFile): def __init__(self, file_name): - LogFile.__init__(self, file_name) + LogFile.__init__(self, open(file_name, "w", 0)) self.file_name = file_name + self.phase = 0 - def prelog(self): - self.log.close() - self.log = open(self.file_name, "w", 0) + def write(self, s): + now = datetime.datetime.now() + self.logged.append((now, s)) + + if self.phase == 0: + self.log.close() + self.log = open(self.file_name, "w", 0) + LogFile.setup(self, game.board, game.players) + + elif self.phase == 1: + for message in self.logged[len(self.logged)-2:]: + self.log.write(str(message[0]) + " : " + message[1] + "\n") - LogFile.setup(self, game.board, game.players) + self.phase = (self.phase + 1) % 2 + + def close(self): + self.log.write("# EOF\n") + self.log.close() class HeadRequest(urllib2.Request):