feat: auto update

This commit is contained in:
aclist committed 2026-05-18 20:11:51 +09:00
1 parent 80c58be3be
commit c063059c19
10 files changed
+98 -27

No files matched your search

+11 -9
View File
@@ -9,28 +9,30 @@ from dzgui.const.endpoints import GITHUB_RELEASES, CODEBERG_RELEASES
logger = logging.getLogger(APP_NAME)
def get_latest_release() -> str | None:
def get_latest_release() -> tuple[str, str] | tuple[None, None]:
tag = None
url = None
# TODO: check order; github often has gateway errors
for url in [GITHUB_RELEASES, CODEBERG_RELEASES]:
try:
res = requests.get(url, timeout=REQUEST_TIMEOUT)
if res.status_code == 200:
tag = res.json()["tag_name"]
tag = str(res.json()["tag_name"])
url = str(res.json()["assets"][0]["browser_download_url"])
break
except Exception as e:
logger.critical(e)
continue
return tag
return tag, url
def check_updates(version: str) -> bool:
def check_updates(version: str) -> str | None:
try:
latest = get_latest_release()
latest, url = get_latest_release()
if latest is None:
return False
return None
if Version(version) >= Version(latest):
return False
return True
return None
return url
except Exception:
return False
return None