Handle possible issue on Python 2.x when writing to thread buffer

The problem happens when value has type "unicode" that shouldn't be decoded
This commit is contained in:
Valerii Koval
2020-05-22 14:17:17 +03:00
parent e2c5a3c498
commit 32cb0d6e4d

View File

@ -51,8 +51,10 @@ class MultiThreadingStdStream(object):
def write(self, value):
thread_id = thread_get_ident()
self._ensure_thread_buffer(thread_id)
if PY2 and isinstance(value, unicode):
value = value.encode()
return self._buffers[thread_id].write(
value.decode() if not PY2 and is_bytes(value) else value
value.decode() if is_bytes(value) else value
)
def get_value_and_reset(self):