fix: identifier could be temporary None

This commit is contained in:
egarette@silique.fr 2025-10-18 06:29:32 +02:00
parent be637e4e31
commit e6b3e7c317
2 changed files with 6 additions and 0 deletions

View file

@ -536,6 +536,10 @@ def test_callback_dyndescription_subdyn():
cfg = Config(od2)
cfg.property.read_write()
assert parse_od_get(cfg.value.get()) == {'od.dod2val1.dodval1.st': 'val1', 'od.dod2val1.dodval2.st': 'val1', 'od.dod2val1.out': ['val1', 'val1'], 'od.dod2val2.dodval1.st': 'val1', 'od.dod2val2.dodval2.st': 'val1', 'od.dod2val2.out': ['val1', 'val1'], 'lst': ['val1', 'val2']}
cfg.option('lst').value.set(["val1", "val3"])
assert parse_od_get(cfg.value.get()) == {'od.dod2val1.dodval1.st': 'val1', 'od.dod2val1.dodval3.st': 'val1', 'od.dod2val1.out': ['val1', 'val1'], 'od.dod2val3.dodval1.st': 'val1', 'od.dod2val3.dodval3.st': 'val1', 'od.dod2val3.out': ['val1', 'val1'], 'lst': ['val1', 'val3']}
cfg.option('lst').value.set(["val1", "val3", None])
assert parse_od_get(cfg.value.get()) == {'od.dod2val1.dodval1.st': 'val1', 'od.dod2val1.dodval3.st': 'val1', 'od.dod2val1.out': ['val1', 'val1'], 'od.dod2val3.dodval1.st': 'val1', 'od.dod2val3.dodval3.st': 'val1', 'od.dod2val3.out': ['val1', 'val1'], 'lst': ['val1', 'val3', None]}
def test_callback_list_dyndescription():

View file

@ -402,6 +402,8 @@ class Values:
for option in options:
parent = option.parent
for identifier in identifier_values:
if identifier is None:
continue
name = option.option.impl_getname(identifier)
opt_subconfig = parent.get_child(
option.option,