summaryrefslogtreecommitdiffstats
path: root/debian/patches/0004-Avoid-writing-bytes-to-stdout.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0004-Avoid-writing-bytes-to-stdout.patch')
-rw-r--r--debian/patches/0004-Avoid-writing-bytes-to-stdout.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/debian/patches/0004-Avoid-writing-bytes-to-stdout.patch b/debian/patches/0004-Avoid-writing-bytes-to-stdout.patch
new file mode 100644
index 0000000..70690cb
--- /dev/null
+++ b/debian/patches/0004-Avoid-writing-bytes-to-stdout.patch
@@ -0,0 +1,29 @@
+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