1
0
Fork 0
mirror of synced 2024-06-26 18:20:50 +12:00

ConfigHelper: Protect name space from globals

This commit is contained in:
loathingKernel 2022-09-02 17:53:56 +03:00
parent 0a89f0e0b8
commit 4951743bbf

View file

@ -1,38 +1,38 @@
from typing import Callable from typing import Callable, Optional
from legendary.core import LegendaryCore from legendary.core import LegendaryCore
from legendary.utils.config import LGDConf from legendary.utils.config import LGDConf
config: LGDConf = None _config: Optional[LGDConf] = None
save_config: Callable[[], None] = None _save_config: Optional[Callable[[], None]] = None
def init_config_handler(core: LegendaryCore): def init_config_handler(core: LegendaryCore):
global config, save_config global _config, _save_config
config = core.lgd.config _config = core.lgd.config
save_config = core.lgd.save_config _save_config = core.lgd.save_config
def add_option(app_name: str, option: str, value: str): def add_option(app_name: str, option: str, value: str):
value = value.replace("%%", "%").replace("%", "%%") value = value.replace("%%", "%").replace("%", "%%")
if not config.has_section(app_name): if not _config.has_section(app_name):
config[app_name] = {} _config[app_name] = {}
config.set(app_name, option, value) _config.set(app_name, option, value)
save_config() _save_config()
def remove_option(app_name, option): def remove_option(app_name, option):
if config.has_option(app_name, option): if _config.has_option(app_name, option):
config.remove_option(app_name, option) _config.remove_option(app_name, option)
if config.has_section(app_name) and not config[app_name]: if _config.has_section(app_name) and not _config[app_name]:
config.remove_section(app_name) _config.remove_section(app_name)
save_config() _save_config()
def remove_section(app_name): def remove_section(app_name):
if config.has_section(app_name): if _config.has_section(app_name):
config.remove_section(app_name) _config.remove_section(app_name)
save_config() _save_config()