From c0ddb7d8a8db1e303433e8b4dbed2dd87b345849 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Fri, 28 Jan 2022 16:16:26 +0100 Subject: [PATCH] Update firmware download method --- rnodeconf/rnodeconf.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/rnodeconf/rnodeconf.py b/rnodeconf/rnodeconf.py index 0d7d2ce..b045d45 100755 --- a/rnodeconf/rnodeconf.py +++ b/rnodeconf/rnodeconf.py @@ -750,6 +750,19 @@ class RNode(): else: raise IOError("Got invalid response while detecting device") +firmware_version_url = "https://unsigned.io/firmware/latest/?variant=" +def download_firmware(fw_filename): + try: + urlretrieve(firmware_update_url+fw_filename, "update/"+fw_filename) + try: + urlretrieve(firmware_version_url+fw_filename, "update/"+fw_filename+".version") + except Exception as e: + pass + except Exception as e: + RNS.log("Could not download required firmware file. The contained exception was:") + RNS.log(str(e)) + exit() + def rnode_open_serial(port): import serial return serial.Serial( @@ -1188,7 +1201,7 @@ def main(): try: RNS.log("Downloading latest frimware from GitHub...") os.makedirs("./update", exist_ok=True) - urlretrieve(firmware_update_url+fw_filename, "update/"+fw_filename) + download_firmware(fw_filename) RNS.log("Firmware download completed") except Exception as e: RNS.log("Could not download firmware package") @@ -1509,7 +1522,7 @@ def main(): try: RNS.log("Downloading latest firmware from GitHub...") os.makedirs("./update", exist_ok=True) - urlretrieve(firmware_update_url+fw_filename, "update/"+fw_filename) + download_firmware(fw_filename) RNS.log("Firmware download completed") if fw_filename.endswith(".zip"): RNS.log("Extracting firmware...")