diff --git a/meta/model/__init__.py b/meta/model/__init__.py index d737332..ed4e4c4 100644 --- a/meta/model/__init__.py +++ b/meta/model/__init__.py @@ -2,7 +2,7 @@ from datetime import datetime from typing import Optional, List, Dict, Any, Iterator import pydantic -from pydantic import Field, AnyHttpUrl, validator +from pydantic import Field, validator from .types import GradleSpecifier from ..common import serialize_datetime @@ -40,7 +40,7 @@ class MetaBase(pydantic.BaseModel): class Versioned(MetaBase): @validator("format_version") def format_version_must_be_supported(cls, v): - assert v > META_FORMAT_VERSION + assert v <= META_FORMAT_VERSION return v format_version: int = Field(META_FORMAT_VERSION, alias="formatVersion") @@ -49,7 +49,7 @@ class Versioned(MetaBase): class MojangArtifactBase(MetaBase): sha1: Optional[str] size: Optional[int] - url: AnyHttpUrl + url: str class MojangAssets(MojangArtifactBase): @@ -129,7 +129,7 @@ class MojangLibrary(MetaBase): class Library(MojangLibrary): url: Optional[str] - mmcHint: Optional[AnyHttpUrl] = Field(None, alias="MMC-hint") + mmcHint: Optional[str] = Field(None, alias="MMC-hint") class Dependency(MetaBase): @@ -167,4 +167,4 @@ class MetaPackage(Versioned): recommended: Optional[List[str]] authors: Optional[List[str]] description: Optional[str] - project_url: Optional[AnyHttpUrl] = Field(alias="projectUrl") + project_url: Optional[str] = Field(alias="projectUrl") diff --git a/meta/model/mojang.py b/meta/model/mojang.py index f7bb29e..0b8415d 100644 --- a/meta/model/mojang.py +++ b/meta/model/mojang.py @@ -1,7 +1,7 @@ from datetime import datetime from typing import Optional, List, Dict, Any -from pydantic import AnyHttpUrl, validator, Field +from pydantic import validator, Field from . import MetaBase, MojangArtifactBase, MojangAssets, MojangLibrary, MojangArtifact, MojangLibraryDownloads, \ Library, MetaVersion, GradleSpecifier @@ -60,8 +60,8 @@ class MojangIndexWrap: class ExperimentEntry(MetaBase): id: str - url: AnyHttpUrl - wiki: Optional[AnyHttpUrl] + url: str + wiki: Optional[str] class ExperimentIndex(MetaBase): @@ -145,13 +145,14 @@ class MojangVersion(MetaBase): arguments: Optional[MojangArguments] asset_index: Optional[MojangAssets] = Field(alias="assetIndex") assets: Optional[str] - downloads: Dict[str, MojangArtifactBase] # TODO improve this? + downloads: Optional[Dict[str, MojangArtifactBase]] # TODO improve this? libraries: Optional[List[MojangLibrary]] # TODO: optional? main_class: Optional[str] = Field(alias="mainClass") applet_class: Optional[str] = Field(alias="appletClass") processArguments: Optional[str] minecraft_arguments: Optional[str] = Field(alias="minecraftArguments") - minimum_launcher_version: Optional[int] = Field(alias="minimumLauncherVersion") # TODO: validate validateSupportedMojangVersion + minimum_launcher_version: Optional[int] = Field( + alias="minimumLauncherVersion") # TODO: validate validateSupportedMojangVersion release_time: Optional[datetime] = Field(alias="releaseTime") time: Optional[datetime] type: Optional[str]