diff options
Diffstat (limited to 'samloader/versionfetch.py')
-rw-r--r-- | samloader/versionfetch.py | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/samloader/versionfetch.py b/samloader/versionfetch.py index b8f150c..e758867 100644 --- a/samloader/versionfetch.py +++ b/samloader/versionfetch.py @@ -6,6 +6,15 @@ import xml.etree.ElementTree as ET import requests +def normalizevercode(vercode: str) -> str: + """ Normalize a version code to four-part form. """ + ver = vercode.split("/") + if len(ver) == 3: + ver.append(ver[0]) + if ver[2] == "": + ver[2] = ver[0] + return "/".join(ver) + 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/" \ @@ -15,10 +24,4 @@ def getlatestver(model: str, region: str) -> str: vercode = root.find("./firmware/version/latest").text if vercode is None: raise Exception("No latest firmware found") - # Normalize retrieved version - ver = vercode.split("/") - if len(ver) == 3: - ver.append(ver[0]) - if ver[2] == "": - ver[2] = ver[0] - return "/".join(ver) + return normalizevercode(vercode) |