diff options
| -rw-r--r-- | meta/common/__init__.py | 8 | ||||
| -rw-r--r-- | meta/model/__init__.py | 6 | ||||
| -rwxr-xr-x | updateMojang.py | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/meta/common/__init__.py b/meta/common/__init__.py index 4db3c57b61..8e463f8448 100644 --- a/meta/common/__init__.py +++ b/meta/common/__init__.py @@ -1,5 +1,6 @@ import os import datetime +from urllib.parse import urlparse def serialize_datetime(dt: datetime.datetime): @@ -41,3 +42,10 @@ def ensure_component_dir(component_id): def transform_maven_key(maven_key: str): return maven_key.replace(":", ".") + +def replace_old_launchermeta_url(url): + o = urlparse(url) + if o.netloc == "launchermeta.mojang.com": + return o._replace(netloc="piston-meta.mojang.com").geturl() + + return url diff --git a/meta/model/__init__.py b/meta/model/__init__.py index 4371814a11..15004b9674 100644 --- a/meta/model/__init__.py +++ b/meta/model/__init__.py @@ -4,7 +4,7 @@ from typing import Optional, List, Dict, Any, Iterator import pydantic from pydantic import Field, validator -from ..common import serialize_datetime +from ..common import serialize_datetime, replace_old_launchermeta_url META_FORMAT_VERSION = 1 @@ -144,6 +144,10 @@ class MojangArtifactBase(MetaBase): class MojangAssets(MojangArtifactBase): + @validator("url") + def validate_url(cls, v): + return replace_old_launchermeta_url(v) + id: str totalSize: int diff --git a/updateMojang.py b/updateMojang.py index 9117ee559d..ac11fd449d 100755 --- a/updateMojang.py +++ b/updateMojang.py @@ -53,7 +53,7 @@ def fetch_version(path, url): def main(): # get the remote version list - r = sess.get('https://launchermeta.mojang.com/mc/game/version_manifest_v2.json') + r = sess.get('https://piston-meta.mojang.com/mc/game/version_manifest_v2.json') r.raise_for_status() remote_versions = MojangIndexWrap(MojangIndex(**r.json())) |
