diff --git a/Config.py b/Config.py new file mode 100644 index 0000000..a33c8f6 --- /dev/null +++ b/Config.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- +from json import load as jsonLoad +from TYPES import DirParserTypes, LogTypes + +CFG_PATH = "config.json" + + +def loadCFG(config_path: str) -> dict: + with open(config_path, "r") as cfg: + return jsonLoad(cfg) + + +def loadParser(options: dict) -> tuple: + dirParser = None + parser_value = options["Main"]["DirParser"] + for av_parser in DirParserTypes: + if parser_value == av_parser.value: + dirParser = av_parser + if dirParser is None: + raise Exception(f"Directory parser '{parser_value}' not found") + else: + match dirParser: + case DirParserTypes.Jellyfin: + JellyfinConfig = {} + for i in options["JellyfinConfig"].keys(): + JellyfinConfig[i] = options["JellyfinConfig"][i] + return dirParser, JellyfinConfig + + +configuration = loadCFG(CFG_PATH) + +dirParser, JellyfinConfig = loadParser(configuration) +DBPath = configuration["Main"]["DBPath"]