Pref: Reduce deep_get in config_update

since deep_iter yields the value already
This commit is contained in:
LmeSzinc 2025-03-17 02:08:19 +08:00
parent 477f917262
commit dfb2db800f
3 changed files with 8 additions and 20 deletions

View File

@ -616,8 +616,7 @@ class ConfigUpdater:
"""
new = {}
def deep_load(keys):
data = deep_get(self.args, keys=keys, default={})
for keys, data in deep_iter(self.args, depth=3):
value = deep_get(old, keys=keys, default=data['value'])
typ = data['type']
display = data.get('display')
@ -627,9 +626,6 @@ class ConfigUpdater:
value = parse_value(value, data=data)
deep_set(new, keys=keys, value=value)
for path, _ in deep_iter(self.args, depth=3):
deep_load(path)
# AzurStatsID
if is_template:
deep_set(new, 'Alas.DropRecord.AzurStatsID', None)

View File

@ -85,23 +85,19 @@ class ConfigUpdater(config_updater.ConfigUpdater):
"""
new = {}
def deep_load(keys):
data = deep_get(self.args, keys=keys, default={})
for keys, data in deep_iter(self.args, depth=3):
value = deep_get(old, keys=keys, default=data["value"])
if (
is_template
or value is None
or value == ""
or data["type"] == "lock"
or data.get("display") == "hide"
is_template
or value is None
or value == ""
or data["type"] == "lock"
or data.get("display") == "hide"
):
value = data["value"]
value = parse_value(value, data=data)
deep_set(new, keys=keys, value=value)
for path, _ in deep_iter(self.args, depth=3):
deep_load(path)
if not is_template:
new = self.config_redirect(old, new)

View File

@ -94,17 +94,13 @@ class ConfigUpdater(config_updater.ConfigUpdater):
"""
new = {}
def deep_load(keys):
data = deep_get(self.args, keys=keys, default={})
for keys, data in deep_iter(self.args, depth=3):
value = deep_get(old, keys=keys, default=data['value'])
if is_template or value is None or value == '' or data['type'] == 'lock' or data.get('display') == 'hide':
value = data['value']
value = parse_value(value, data=data)
deep_set(new, keys=keys, value=value)
for path, _ in deep_iter(self.args, depth=3):
deep_load(path)
if not is_template:
new = self.config_redirect(old, new)