summaryrefslogtreecommitdiffstats
path: root/samloader/versionfetch.py
diff options
context:
space:
mode:
authornlscc <66028747+nlscc@users.noreply.github.com>2021-05-22 00:24:56 +0200
committernlscc <66028747+nlscc@users.noreply.github.com>2021-05-22 00:24:56 +0200
commit2dffa310a144eebe579032e213469d7595277432 (patch)
tree7fe3fe6b95c64ae6648cb78304e6c7962dfd4f3b /samloader/versionfetch.py
parentadd sponsor info (diff)
downloadsamloader-2dffa310a144eebe579032e213469d7595277432.tar
samloader-2dffa310a144eebe579032e213469d7595277432.tar.gz
samloader-2dffa310a144eebe579032e213469d7595277432.tar.bz2
samloader-2dffa310a144eebe579032e213469d7595277432.tar.lz
samloader-2dffa310a144eebe579032e213469d7595277432.tar.xz
samloader-2dffa310a144eebe579032e213469d7595277432.tar.zst
samloader-2dffa310a144eebe579032e213469d7595277432.zip
Diffstat (limited to 'samloader/versionfetch.py')
-rw-r--r--samloader/versionfetch.py25
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)