sesa-gpu / src /catalog.py
John6666's picture
Upload 44 files
81ba775 verified
Raw
History Blame Contribute Delete
796 Bytes
from __future__ import annotations
import json
from functools import lru_cache
from pathlib import Path
CATALOG_PATH = Path(__file__).with_name("model_catalog.json")
@lru_cache(maxsize=1)
def load_catalog() -> dict[str, dict]:
data = json.loads(CATALOG_PATH.read_text(encoding="utf-8"))
return {item["id"]: item for item in data["models"]}
def catalog_choices() -> list[tuple[str, str]]:
items = load_catalog().values()
return [
(f'{item["category"]}{item["name"]}', item["id"])
for item in items
]
def default_model_id() -> str:
preferred = "model_bs_roformer_ep_317_sdr_12.9755.ckpt"
for item in load_catalog().values():
if item["model_filename"] == preferred:
return item["id"]
return next(iter(load_catalog()))