X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=contrib%2Fcollectd_network.py;h=809f19dee65d2ec89a030a762bacb5e98041d8aa;hb=70686d01c986c39255e534fae0baa645227c3028;hp=9af0fb008a72790e48562e7e6440c3bec8c6dd2a;hpb=b61a03b05c1f4040a6599334b65141aa3bd134f5;p=collectd.git diff --git a/contrib/collectd_network.py b/contrib/collectd_network.py index 9af0fb00..809f19de 100644 --- a/contrib/collectd_network.py +++ b/contrib/collectd_network.py @@ -17,10 +17,15 @@ Collectd network protocol implementation. """ 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 @@ -76,7 +81,7 @@ def decode_network_values(ptype, plen, buf): assert double.size == number.size result = [] - for dstype in buf[header.size+short.size:off]: + for dstype in [ord(x) for x in buf[header.size+short.size:off]]: if dstype == DS_TYPE_COUNTER: result.append((dstype, number.unpack_from(buf, off)[0])) off += valskip