From 50bd2a4303b9f5ed85b3ce5ec83308cb2dac15ae Mon Sep 17 00:00:00 2001 From: Nicolas F Date: Tue, 25 Jun 2019 18:13:57 +0200 Subject: [PATCH] observer: use bytes fp for JSObserver Unbuffered I/O requires a bytes fp, so I guess we now just send utf-8 encoded strings into that instead. Fixes #1596. --- overviewer_core/observer.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/overviewer_core/observer.py b/overviewer_core/observer.py index 267c29b..c1686c2 100644 --- a/overviewer_core/observer.py +++ b/overviewer_core/observer.py @@ -262,11 +262,11 @@ class JSObserver(Observer): "same as the Overviewer output directory" % outputdir) - self.logfile = open(os.path.join(outputdir, "progress.json"), "w+", 0) + self.logfile = open(os.path.join(outputdir, "progress.json"), "wb+", 0) self.json["message"] = "Render starting..." self.json["update"] = self.minrefresh self.json["messageTime"] = time.time() - json.dump(self.json, self.logfile) + self.logfile.write(json.dumps(self.json).encode()) self.logfile.flush() def start(self, max_value): @@ -275,7 +275,7 @@ class JSObserver(Observer): self.json["message"] = self.messages["totalTiles"] % (max_value) self.json["update"] = self.minrefresh self.json["messageTime"] = time.time() - json.dump(self.json, self.logfile) + self.logfile.write(json.dumps(self.json).encode()) self.logfile.flush() self.start_time = time.time() self._set_max_value(max_value) @@ -301,7 +301,7 @@ class JSObserver(Observer): # (until the next render) self.json["update"] = 60000 self.json["messageTime"] = time.time() - json.dump(self.json, self.logfile) + self.logfile.write(json.dumps(self.json).encode()) self.logfile.close() def is_finished(self): @@ -339,7 +339,7 @@ class JSObserver(Observer): self.get_percentage(), str(eta)) self.json["update"] = refresh self.json["messageTime"] = time.time() - json.dump(self.json, self.logfile) + self.logfile.write(json.dumps(self.json).encode()) self.logfile.flush() self.last_update_time = time.time() self.last_update = current_value