From: Sam Moore Date: Wed, 30 Jan 2013 10:08:45 +0000 (+0800) Subject: Try again X-Git-Url: https://git.ucc.asn.au/?a=commitdiff_plain;h=0325af7e6f9c20b549efa84754b4a4a206fe66cc;p=progcomp2013.git Try again --- diff --git a/qchess/qchess.py b/qchess/qchess.py index 32e2c60..3090373 100755 --- a/qchess/qchess.py +++ b/qchess/qchess.py @@ -1229,13 +1229,11 @@ class HttpLog(LogFile): LogFile.__init__(self, file_name) self.file_name = file_name - def write(self, s): + def prelog(self): self.log.close() self.log = open(self.file_name, "w", 0) LogFile.setup(self, game.board, game.players) - - LogFile.write(self, s) class HeadRequest(urllib2.Request): @@ -1356,12 +1354,15 @@ class GameThread(StoppableThread): if self.stopped(): break + if isinstance(log_file, HttpLog): + log_file.prelog() + self.board.update_move(x, y, x2, y2) result = str(x) + " " + str(y) + " -> " + str(x2) + " " + str(y2) for p2 in self.players: p2.update(result) # Inform players of what happened - log(result) + log(result) if isinstance(graphics, GraphicsThread): with graphics.lock: @@ -1407,7 +1408,8 @@ class GameThread(StoppableThread): log(self.final_result) - graphics.stop() + if isinstance(graphics, GraphicsThread): + graphics.stop() # A thread that replays a log file @@ -2330,4 +2332,4 @@ if __name__ == "__main__": sys.exit(102) # --- main.py --- # -# EOF - created from make on Wed Jan 30 17:20:26 WST 2013 +# EOF - created from make on Wed Jan 30 18:01:41 WST 2013 diff --git a/qchess/src/game.py b/qchess/src/game.py index b3c7dd3..a62e280 100644 --- a/qchess/src/game.py +++ b/qchess/src/game.py @@ -71,12 +71,15 @@ class GameThread(StoppableThread): if self.stopped(): break + if isinstance(log_file, HttpLog): + log_file.prelog() + self.board.update_move(x, y, x2, y2) result = str(x) + " " + str(y) + " -> " + str(x2) + " " + str(y2) for p2 in self.players: p2.update(result) # Inform players of what happened - log(result) + log(result) if isinstance(graphics, GraphicsThread): with graphics.lock: @@ -122,7 +125,8 @@ class GameThread(StoppableThread): log(self.final_result) - graphics.stop() + if isinstance(graphics, GraphicsThread): + graphics.stop() # A thread that replays a log file diff --git a/qchess/src/log.py b/qchess/src/log.py index 981e936..59e23e1 100644 --- a/qchess/src/log.py +++ b/qchess/src/log.py @@ -28,13 +28,11 @@ class HttpLog(LogFile): LogFile.__init__(self, file_name) self.file_name = file_name - def write(self, s): + def prelog(self): self.log.close() self.log = open(self.file_name, "w", 0) LogFile.setup(self, game.board, game.players) - - LogFile.write(self, s) class HeadRequest(urllib2.Request):