mirror of
https://github.com/KeksPirates/SoftwareManager.git
synced 2026-08-03 17:39:42 +02:00
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
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 state.version == "dev":
|
|
if state.debug:
|
|
print("Dev release detected, skipping version check")
|
|
return None, None
|
|
elif latest_version != state.version:
|
|
if state.debug:
|
|
print(f"New release available: {latest_version}")
|
|
if assets:
|
|
if state.debug:
|
|
print("Assets:")
|
|
for asset in assets:
|
|
print(f" - {asset['name']}: {asset['browser_download_url']}")
|
|
return assets, latest_version
|
|
else:
|
|
if state.debug:
|
|
print("Already up-to-date.")
|
|
return None, None
|