artemis/titles/cm/config.py

53 lines
1.5 KiB
Python
Raw Permalink Normal View History

from typing import Dict
2023-03-03 22:46:29 +00:00
from core.config import CoreConfig
2023-03-09 16:38:58 +00:00
class CardMakerServerConfig:
2023-03-03 22:46:29 +00:00
def __init__(self, parent_config: "CardMakerConfig") -> None:
self.__config = parent_config
@property
def enable(self) -> bool:
2023-03-09 16:38:58 +00:00
return CoreConfig.get_config_field(
self.__config, "cardmaker", "server", "enable", default=True
)
2023-03-03 22:46:29 +00:00
@property
def loglevel(self) -> int:
2023-03-09 16:38:58 +00:00
return CoreConfig.str_to_loglevel(
CoreConfig.get_config_field(
self.__config, "cardmaker", "server", "loglevel", default="info"
)
)
2023-03-03 22:46:29 +00:00
class CardMakerVersionConfig:
def __init__(self, parent_config: "CardMakerConfig") -> None:
self.__config = parent_config
def version(self, version: int) -> Dict:
"""
in the form of:
1: {"ongeki": 1.30.01, "chuni": 2.00.00, "maimai": 1.20.00}
"""
return CoreConfig.get_config_field(
2023-08-19 05:35:15 +00:00
self.__config, "cardmaker", "version", default={
0: {
"ongeki": "1.30.01",
"chuni": "2.00.00",
"maimai": "1.20.00"
},
1: {
"ongeki": "1.35.03",
"chuni": "2.10.00",
"maimai": "1.30.00"
}
}
)[version]
2023-03-03 22:46:29 +00:00
class CardMakerConfig(dict):
def __init__(self) -> None:
self.server = CardMakerServerConfig(self)
self.version = CardMakerVersionConfig(self)