summaryrefslogtreecommitdiffstats
path: root/samloader/versionfetch.py
blob: ff140758348db4807f631de6685bb88c6f2c2f6e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# SPDX-License-Identifier: GPL-3.0+
# Copyright (C) 2020 nlscc

# 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)
    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)