blob: cf364637cd8a32c8b83bc0244e0de4acc2a22b64 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Author: Carl Suster <carl@contraflo.ws>
Description: 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.
diff -Naurp terminaltables.orig/terminaltables/terminal_io.py terminaltables/terminaltables/terminal_io.py
--- terminaltables.orig/terminaltables/terminal_io.py
+++ terminaltables/terminaltables/terminal_io.py
@@ -94,5 +94,10 @@ def set_terminal_title(title, kernel32=N
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
|