Try again
authorSam Moore <matches@ucc.asn.au>
Wed, 30 Jan 2013 10:08:45 +0000 (18:08 +0800)
committerSam Moore <matches@ucc.asn.au>
Wed, 30 Jan 2013 10:08:45 +0000 (18:08 +0800)
qchess/qchess.py
qchess/src/game.py
qchess/src/log.py

index 32e2c60..3090373 100755 (executable)
@@ -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
index b3c7dd3..a62e280 100644 (file)
@@ -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
index 981e936..59e23e1 100644 (file)
@@ -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):

UCC git Repository :: git.ucc.asn.au