From fdd0bed569901cb020a7d9a589cb7d61b52a998b Mon Sep 17 00:00:00 2001 From: Leonard Penzer <leonard@penzer.de> Date: Sat, 13 Jun 2020 09:55:45 +0000 Subject: [PATCH] use raw.json instead of nodesdb.json Migrate to raw.json from Yanic for upcoming Alfred shutdown --- update_checker.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/update_checker.py b/update_checker.py index 9aa5134..639cd0c 100755 --- a/update_checker.py +++ b/update_checker.py @@ -12,9 +12,10 @@ MAC_URL = 'http://macvendors.co/api/%s' def getHardwareModelFromEntry(d): hardware_model = "UNKNOWN" if d != None: - if "hardware" in d: - if "model" in d["hardware"]: - hardware_model = d["hardware"]["model"] + if "nodeinfo" in d: + if "hardware" in d: + if "model" in d["hardware"]: + hardware_model = d["hardware"]["model"] return hardware_model def ipv62mac(ipv6): @@ -104,11 +105,13 @@ for download in allFirmwareDownloads: mac = ipv62mac(r.ipv6) - if mac in data: - d = data[mac] - currentRelease = d["software"]["firmware"]["release"] - status = d["status"] - hostname = d["hostname"] + nodes_with_mac = [node for node in data["nodes"] if node["nodeinfo"]["network"]["mac"] == mac] + + if len(nodes_with_mac) == 1: + d = nodes_with_mac[0] + currentRelease = d["nodeinfo"]["software"]["firmware"]["release"] + status = d["online"] + hostname = d["nodeinfo"]["hostname"] hardware_model = getHardwareModelFromEntry(d) if currentRelease < r.release: print("%s (%s) %s -> %s Segment %i %s status %s @ %s" % (mac, hostname, currentRelease, r.release, r.segment, hardware_model, status, r.date)) -- GitLab