From e89e32ca79802565538283c3d8134cd4cfe8a3a1 Mon Sep 17 00:00:00 2001 From: deexsed Date: Fri, 27 Mar 2026 10:44:18 +0300 Subject: [PATCH] Update update_check.py --- utils/update_check.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/utils/update_check.py b/utils/update_check.py index ae65ff8..026dd41 100644 --- a/utils/update_check.py +++ b/utils/update_check.py @@ -133,13 +133,18 @@ def fetch_latest_release( headers=headers, method="GET", ) - with urlopen(req, timeout=timeout) as resp: - code = getattr(resp, "status", None) or resp.getcode() - new_etag = resp.headers.get("ETag") - if code == 304: + try: + with urlopen(req, timeout=timeout) as resp: + code = getattr(resp, "status", None) or resp.getcode() + new_etag = resp.headers.get("ETag") + raw = resp.read().decode("utf-8", errors="replace") + return json.loads(raw), new_etag, int(code) + except HTTPError as e: + if e.code == 304: + hdrs = e.headers + new_etag = hdrs.get("ETag") if hdrs else None return None, new_etag or etag, 304 - raw = resp.read().decode("utf-8", errors="replace") - return json.loads(raw), new_etag, int(code) + raise def run_check(current_version: str) -> None: