Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
04ff4dc163 |
@@ -904,16 +904,18 @@ class App(ctk.CTk):
|
|||||||
self.after(0, lambda: self._set_status(msg, T["warn"]))
|
self.after(0, lambda: self._set_status(msg, T["warn"]))
|
||||||
self.after(0, lambda: self.total_bar.set(pct / 100))
|
self.after(0, lambda: self.total_bar.set(pct / 100))
|
||||||
def _go():
|
def _go():
|
||||||
ok = download_and_install_update(rel, progress_callback=_p)
|
ok, msg = download_and_install_update(rel, progress_callback=_p)
|
||||||
self.after(0, lambda: self._upd_fin(ok))
|
self.after(0, lambda: self._upd_fin(ok, msg))
|
||||||
|
import threading
|
||||||
threading.Thread(target=_go, daemon=True).start()
|
threading.Thread(target=_go, daemon=True).start()
|
||||||
|
|
||||||
def _upd_fin(self, ok):
|
def _upd_fin(self, ok, msg=""):
|
||||||
self.update_btn.configure(state="normal", text=" Update prüfen")
|
self.update_btn.configure(state="normal", text=" Update prüfen")
|
||||||
if ok:
|
if ok:
|
||||||
messagebox.showinfo("Update", "Bitte neu starten.")
|
messagebox.showinfo("Update", "Update erfolgreich installiert! Bitte das Programm neu starten.")
|
||||||
else:
|
else:
|
||||||
self._set_status("Update fehlgeschlagen", T["error"])
|
self._set_status("Update fehlgeschlagen", T["error"])
|
||||||
|
messagebox.showerror("Update fehlgeschlagen", msg)
|
||||||
self.after(30, self._activate)
|
self.after(30, self._activate)
|
||||||
|
|
||||||
# =================================================================
|
# =================================================================
|
||||||
|
|||||||
@@ -120,9 +120,10 @@ def download_and_install_update(
|
|||||||
"""
|
"""
|
||||||
download_url = _find_download_url(release)
|
download_url = _find_download_url(release)
|
||||||
if not download_url:
|
if not download_url:
|
||||||
|
msg = f"Asset '{_get_platform_asset_name()}' nicht im Release gefunden."
|
||||||
if progress_callback:
|
if progress_callback:
|
||||||
progress_callback(0, "Kein passendes Asset für dieses Betriebssystem gefunden.")
|
progress_callback(0, msg)
|
||||||
return False
|
return False, msg
|
||||||
|
|
||||||
try:
|
try:
|
||||||
if progress_callback:
|
if progress_callback:
|
||||||
@@ -171,14 +172,15 @@ def download_and_install_update(
|
|||||||
_install_script(extract_dir, project_dir)
|
_install_script(extract_dir, project_dir)
|
||||||
|
|
||||||
if progress_callback:
|
if progress_callback:
|
||||||
progress_callback(100, "Update abgeschlossen! Bitte Programm neu starten.")
|
progress_callback(100, "Update abgeschlossen!")
|
||||||
|
|
||||||
return True
|
return True, "Erfolgreich"
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
msg = f"Fehler beim Update: {e}"
|
||||||
if progress_callback:
|
if progress_callback:
|
||||||
progress_callback(0, f"Fehler: {e}")
|
progress_callback(0, msg)
|
||||||
return False
|
return False, msg
|
||||||
finally:
|
finally:
|
||||||
# Aufräumen (best-effort)
|
# Aufräumen (best-effort)
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user