settings: keep trying settings that have worked
This commit is contained in:
parent
4459ea5342
commit
055c8776cc
|
@ -1219,14 +1219,14 @@ def check_feature_settings(device, already_known):
|
||||||
newAbsent = []
|
newAbsent = []
|
||||||
for sclass in SETTINGS:
|
for sclass in SETTINGS:
|
||||||
if sclass.feature:
|
if sclass.feature:
|
||||||
if sclass.name not in absent and not any(s.name == sclass.name for s in already_known):
|
known_present = device.persister and sclass.name in device.persister
|
||||||
|
if not any(s.name == sclass.name for s in already_known) and (known_present or sclass.name not in absent):
|
||||||
setting = check_feature(device, sclass)
|
setting = check_feature(device, sclass)
|
||||||
if setting:
|
if setting:
|
||||||
already_known.append(setting)
|
already_known.append(setting)
|
||||||
if sclass.name in newAbsent:
|
if sclass.name in newAbsent:
|
||||||
newAbsent.remove(sclass.name)
|
newAbsent.remove(sclass.name)
|
||||||
else:
|
elif sclass.name not in newAbsent and sclass.name not in absent and sclass.name not in device.persister:
|
||||||
if not any(s.name == sclass.name for s in already_known) and sclass.name not in newAbsent:
|
|
||||||
newAbsent.append(sclass.name)
|
newAbsent.append(sclass.name)
|
||||||
if device.persister and newAbsent:
|
if device.persister and newAbsent:
|
||||||
absent.extend(newAbsent)
|
absent.extend(newAbsent)
|
||||||
|
|
Loading…
Reference in New Issue