From 85ac9531114bc2c21f621b2a368db658c5f4d874 Mon Sep 17 00:00:00 2001 From: tobi-wan-kenobi Date: Sat, 9 May 2020 10:22:26 +0200 Subject: [PATCH] [modules/arch-update] Better handling of errors in checkupdates see #624 --- modules/contrib/arch-update.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/contrib/arch-update.py b/modules/contrib/arch-update.py index a55a9a7..66287be 100644 --- a/modules/contrib/arch-update.py +++ b/modules/contrib/arch-update.py @@ -20,26 +20,30 @@ class Module(core.module.Module): def __init__(self, config, theme): super().__init__(config, theme, core.widget.Widget(self.utilization)) self.__packages = 0 + self.__error = False @property def __format(self): return self.parameter("format", "Update Arch: {}") def utilization(self, widget): - return self.__format.format(self.__packages if self.__packages >= 0 else "n/a") + return self.__format.format(self.__packages) def hidden(self): - return self.__packages == 0 + return self.__packages == 0 and not self.__error def update(self): try: result = util.cli.execute("checkupdates") self.__packages = len(result.split("\n")) - 1 + self.__error = False except Exception as e: logging.exception(e) - self.__packages = -1 + self.__error = True def state(self, widget): + if self.__error: + return "warning" return self.threshold_state(self.__packages, 1, 100)