From c8360d08ca4332eae8f7c6047883aa2918cf4fd7 Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Thu, 14 Aug 2025 21:42:18 +0500 Subject: [PATCH] fix(downloader): Clear cache entry for non-existent file --- portprotonqt/downloader.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/portprotonqt/downloader.py b/portprotonqt/downloader.py index 372fbef..a0fe5e0 100644 --- a/portprotonqt/downloader.py +++ b/portprotonqt/downloader.py @@ -144,14 +144,21 @@ class Downloader(QObject): logger.warning(f"Предыдущая ошибка загрузки для {url}, пропускаем") return None if url in self._cache: - return self._cache[url] + cached_path = self._cache[url] + if os.path.exists(cached_path): + if os.path.abspath(cached_path) == os.path.abspath(local_path): + return cached_path + else: + del self._cache[url] url_lock = self._get_url_lock(url) with url_lock: with self._global_lock: if url in self._last_error: return None if url in self._cache: - return self._cache[url] + cached_path = self._cache[url] + if os.path.exists(cached_path) and os.path.abspath(cached_path) == os.path.abspath(local_path): + return cached_path result = download_with_cache(url, local_path, timeout, self) with self._global_lock: if result: