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)}})