From 346990536553dd76419c2ebfaed11a1be85b4512 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 2 Dec 2020 15:15:17 +0200 Subject: [PATCH] Decode subprocess output only for byte-strings --- platformio/proc.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/platformio/proc.py b/platformio/proc.py index fe319653..8db7153e 100644 --- a/platformio/proc.py +++ b/platformio/proc.py @@ -20,6 +20,7 @@ from threading import Thread from platformio import exception from platformio.compat import ( + PY2, WINDOWS, get_filesystem_encoding, get_locale_encoding, @@ -125,7 +126,9 @@ def exec_command(*args, **kwargs): result[s[3:]] = kwargs[s].get_buffer() for k, v in result.items(): - if isinstance(result[k], bytes): + if PY2 and isinstance(v, unicode): # pylint: disable=undefined-variable + result[k] = v.encode() + elif not PY2 and isinstance(result[k], bytes): try: result[k] = result[k].decode( get_locale_encoding() or get_filesystem_encoding()