@cryptotaxi247 / netdata-1 / commits / edb6080ed

Replace dict comprehension for python 2.6 compatibility

Dominik Schloesser committed Sep 2, 2017 at 12:25 UTC edb6080edcfa30683f872c52354718a27812e7ea
1 file changed +20 -12
python.d/chrony.chart.py
+20 -12
@@ -76,17 +76,25 @@ class Service(ExecutableService):
76 :return: dict
77 """
78 try:
79 - chrony_dict = {ln.split(':', 1)[0].strip(): ln.split(':', 1)[1].strip().split(' ')[0]
80 - for ln in self._get_raw_data()[1:]}
81 - return {'timediff': int(float(chrony_dict['System time']) * 1e9),
82 - 'lastoffset': int(float(chrony_dict['Last offset']) * 1e9),
83 - 'rmsoffset': int(float(chrony_dict['RMS offset']) * 1e9),
84 - 'rootdelay': int(float(chrony_dict['Root delay']) * 1e9),
85 - 'rootdispersion': int(float(chrony_dict['Root dispersion']) * 1e9),
86 - 'skew': int(float(chrony_dict['Skew']) * 1e3),
87 - 'frequency': int(float(chrony_dict['Frequency']) * 1e3),
88 - 'residualfreq': int(float(chrony_dict['Residual freq']) * 1e3)
89 - }
79 + lines = self._get_raw_data()
80 + if lines is not None:
81 + chrony_dict = {}
82 + for line in lines:
83 + lparts = line.split(':', 1)
84 + value = lparts[1].strip().split(' ')[0]
85 + chrony_dict[lparts[0].strip()] = value
86 + return {'timediff': int(float(chrony_dict['System time']) * 1e9),
87 + 'lastoffset': int(float(chrony_dict['Last offset']) * 1e9),
88 + 'rmsoffset': int(float(chrony_dict['RMS offset']) * 1e9),
89 + 'rootdelay': int(float(chrony_dict['Root delay']) * 1e9),
90 + 'rootdispersion': int(float(chrony_dict['Root dispersion']) * 1e9),
91 + 'skew': int(float(chrony_dict['Skew']) * 1e3),
92 + 'frequency': int(float(chrony_dict['Frequency']) * 1e3),
93 + 'residualfreq': int(float(chrony_dict['Residual freq']) * 1e3)
94 + }
95 + else:
96 + self.error("No valid chronyc output")
97 + return None
98 except (ValueError, AttributeError):
91 - self.error("Chrony data parser exception")
99 + self.error("Chronyc data parser exception")
100 return None