Mod: parse meta.json if it exists

This commit is contained in:
Toast 2025-05-29 17:21:54 +02:00
parent 94891dea5d
commit ca7e1bb2d1

View file

@ -1,10 +1,16 @@
import tomlkit
import json
from pathlib import Path
from tomlkit import TOMLDocument
from typing import Any
class Mod:
__config: TOMLDocument
__has_meta_json: bool
__meta: dict[str, Any]
__path: Path
__name: str
__description: str
@ -53,6 +59,7 @@ class Mod:
def __init__(self, path: Path) -> None:
self.__path = path
self.__meta = {}
try:
config_toml = Path(self.__path, "config.toml")
@ -65,6 +72,17 @@ class Mod:
except FileNotFoundError:
raise InvalidModError("config.toml does not exist")
meta_json: Path = Path(self.__path, "meta.json")
if meta_json.exists():
self.__has_meta_json = True
try:
with meta_json.open() as file:
self.__meta = json.load(file)
except json.JSONDecodeError as e:
print("Failed to parse meta.json!: ", e.msg)
else:
self.__has_meta_json = False
def __str__(self) -> str:
return f"Mod({self.__path})"