diff options
| author | Alexandru Ionut Tripon <alexandru.tripon97@gmail.com> | 2026-03-18 18:39:54 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-18 18:39:54 +0200 |
| commit | 0469b74d759d785726113b4c01916d559eb3d2b6 (patch) | |
| tree | bb5ada54ca227771c91148c9ae8c9e705636cd95 /meta | |
| parent | a47a0ace170abd2bb0ff97d462c3e2b2e3f16aa4 (diff) | |
| parent | 535614dcc863108fa5af1568e35d6284b8889bc2 (diff) | |
| download | Project-Tick-0469b74d759d785726113b4c01916d559eb3d2b6.tar.gz Project-Tick-0469b74d759d785726113b4c01916d559eb3d2b6.zip | |
Merge pull request #62 from Trial97/sha1
check sha1 for forge/neoforge maven
Diffstat (limited to 'meta')
| -rw-r--r-- | meta/common/__init__.py | 9 | ||||
| -rwxr-xr-x | meta/run/update_forge.py | 20 | ||||
| -rw-r--r-- | meta/run/update_neoforge.py | 20 |
3 files changed, 47 insertions, 2 deletions
diff --git a/meta/common/__init__.py b/meta/common/__init__.py index d7ee49ac4a..16a4f507bf 100644 --- a/meta/common/__init__.py +++ b/meta/common/__init__.py @@ -86,3 +86,12 @@ def default_session(): sess.headers.update({"User-Agent": "PrismLauncherMeta/1.0"}) return sess + + +def remove_files(file_paths): + for file_path in file_paths: + try: + if os.path.isfile(file_path): + os.remove(file_path) + except Exception as e: + print(e) diff --git a/meta/run/update_forge.py b/meta/run/update_forge.py index 8fc8920bad..5a86727199 100755 --- a/meta/run/update_forge.py +++ b/meta/run/update_forge.py @@ -16,7 +16,12 @@ from pprint import pprint from pydantic import ValidationError -from meta.common import upstream_path, ensure_upstream_dir, default_session +from meta.common import ( + upstream_path, + ensure_upstream_dir, + default_session, + remove_files, +) from meta.common.forge import ( JARS_DIR, INSTALLER_INFO_DIR, @@ -292,6 +297,19 @@ def main(): UPSTREAM_DIR + "/forge/version_manifests/%s.json" % version.long_version ) + if not os.path.isfile(jar_path): + remove_files([profile_path, installer_info_path]) + else: + fileSha1 = filehash(jar_path, hashlib.sha1) + try: + rfile = sess.get(version.url() + ".sha1") + rfile.raise_for_status() + if fileSha1 != rfile.text.strip(): + remove_files([jar_path, profile_path, installer_info_path]) + except Exception as e: + eprint("Failed to check sha1 %s" % version.url()) + eprint("Error is %s" % e) + installer_refresh_required = not os.path.isfile( profile_path ) or not os.path.isfile(installer_info_path) diff --git a/meta/run/update_neoforge.py b/meta/run/update_neoforge.py index 24a0da017e..ee8d6ff950 100644 --- a/meta/run/update_neoforge.py +++ b/meta/run/update_neoforge.py @@ -17,7 +17,12 @@ import urllib.parse from pydantic import ValidationError -from meta.common import upstream_path, ensure_upstream_dir, default_session +from meta.common import ( + upstream_path, + ensure_upstream_dir, + default_session, + remove_files, +) from meta.common.neoforge import ( JARS_DIR, INSTALLER_INFO_DIR, @@ -216,6 +221,19 @@ def main(): UPSTREAM_DIR + "/neoforge/version_manifests/%s.json" % version.long_version ) + if not os.path.isfile(jar_path): + remove_files([profile_path, installer_info_path]) + else: + fileSha1 = filehash(jar_path, hashlib.sha1) + try: + rfile = sess.get(version.url() + ".sha1") + rfile.raise_for_status() + if fileSha1 != rfile.text.strip(): + remove_files([jar_path, profile_path, installer_info_path]) + except Exception as e: + eprint("Failed to check sha1 %s" % version.url()) + eprint("Error is %s" % e) + installer_refresh_required = not os.path.isfile( profile_path ) or not os.path.isfile(installer_info_path) |
