1
0
Fork 0
terminaltables3/debian/patches/0004-Avoid-writing-bytes-to-stdout.patch

30 lines
1 KiB
Diff
Raw Normal View History

From: Carl Suster <carl@contraflo.ws>
Date: Tue, 12 Nov 2019 14:08:30 +1100
Subject: Avoid writing bytes to stdout
In Python 3, bytes should be written to the underlying buffer object
rather than directly to stdout. This was causing legitimate test
failures.
Forwarded: https://github.com/Robpol86/terminaltables/pull/71
---
terminaltables/terminal_io.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/terminaltables/terminal_io.py b/terminaltables/terminal_io.py
index 8b8c10d..005da1b 100644
--- a/terminaltables/terminal_io.py
+++ b/terminaltables/terminal_io.py
@@ -94,5 +94,10 @@ def set_terminal_title(title, kernel32=None):
return kernel32.SetConsoleTitleW(title) != 0
# Linux/OSX.
- sys.stdout.write(b'\033]0;' + title_bytes + b'\007')
+ set_title = b'\033]0;' + title_bytes + b'\007'
+ if hasattr(sys.stdout, 'buffer'):
+ sys.stdout.buffer.write(set_title)
+ else:
+ text = set_title.decode(sys.stdout.encoding, 'strict')
+ sys.stdout.write(text)
return True