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 | |