summaryrefslogtreecommitdiffstats
path: root/python.d
diff options
context:
space:
mode:
authorDominik Schloesser <dsc@dosc.net>2017-09-02 12:25:45 +0200
committerDominik Schloesser <dsc@dosc.net>2017-09-02 12:25:45 +0200
commitedb6080edcfa30683f872c52354718a27812e7ea (patch)
tree1c9e0d50eefb260827a00461ef4cc8d4c94aab20 /python.d
parent658e13e292f9ad40863a885b767cfc75599eb51b (diff)
Replace dict comprehension for python 2.6 compatibility
Diffstat (limited to 'python.d')
-rw-r--r--python.d/chrony.chart.py32
1 files changed, 20 insertions, 12 deletions
diff --git a/python.d/chrony.chart.py b/python.d/chrony.chart.py
index 35b276a3a8..6644aa08c4 100644
--- a/python.d/chrony.chart.py
+++ b/python.d/chrony.chart.py
@@ -76,17 +76,25 @@ class Service(ExecutableService):
:return: dict
"""
try:
- chrony_dict = {ln.split(':', 1)[0].strip(): ln.split(':', 1)[1].strip().split(' ')[0]
- for ln in self._get_raw_data()[1:]}
- return {'timediff': int(float(chrony_dict['System time']) * 1e9),
- 'lastoffset': int(float(chrony_dict['Last offset']) * 1e9),
- 'rmsoffset': int(float(chrony_dict['RMS offset']) * 1e9),
- 'rootdelay': int(float(chrony_dict['Root delay']) * 1e9),
- 'rootdispersion': int(float(chrony_dict['Root dispersion']) * 1e9),
- 'skew': int(float(chrony_dict['Skew']) * 1e3),
- 'frequency': int(float(chrony_dict['Frequency']) * 1e3),
- 'residualfreq': int(float(chrony_dict['Residual freq']) * 1e3)
- }
+ lines = self._get_raw_data()
+ if lines is not None:
+ chrony_dict = {}
+ for line in lines:
+ lparts = line.split(':', 1)
+ value = lparts[1].strip().split(' ')[0]
+ chrony_dict[lparts[0].strip()] = value
+ return {'timediff': int(float(chrony_dict['System time']) * 1e9),
+ 'lastoffset': int(float(chrony_dict['Last offset']) * 1e9),
+ 'rmsoffset': int(float(chrony_dict['RMS offset']) * 1e9),
+ 'rootdelay': int(float(chrony_dict['Root delay']) * 1e9),
+ 'rootdispersion': int(float(chrony_dict['Root dispersion']) * 1e9),
+ 'skew': int(float(chrony_dict['Skew']) * 1e3),
+ 'frequency': int(float(chrony_dict['Frequency']) * 1e3),
+ 'residualfreq': int(float(chrony_dict['Residual freq']) * 1e3)
+ }
+ else:
+ self.error("No valid chronyc output")
+ return None
except (ValueError, AttributeError):
- self.error("Chrony data parser exception")
+ self.error("Chronyc data parser exception")
return None