summaryrefslogtreecommitdiff
path: root/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils.py')
-rw-r--r--utils.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/utils.py b/utils.py
new file mode 100644
index 0000000..bc312ed
--- /dev/null
+++ b/utils.py
@@ -0,0 +1,32 @@
+import sys
+
+if sys.version_info.major == 2:
+ def is_python_v2():
+ return True
+
+ def to_unicode(buf):
+ if type(buf) is unicode:
+ return buf
+ return buf.decode("utf-8")
+
+ class Encoded:
+ def __init__(self, stream):
+ self.stream = stream
+
+ def write(self, msg):
+ if type(msg) is unicode:
+ self.stream.write(msg.encode("utf-8"))
+ else:
+ self.stream.write(msg)
+
+ def __getattr__(self, attr):
+ return getattr(self.stream, attr)
+
+ sys.stdout = Encoded(sys.stdout)
+ sys.stderr = Encoded(sys.stderr)
+else:
+ def is_python_v2():
+ return False
+
+ def to_unicode(buf):
+ return buf