diff options
Diffstat (limited to 'samloader/versionfetch.py')
-rw-r--r-- | samloader/versionfetch.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/samloader/versionfetch.py b/samloader/versionfetch.py index ff14075..b8f150c 100644 --- a/samloader/versionfetch.py +++ b/samloader/versionfetch.py @@ -1,21 +1,24 @@ # SPDX-License-Identifier: GPL-3.0+ # Copyright (C) 2020 nlscc -# Get the latest firmware version for a device. +""" Get the latest firmware version for a device. """ import xml.etree.ElementTree as ET import requests -def getlatestver(model, region): - r = requests.get("https://fota-cloud-dn.ospserver.net/firmware/" + region + "/" + model + "/version.xml") - r.raise_for_status() - root = ET.fromstring(r.text) +def getlatestver(model: str, region: str) -> str: + """ Get the latest firmware version code for a model and region. """ + req = requests.get("https://fota-cloud-dn.ospserver.net/firmware/" \ + + region + "/" + model + "/version.xml") + req.raise_for_status() + root = ET.fromstring(req.text) vercode = root.find("./firmware/version/latest").text if vercode is None: raise Exception("No latest firmware found") - vc = vercode.split("/") - if len(vc) == 3: - vc.append(vc[0]) - if vc[2] == "": - vc[2] = vc[0] - return "/".join(vc) + # Normalize retrieved version + ver = vercode.split("/") + if len(ver) == 3: + ver.append(ver[0]) + if ver[2] == "": + ver[2] = ver[0] + return "/".join(ver) |