From a0df0b3602158300ea1126aff9c77c48c90c9ce5 Mon Sep 17 00:00:00 2001 From: Q-ModifiedJ <51080705+Q-ModifiedJ@users.noreply.github.com> Date: Fri, 14 Jul 2023 21:37:55 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DPython=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E5=99=A8=E4=B8=AD=E9=87=8D=E8=AF=95=E6=AC=A1=E6=95=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原代码中重试次数超过2后失效 修改后,重试次数将在所有备用下载站间均匀分配 --- src/Python/asst/__init__.py | 2 +- src/Python/asst/updater.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Python/asst/__init__.py b/src/Python/asst/__init__.py index 1e6cae0939..9bde90e41c 100644 --- a/src/Python/asst/__init__.py +++ b/src/Python/asst/__init__.py @@ -1 +1 @@ -__all__ = ['asst', 'updater', 'utils'] +__all__ = ['asst', 'emulator', 'updater', 'utils'] diff --git a/src/Python/asst/updater.py b/src/Python/asst/updater.py index 962cc925b1..ead7f4fd23 100644 --- a/src/Python/asst/updater.py +++ b/src/Python/asst/updater.py @@ -230,14 +230,15 @@ class Updater: for i in range(max_retry): url = self.assets_object['browser_download_url'] file = os.path.join(self.path, url.split('/')[-1]) - if i < 2: - url = url.replace(replace_list[i][0], replace_list[i][1]) - try: - Updater.custom_print(f'开始下载更新包,URL:{url}') - request.urlretrieve(url, file) - break - except (HTTPError, URLError) as e: - Updater.custom_print(e) + + replace_attempt = replace_list[i % len(replace_list)] + url = url.replace(replace_attempt[0], replace_attempt[1]) + try: + Updater.custom_print(f'开始下载更新包,URL:{url}') + request.urlretrieve(url, file) + break + except (HTTPError, URLError) as e: + Updater.custom_print(e) # 解压 Updater.custom_print('开始安装更新,请不要关闭')