Code

fixes StringIO unicode handling in python 2.7
authorAlexander Else <alexander.else@team.telstra.com>
Mon, 1 Jul 2013 07:02:19 +0000 (17:02 +1000)
committerAlexander Else <alexander.else@team.telstra.com>
Mon, 1 Jul 2013 07:02:19 +0000 (17:02 +1000)
contrib/collectd_network.py

index 9af0fb008a72790e48562e7e6440c3bec8c6dd2a..9c1e9fb1ba7aad1877ba90bb3cb5bf86315d1d06 100644 (file)
@@ -17,10 +17,15 @@ Collectd network protocol implementation.
 """
 
 import socket,struct,sys
 """
 
 import socket,struct,sys
-try:
-  from io import StringIO
-except ImportError:
-  from cStringIO import StringIO
+import platform
+if platform.python_version() < '2.8.0':
+    # Python 2.7 and below io.StringIO does not like unicode
+    from StringIO import StringIO
+else:
+    try:
+      from io import StringIO
+    except ImportError:
+      from cStringIO import StringIO
 
 from datetime import datetime
 from copy import deepcopy
 
 from datetime import datetime
 from copy import deepcopy