@cryptotaxi247 / netdata-1 / commits / 9c1da5d42

smartd_plugin: python 2.6 compatibility fix

Ilya committed Feb 20, 2017 at 22:11 UTC 9c1da5d42702306a1b85a3b281f0dd3356c4ba66
1 file changed +6 -6
python.d/smartd_log.chart.py
+6 -6
@@ -113,7 +113,7 @@ class Service(SimpleService):
113 if not disks:
114 self.error('Can\'t locate any smartd log files in %s' % self.log_path)
115 return False
116 -
116 +
117 # List of namedtuples to track smartd log file size
118 self.disks = [NAMED_DISKS(name=disks[i], size=0, number=i) for i in range(len(disks))]
119
@@ -138,7 +138,7 @@ class Service(SimpleService):
138 break
139 result = f.readline()
140
141 - result = result.decode(encoding='utf-8')
141 + result = result.decode()
142 result = self.regex.findall(result)
143
144 queue.put([basename(disk), result])
@@ -147,7 +147,7 @@ class Service(SimpleService):
147 threads, result = list(), list()
148 queue = Queue()
149 to_netdata = dict()
150 -
150 +
151 # If the size has not changed there is no reason to poll log files.
152 disks = [disk for disk in self.disks if self.size_changed(disk)]
153 if disks:
@@ -166,7 +166,7 @@ class Service(SimpleService):
166 for elem in result:
167 for a, n, r in elem[1]:
168 to_netdata.update({'_'.join([elem[0], a]): r if self.raw_values else n})
169 -
169 +
170 self.previous_data.update(to_netdata)
171
172 return to_netdata or None
@@ -185,7 +185,7 @@ class Service(SimpleService):
185 except OSError:
186 # Remove unreadable/nonexisting log files from list of disks and previous_data
187 self.disks.remove(disk)
188 - self.previous_data = {k: v for k, v in self.previous_data.items() if basename(disk.name) not in k}
188 + self.previous_data = dict([(k, v) for k, v in self.previous_data.items() if basename(disk.name) not in k])
189 return False
190
191 def create_charts(self):
@@ -206,7 +206,7 @@ class Service(SimpleService):
206 self.definitions = dict()
207 units = 'raw' if self.raw_values else 'normalized'
208
209 - for k, v in {k: v for k, v in SMART_ATTR.items() if k in ORDER}.items():
209 + for k, v in dict([(k, v) for k, v in SMART_ATTR.items() if k in ORDER]).items():
210 self.definitions.update({''.join(['attrid', k]): {
211 'options': [None, v, units, v, 'smartd.attrid' + k, 'line'],
212 'lines': create_lines(k)}})