From a37a47b65bcec5e0c00e33a7d925417a25faff0a Mon Sep 17 00:00:00 2001 From: KeksNino Date: Sat, 18 Oct 2025 22:40:25 +0200 Subject: [PATCH] add update checker file for windows --- core/utils/network/update_checker.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 core/utils/network/update_checker.py diff --git a/core/utils/network/update_checker.py b/core/utils/network/update_checker.py new file mode 100644 index 0000000..479f965 --- /dev/null +++ b/core/utils/network/update_checker.py @@ -0,0 +1,28 @@ +import requests +from core.utils.data.state import state + +def check_for_updates(): + url = f"https://api.github.com/repos/KeksPirates/SoftwareManager/releases" + response = requests.get(url) + + if response.status_code != 200: + print(f"Failed to fetch releases: {response.status_code}") + exit(1) + + releases = response.json() + releases.sort(key=lambda r: r["published_at"], reverse=True) + + latest_release = releases[0] + latest_version = latest_release["name"] + assets = latest_release["assets"] + + if latest_version != state.version: + print(f"New release available: {latest_version}") + if assets: + print("Assets:") + for asset in assets: + print(f" - {asset['name']}: {asset['browser_download_url']}") + return assets, latest_version + else: + print("Already up-to-date.") + return None, None