From 58e68121c92bc32792e662470bd89c44a2df89b5 Mon Sep 17 00:00:00 2001 From: McModknower Date: Sat, 22 Nov 2025 16:06:52 +0100 Subject: [PATCH] Collect individual errors during downloading of Fabric versions. --- updateFabric.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/updateFabric.py b/updateFabric.py index 925fc0b..f958d13 100755 --- a/updateFabric.py +++ b/updateFabric.py @@ -8,6 +8,8 @@ from cachecontrol.caches import FileCache +import sys + forever_cache = FileCache('http_cache', forever=True) sess = CacheControl(requests.Session(), forever_cache) @@ -66,16 +68,31 @@ def compute_jar_file(path, url): mkdirs("upstream/fabric/loader-installer-json") mkdirs("upstream/fabric/jars") +excs = [] + # get the version list for each component we are interested in for component in ["intermediary", "loader"]: index = get_json_file("upstream/fabric/meta-v2/" + component + ".json", "https://meta.fabricmc.net/v2/versions/" + component) for it in index: jarMavenUrl = get_maven_url(it["maven"], "https://maven.fabricmc.net/", ".jar") - compute_jar_file("upstream/fabric/jars/" + it["maven"].replace(":", "."), jarMavenUrl) + try: + compute_jar_file("upstream/fabric/jars/" + it["maven"].replace(":", "."), jarMavenUrl) + except: + e = sys.exception() + e.add_note(f'for jarMavenUrl={jarMavenUrl}') + excs.append(e) # for each loader, download installer JSON file from maven with open("upstream/fabric/meta-v2/loader.json", 'r', encoding='utf-8') as loaderVersionIndexFile: loaderVersionIndex = json.load(loaderVersionIndexFile) for it in loaderVersionIndex: mavenUrl = get_maven_url(it["maven"], "https://maven.fabricmc.net/", ".json") - get_json_file("upstream/fabric/loader-installer-json/" + it["version"] + ".json", mavenUrl) + try: + get_json_file("upstream/fabric/loader-installer-json/" + it["version"] + ".json", mavenUrl) + except: + e = sys.exception() + e.add_note(f'for mavenUrl={mavenUrl}') + excs.append(e) + +if excs: + raise ExceptionGroup("Downloading some Fabric files failed", excs)