2023-10-16 09:46:31 -04:00
|
|
|
from configparser import SafeConfigParser
|
|
|
|
|
|
|
|
|
|
|
|
class Settings():
|
2020-07-18 15:11:09 -04:00
|
|
|
config = SafeConfigParser()
|
|
|
|
config.read("settings.ini")
|
2023-10-16 09:46:31 -04:00
|
|
|
|
2020-06-09 20:07:21 -04:00
|
|
|
def write_changes(self):
|
|
|
|
with open('settings.ini', 'w') as config_file:
|
|
|
|
self.config.write(config_file)
|
|
|
|
config_file.close()
|
|
|
|
|
2020-04-17 11:18:23 -04:00
|
|
|
def get_config(self, key, default=None):
|
|
|
|
return self.config.get("DEFAULT", key, fallback=default)
|
2023-10-16 09:46:31 -04:00
|
|
|
|
2020-04-17 11:18:23 -04:00
|
|
|
def get_bool(self, key, default=False):
|
|
|
|
return bool(self.config.get("DEFAULT", key, fallback=default) == "True")
|
2023-10-16 09:46:31 -04:00
|
|
|
|
|
|
|
def set_config(self, key, value):
|
2020-06-09 20:07:21 -04:00
|
|
|
value = str(value)
|
2023-10-16 09:46:31 -04:00
|
|
|
self.config.set("DEFAULT", key, value)
|
2020-06-09 20:07:21 -04:00
|
|
|
self.write_changes()
|
2023-10-16 09:46:31 -04:00
|
|
|
|
2020-06-09 20:07:21 -04:00
|
|
|
def add_to_list(self, key, value):
|
|
|
|
config_value = self.config.get("DEFAULT", key, fallback=None)
|
|
|
|
value = str(value)
|
|
|
|
|
|
|
|
if config_value:
|
|
|
|
config_list = config_value.split("|")
|
|
|
|
else:
|
|
|
|
config_list = []
|
|
|
|
|
2020-06-09 21:16:18 -04:00
|
|
|
if value not in config_list:
|
|
|
|
config_list.append(value)
|
2020-06-09 20:07:21 -04:00
|
|
|
|
|
|
|
self.config.set("DEFAULT", key, "|".join(config_list))
|
|
|
|
self.write_changes()
|
|
|
|
|
|
|
|
def remove_from_list(self, key, value):
|
|
|
|
config_value = self.config.get("DEFAULT", key, fallback=None)
|
|
|
|
value = str(value)
|
|
|
|
|
|
|
|
if config_value:
|
|
|
|
config_list = config_value.split("|")
|
|
|
|
else:
|
|
|
|
return
|
|
|
|
|
|
|
|
if value in config_list:
|
|
|
|
config_list.remove(value)
|
|
|
|
else:
|
|
|
|
return
|
|
|
|
|
|
|
|
self.config.set("DEFAULT", key, "|".join(config_list))
|
|
|
|
self.write_changes()
|
|
|
|
|
|
|
|
def get_list(self, key):
|
2020-08-31 18:51:46 -04:00
|
|
|
list_setting = self.config.get("DEFAULT", key, fallback="")
|
|
|
|
return list_setting.split("|") if list_setting else []
|