From 710cd3859101806dfae9c623fe9c103fa3d3685b Mon Sep 17 00:00:00 2001 From: Maurits van Mastrigt Date: Mon, 3 Mar 2014 15:21:53 +0100 Subject: [PATCH] Fix UnicodeEncodeErrors in output of 'build', 'run' and 'up' Squashed version of #125. Closes #112. --- fig/cli/log_printer.py | 2 +- fig/cli/socketclient.py | 2 +- fig/service.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fig/cli/log_printer.py b/fig/cli/log_printer.py index 0fe3215e6..5efce1d10 100644 --- a/fig/cli/log_printer.py +++ b/fig/cli/log_printer.py @@ -18,7 +18,7 @@ class LogPrinter(object): def run(self): mux = Multiplexer(self.generators) for line in mux.loop(): - sys.stdout.write(line) + sys.stdout.write(line.encode(sys.__stdout__.encoding or 'utf8')) def _make_log_generators(self): color_fns = cycle(colors.rainbow()) diff --git a/fig/cli/socketclient.py b/fig/cli/socketclient.py index 6cc1f2c57..53e3bf790 100644 --- a/fig/cli/socketclient.py +++ b/fig/cli/socketclient.py @@ -81,7 +81,7 @@ class SocketClient: chunk = socket.recv(4096) if chunk: - stream.write(chunk) + stream.write(chunk.encode(stream.encoding or 'utf8')) stream.flush() else: break diff --git a/fig/service.py b/fig/service.py index 51ec004ba..cf600dc19 100644 --- a/fig/service.py +++ b/fig/service.py @@ -295,7 +295,7 @@ class Service(object): match = re.search(r'Successfully built ([0-9a-f]+)', line) if match: image_id = match.group(1) - sys.stdout.write(line) + sys.stdout.write(line.encode(sys.__stdout__.encoding or 'utf8')) if image_id is None: raise BuildError()