From 8ebfed8253d1962aa12fb70a97874dcfa6673200 Mon Sep 17 00:00:00 2001 From: Oliver Date: Fri, 29 May 2026 14:35:18 +0200 Subject: [PATCH] Make update token optional (public repo support) Token is now only added to API header when present. Works without auth on public repos, still supports private repos via token. Co-Authored-By: Claude Sonnet 4.6 --- website_scraper.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/website_scraper.py b/website_scraper.py index 37a8a83..4db3eb8 100644 --- a/website_scraper.py +++ b/website_scraper.py @@ -277,17 +277,19 @@ def _version_tuple(v: str) -> tuple: return (0, 0, 0) -def _check_for_update(token: str): +def _check_for_update(token: str = ""): """ Prüft GitHub Releases auf eine neuere Version. Gibt (version_str, asset_url) zurück oder None. + Token ist optional – bei öffentlichen Repos nicht nötig. """ import urllib.request as _ureq headers = { - "Authorization": f"token {token}", - "Accept": "application/vnd.github.v3+json", - "User-Agent": f"website-scraper/{APP_VERSION}", + "Accept": "application/vnd.github.v3+json", + "User-Agent": f"website-scraper/{APP_VERSION}", } + if token: + headers["Authorization"] = f"token {token}" req = _ureq.Request(f"{GITHUB_API_BASE}/releases/latest", headers=headers) with _ureq.urlopen(req, timeout=8) as resp: data = json.loads(resp.read()) @@ -2287,10 +2289,8 @@ def _open_stats(self): def _check_update(self): """Startet den Update-Check im Hintergrund (kein UI-Block).""" - # Eingetragener Token hat Vorrang; sonst eingebetteter Fallback-Token + # Token optional – bei public Repo nicht nötig; private Repo braucht ihn token = get_api_key("github") or GITHUB_UPDATE_TOKEN - if not token: - return threading.Thread(target=self._check_update_bg, args=(token,), daemon=True).start()