Spaces:
Sleeping
Sleeping
| import json | |
| class SettingsHandler: | |
| def __init__(self, json_filename): | |
| self.json_filename = json_filename | |
| self.advanced_settings = self.load_current_settings() | |
| def load_current_settings(self) -> dict: | |
| with open(self.json_filename, "r") as file: | |
| settings_dict = json.load(file) | |
| advanced_settings = settings_dict["Advanced Settings"] | |
| return advanced_settings | |
| def update_advanced_settings(self, updated_advanced_settings: dict): | |
| new_dict = { | |
| "Advanced Settings": updated_advanced_settings | |
| } | |
| print(new_dict) | |
| with open(self.json_filename, "w") as file: | |
| json.dump(new_dict, file) | |
| self.advanced_settings = updated_advanced_settings | |
| def update_advanced_settings_param(self, key: str, new_val): | |
| if self.get_advanced_setting_param(key) is not None: | |
| update_advanced_settings_dict = self.advanced_settings | |
| update_advanced_settings_dict[key] = new_val | |
| self.update_advanced_settings(update_advanced_settings_dict) | |
| def get_advanced_settings(self): | |
| return self.advanced_settings | |
| def get_advanced_setting_param(self, key: str): | |
| return self.advanced_settings.get(key) | |
| class LanguagesHandler: | |
| def __init__(self, json_filename): | |
| self.json_filename = json_filename | |
| self.langs = self.load_languages() | |
| def load_languages(self) -> list: | |
| with open(self.json_filename, "r") as file: | |
| langs = json.load(file) | |
| if type(langs) != list: | |
| raise RuntimeError("Languages must be provided as lists") | |
| if len(langs) < 2: | |
| raise RuntimeError("At least 2 languages must be supported") | |
| return langs | |
| def get_supported_languages(self): | |
| return self.langs | |