X-Git-Url: https://git.octo.it/?p=collectd.git;a=blobdiff_plain;f=contrib%2Fcollectd_network.py;h=cb328f2b23a69166036793a6e40a12b96ac74e2e;hp=9af0fb008a72790e48562e7e6440c3bec8c6dd2a;hb=master;hpb=80a66a53838bcf17e513f673f18a61fd1ac647c0 diff --git a/contrib/collectd_network.py b/contrib/collectd_network.py index 9af0fb00..cb328f2b 100644 --- a/contrib/collectd_network.py +++ b/contrib/collectd_network.py @@ -16,11 +16,16 @@ Collectd network protocol implementation. """ -import socket,struct,sys -try: - from io import StringIO -except ImportError: - from cStringIO import StringIO +import socket,struct +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