input alfred: unify nodeinfo and stats datatypes
parent
e54e7467fc
commit
446bc98403
|
@ -7,12 +7,26 @@ class Input:
|
||||||
|
|
||||||
def get_data(self, nodedb):
|
def get_data(self, nodedb):
|
||||||
"""Add data from alfred to the supplied nodedb"""
|
"""Add data from alfred to the supplied nodedb"""
|
||||||
|
# get nodeinfo
|
||||||
output = subprocess.check_output([
|
output = subprocess.check_output([
|
||||||
"alfred-json",
|
"alfred-json",
|
||||||
"-r", str(self.request_data_type),
|
"-r", str(self.request_data_type),
|
||||||
"-f", "json",
|
"-f", "json",
|
||||||
])
|
])
|
||||||
alfred_data = json.loads(output.decode("utf-8"))
|
nodeinfo = json.loads(output.decode("utf-8"))
|
||||||
|
|
||||||
for mac, node in alfred_data.items():
|
# get statistics
|
||||||
|
output = subprocess.check_output([
|
||||||
|
"alfred-json",
|
||||||
|
"-r", str(self.request_data_type+1),
|
||||||
|
"-f", "json",
|
||||||
|
])
|
||||||
|
statistics = json.loads(output.decode("utf-8"))
|
||||||
|
|
||||||
|
# merge statistics into nodeinfo to be compatible with earlier versions
|
||||||
|
for mac, node in statistics.items():
|
||||||
|
if mac in nodeinfo:
|
||||||
|
nodeinfo[mac]['statistics'] = statistics[mac]
|
||||||
|
|
||||||
|
for mac, node in nodeinfo.items():
|
||||||
nodedb.add_or_update([mac], node)
|
nodedb.add_or_update([mac], node)
|
||||||
|
|
Loading…
Reference in New Issue