device: be defensive when converting battery status to string

This commit is contained in:
Peter F. Patel-Schneider 2024-06-03 08:14:52 -04:00
parent 104556e7a3
commit 2113e63a75
1 changed files with 2 additions and 2 deletions

View File

@ -604,10 +604,10 @@ class Battery:
def to_str(self) -> str:
if isinstance(self.level, BatteryLevelApproximation):
level = self.level.name.lower()
status = self.status.name.lower().replace("_", " ")
status = self.status.name.lower().replace("_", " ") if self.status is not None else "Unknown"
return _("Battery: %(level)s (%(status)s)") % {"level": _(level), "status": _(status)}
elif isinstance(self.level, int):
status = self.status.name.lower().replace("_", " ")
status = self.status.name.lower().replace("_", " ") if self.status is not None else "Unknown"
return _("Battery: %(percent)d%% (%(status)s)") % {"percent": self.level, "status": _(status)}
else:
return ""