diff --git a/src/core/interface/gui.py b/src/core/interface/gui.py index 8ce468d..06b3c77 100644 --- a/src/core/interface/gui.py +++ b/src/core/interface/gui.py @@ -159,6 +159,12 @@ def _download_update(assets): filename = asset["name"] setup_hash = asset["hash"] url = asset["url"] + break + + if not filename: + consoleLog("Error: No Windows installer found in release assets") + return + installer_path = os.path.join(tempfile.gettempdir(), filename) progress = QtWidgets.QProgressDialog("Downloading installer...", None, 0, 0) progress.setWindowTitle("Updating") diff --git a/src/core/utils/network/update_checker.py b/src/core/utils/network/update_checker.py index 6c38519..700af59 100644 --- a/src/core/utils/network/update_checker.py +++ b/src/core/utils/network/update_checker.py @@ -4,7 +4,12 @@ from core.utils.logging.logs import consoleLog def get_updates(): url = f"https://api.github.com/repos/KeksPirates/SoftwareManager/releases/latest" - response = requests.get(url, timeout=15) + + try: + response = requests.get(url, timeout=15) + except requests.RequestException as e: + consoleLog(f"Failed to fetch releases: {e}") + return None if response.status_code != 200: consoleLog(f"Failed to fetch releases: {response.status_code}") @@ -29,7 +34,7 @@ def get_updates(): hash=asset.get('digest') )) return release_assets - else: + else: return None else: consoleLog("Already up-to-date.")