fixed nested config
This commit is contained in:
@@ -22,10 +22,11 @@ _config: dict = {
|
||||
"twitter",
|
||||
],
|
||||
|
||||
|
||||
"mastodon": {},
|
||||
"twitter": {},
|
||||
"lemmy": {},
|
||||
"feed": {
|
||||
"mastodon": {},
|
||||
"twitter": {},
|
||||
"lemmy": {},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -50,16 +51,33 @@ def write():
|
||||
|
||||
def get_field(__name: str, default=None):
|
||||
global _config
|
||||
return _config.get(__name, default)
|
||||
|
||||
_parts = __name.split(".")
|
||||
|
||||
_field_container = _config
|
||||
for _part in _parts[:-1]:
|
||||
_field_container = _field_container.get(_part, {})
|
||||
|
||||
return _field_container.get(_parts[-1], default)
|
||||
|
||||
|
||||
def set_field(__name: str, __value, update_dict=False):
|
||||
global _config
|
||||
|
||||
_parts = __name.split(".")
|
||||
|
||||
_field_container = _config
|
||||
for _part in _parts[:-1]:
|
||||
if _part not in _field_container:
|
||||
_field_container[_part] = {}
|
||||
|
||||
_field_container = _field_container[_part]
|
||||
|
||||
|
||||
if update_dict and isinstance(__value, dict) and isinstance(_config.get(__name), dict):
|
||||
_config[__name].update(__value)
|
||||
_field_container[_parts[-1]].update(__value)
|
||||
else:
|
||||
_config[__name] = __value
|
||||
_field_container[_parts[-1]] = __value
|
||||
|
||||
write()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user