From bf5ac1b6577a805ebc5a272c2e29ee82af35a515 Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Sat, 6 May 2023 15:01:25 +0800 Subject: [PATCH] Revert --- src/module/conf/config.py | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/src/module/conf/config.py b/src/module/conf/config.py index 2e025010..7fe0e841 100644 --- a/src/module/conf/config.py +++ b/src/module/conf/config.py @@ -16,21 +16,6 @@ except ImportError: class Setting(Config): - def __init__(self): - if VERSION != "DEV_VERSION": - CONFIG_PATH = "config/config.json" - else: - CONFIG_PATH = "config/config_dev.json" - if os.path.isfile(CONFIG_PATH): - config = load_config_from_file(CONFIG_PATH) - else: - logger.info(f"Can't find config file, use env instead") - load_dotenv() - config = env_to_config() - super().__init__(config) - save_config_to_file(self, CONFIG_PATH) - self.reload() - @staticmethod def reload(): load_config_from_file(CONFIG_PATH) @@ -49,7 +34,7 @@ def save_config_to_file(config: Config, path: str): def load_config_from_file(path: str) -> Config: with open(path, "r", encoding="utf-8") as f: config = json.load(f) - return config + return Setting(**config) def _val_from_env(env: str, attr: tuple): @@ -72,8 +57,26 @@ def env_to_config() -> Setting: else: attr_name = attr[0] if isinstance(attr, tuple) else attr _settings[key][attr_name] = _val_from_env(env, attr) - return _settings - + return Setting(**_settings) + + +if os.path.isdir("config") and VERSION == "DEV_VERSION": + CONFIG_PATH = "config/config_dev.json" + if os.path.isfile(CONFIG_PATH): + settings = load_config_from_file(CONFIG_PATH) + else: + load_dotenv(".env") + settings = env_to_config() + save_config_to_file(settings, CONFIG_PATH) +elif os.path.isdir("config") and VERSION != "DEV_VERSION": + CONFIG_PATH = "config/config.json" + if os.path.isfile(CONFIG_PATH): + settings = load_config_from_file(CONFIG_PATH) + else: + settings = env_to_config() + save_config_to_file(settings, CONFIG_PATH) +else: + settings = Setting()