diff --git a/fcco_converter/gui.py b/fcco_converter/gui.py index ec9c623..ff8da02 100644 --- a/fcco_converter/gui.py +++ b/fcco_converter/gui.py @@ -841,25 +841,6 @@ class App(ctk.CTk): if not IS_MACOS: w.after(200, lambda: w.grab_set()) - def check_updates(self, manual=False): - import threading - - def _do_check(): - try: - has_upd, ver, url = check_for_updates() - if has_upd: - self.after(0, lambda: self._prompt_update(ver, url)) - elif manual: - self.after(0, lambda: messagebox.showinfo("Updates", "Du bist auf der neuesten Version!")) - except Exception as e: - if manual: - self.after(0, lambda: messagebox.showerror("Fehler", f"Fehler bei Update-Prüfung:\n{e}")) - - if manual: - self.after(30, self._activate) - - threading.Thread(target=_do_check, daemon=True).start() - def _save_s(self, wg, win): try: th = int(wg["threads"].get()) diff --git a/fcco_converter/updater.py b/fcco_converter/updater.py index 3202ace..6d69646 100644 --- a/fcco_converter/updater.py +++ b/fcco_converter/updater.py @@ -51,11 +51,11 @@ def _parse_version(v: str) -> list[int]: return parts -def check_for_updates() -> tuple[bool, str, str]: +def check_for_updates() -> dict | None: """Prüft, ob auf Gitea ein neues Release (nach SemVer) vorliegt. Returns: - (has_update, new_version_string, asset_download_url) + Das Release-Dict (von Gitea) wenn ein Update verfügbar ist, sonst None. """ try: req = Request(RELEASES_URL, headers={'User-Agent': 'fcco-Updater/1.0'}) @@ -63,7 +63,7 @@ def check_for_updates() -> tuple[bool, str, str]: data = json.loads(resp.read().decode('utf-8')) if not data: - return False, "", "" + return None # Gitea gibt Releases sortiert zurück, 0 = neuestes release_info = data[0] @@ -74,18 +74,12 @@ def check_for_updates() -> tuple[bool, str, str]: # Intelligenter Versions-Vergleich if _parse_version(latest_version) > _parse_version(CURRENT_VERSION): - # Finde die passende Zip-Datei - expected_asset = _get_platform_asset_name() - for asset in release_info.get("assets", []): - if asset.get("name") == expected_asset: - return True, latest_version, asset.get("browser_download_url", "") - - return False, "", "" + return release_info - return False, "", "" + return None except Exception as e: print(f"Update Check Error: {e}") - return False, "", "" + return None def _get_platform_asset_name() -> str: