From 749854018ff279e3aadd60d89ac7354886d1630d Mon Sep 17 00:00:00 2001 From: yum Date: Fri, 1 Sep 2023 00:51:32 -0700 Subject: Check in app_config.py, remove_audio_source.py Oops, I meant to check these in earlier! --- Scripts/app_config.py | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 Scripts/app_config.py (limited to 'Scripts/app_config.py') diff --git a/Scripts/app_config.py b/Scripts/app_config.py new file mode 100644 index 0000000..f911456 --- /dev/null +++ b/Scripts/app_config.py @@ -0,0 +1,39 @@ +import os +import sys +import typing + +def getConfig(path: str) -> typing.Dict[str, typing.Union[str, float, int, bool]]: + # Helper functions to detect and convert the type + def is_int(value: str) -> bool: + try: + int(value) + return True + except ValueError: + return False + + def is_float(value: str) -> bool: + try: + float(value) + return True + except ValueError: + return False + + def convert_value(key: str, value: str): + if key.startswith(("enable_", "remove_", "use_", "clear_")): + return bool(int(value)) + elif is_int(value): + return int(value) + elif is_float(value): + return float(value) + else: + return value + + config = {} + with open(path, 'r') as file: + for line in file: + key_value = line.strip().split(": ", maxsplit=1) + key = key_value[0] + value = key_value[1] if len(key_value) > 1 else "" + config[key] = convert_value(key, value.strip()) + return config + -- cgit v1.2.3