@cryptotaxi247 / netdata-1 / commits / 1befe22fc

fix squid data parsing

paulfantom committed Jul 13, 2016 at 12:12 UTC 1befe22fc0c2ad540fed96799c7fc39ecc7f76d8
1 file changed +9 -9
python.d/squid.chart.py
+9 -9
@@ -56,22 +56,23 @@ class Service(SocketService):
56 Get data via http request
57 :return: dict
58 """
59 + data = {}
60 try:
60 - raw = self._get_raw_data().split('\n')
61 - if "200 OK" not in raw[0]:
61 + raw = self._get_raw_data().split('\r\n')[-1]
62 + if raw.startswith('<'):
63 return None
63 - data = {}
64 - for row in raw:
64 + for row in raw.split('\n'):
65 if row.startswith(("client", "server.all")):
66 tmp = row.split("=")
67 data[tmp[0].replace('.', '_').strip(' ')] = int(tmp[1])
68 -
69 - if len(data) == 0:
70 - return None
71 - return data
68 except (ValueError, AttributeError):
69 return None
70
71 + if len(data) == 0:
72 + return None
73 + else:
74 + return data
75 +
76 def check(self):
77 """
78 Parse essential configuration, autodetect squid configuration (if needed), and check if data is available
@@ -100,7 +101,6 @@ class Service(SocketService):
101 # return True
102 # else:
103 if True:
103 - self.error("NEED: " + str(self._get_data()))
104 if self._get_data() is not None:
105 return True
106 else: