diff --git a/Tools/HeatDownloader/heat_downloader/commands/download.py b/Tools/HeatDownloader/heat_downloader/commands/download.py index 646f3f6..546e0ca 100644 --- a/Tools/HeatDownloader/heat_downloader/commands/download.py +++ b/Tools/HeatDownloader/heat_downloader/commands/download.py @@ -1,7 +1,7 @@ from tqdm import tqdm import requests import os -import time +from time import sleep as time_sleep from heat_downloader import find_heat_releases, try_find_artifact import heat_downloader.utils as utils @@ -28,15 +28,15 @@ def download_latest_heat_release(output_dir: str): if version: utils.print_info(f'Found release version: {version}\n\tTitle: {title}') file_uri = try_find_artifact(version) - file_name = os.path.basename(file_uri) - output_dir = os.path.join(output_dir, file_name) if file_uri: + file_name = os.path.basename(file_uri) + output_dir = os.path.join(output_dir, file_name) _download_artifact(file_uri, output_dir) utils.print_success(f'Artifact downloaded: {output_dir}') return else: - time.sleep(1) - utils.print_info(f'Artifact for version: {version} not found!') + time_sleep(1) # Avoid rate limiting + utils.print_warning(f'Artifact for version: {version} not found!') utils.print_error('No artifact found for any release version') def download_heat_release_version(output_dir: str, version: str): diff --git a/Tools/HeatDownloader/heat_downloader/core.py b/Tools/HeatDownloader/heat_downloader/core.py index 1f2401a..472ec01 100644 --- a/Tools/HeatDownloader/heat_downloader/core.py +++ b/Tools/HeatDownloader/heat_downloader/core.py @@ -2,6 +2,7 @@ import re import requests import heat_downloader.utils as utils +from time import sleep as time_sleep HEAT_CAMPAIGN_ID = 4451021 @@ -37,6 +38,7 @@ def try_find_artifact(version: str) -> str|None: file_uri = f'{ARTIFACT_SERVER}{artifact_name}{suffix}' file_exits = requests.head(file_uri).status_code == 200 if not file_exits: + time_sleep(1) # Avoid rate limiting continue utils.print_info(f'Artifact found: {file_uri}') return file_uri diff --git a/Tools/HeatDownloader/heat_downloader/utils.py b/Tools/HeatDownloader/heat_downloader/utils.py index 96f93f1..fce8eff 100644 --- a/Tools/HeatDownloader/heat_downloader/utils.py +++ b/Tools/HeatDownloader/heat_downloader/utils.py @@ -16,4 +16,7 @@ def print_success(message): print(bcolors.OKGREEN + message + bcolors.ENDC) def print_info(message): - print(bcolors.OKBLUE + "[INFO] " + message + bcolors.ENDC) \ No newline at end of file + print(bcolors.OKBLUE + "[INFO] " + message + bcolors.ENDC) + +def print_warning(message): + print(bcolors.WARNING + "[WARNING] " + message + bcolors.ENDC) \ No newline at end of file