from core.config import CoreConfig class DivaServerConfig(): def __init__(self, parent_config: "DivaConfig") -> None: self.__config = parent_config @property def enable(self) -> bool: return CoreConfig.get_config_field(self.__config, 'diva', 'server', 'enable', default=True) @property def loglevel(self) -> int: return CoreConfig.str_to_loglevel(CoreConfig.get_config_field(self.__config, 'diva', 'server', 'loglevel', default="info")) class DivaModsConfig(): def __init__(self, parent_config: "DivaConfig") -> None: self.__config = parent_config @property def unlock_all_modules(self) -> bool: return CoreConfig.get_config_field(self.__config, 'diva', 'mods', 'unlock_all_modules', default=True) @property def unlock_all_items(self) -> bool: return CoreConfig.get_config_field(self.__config, 'diva', 'mods', 'unlock_all_items', default=True) class DivaConfig(dict): def __init__(self) -> None: self.server = DivaServerConfig(self) self.mods = DivaModsConfig(self)