settings: permit continuing when a read during pushing fails

This commit is contained in:
Peter F. Patel-Schneider 2024-03-24 11:21:20 -04:00
parent dbd9fcfca6
commit 1a874c39d7
2 changed files with 8 additions and 10 deletions

View File

@ -200,15 +200,13 @@ class Setting:
assert hasattr(self, "_device") assert hasattr(self, "_device")
if logger.isEnabledFor(logging.DEBUG): if logger.isEnabledFor(logging.DEBUG):
logger.debug("%s: apply (%s)", self.name, self._device) logger.debug("%s: apply (%s)", self.name, self._device)
try:
value = self.read(self.persist) # Don't use persisted value if setting doesn't persist value = self.read(self.persist) # Don't use persisted value if setting doesn't persist
if self.persist and value is not None: # If setting doesn't persist no need to write value just read if self.persist and value is not None: # If setting doesn't persist no need to write value just read
try:
self.write(value, save=False) self.write(value, save=False)
except Exception as e: except Exception as e:
if logger.isEnabledFor(logging.WARNING): if logger.isEnabledFor(logging.WARNING):
logger.warning( logger.warning("%s: error applying %s so ignore it (%s): %s", self.name, self._value, self._device, repr(e))
"%s: error applying value %s so ignore it (%s): %s", self.name, self._value, self._device, repr(e)
)
def __str__(self): def __str__(self):
if hasattr(self, "_value"): if hasattr(self, "_value"):

View File

@ -1564,8 +1564,8 @@ class RGBControl(_Setting):
class RGBEffectSetting(LEDZoneSetting): class RGBEffectSetting(LEDZoneSetting):
name = "rgb_zone_" name = "rgb_zone_"
label = _("RGB Zone Effects") label = _("LED Zone Effects")
description = _("Set effect for RGB Zone") description = _("Set effect for LED Zone")
feature = _F.RGB_EFFECTS feature = _F.RGB_EFFECTS
@classmethod @classmethod