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