From 14273995b79c7c081ed05cbe6bd92c0ef3591bfb Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Thu, 19 Jan 2023 14:59:50 +0100 Subject: [PATCH 1/2] alerts: don't append exception based alert, just draw it --- modules/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/__init__.py b/modules/__init__.py index 0405d39..c66769b 100644 --- a/modules/__init__.py +++ b/modules/__init__.py @@ -161,11 +161,11 @@ class AlertsModule: align = self.draw_alert(alert, width, image, draw, fnt_R, fnt_B, align, font_size) except BaseException as e: logging.exception(e) - self.alerts.append({ + align = self.draw_alert({ "title": "Impossible de générer les alertes de " + alert.__name__, "description": type(e).__name__ + ": " + (e.message if hasattr(e, 'message') else str(e)), "icon": "wi-earthquake.png", - }) + }, width, image, draw, fnt_R, fnt_B, align, font_size) else: align = self.draw_alert(alert, width, image, draw, fnt_R, fnt_B, align, font_size) From 54a757e20da6f697211249e849a3f3d57e92c734 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Thu, 19 Jan 2023 15:00:49 +0100 Subject: [PATCH 2/2] ical: Don't consider events after max coming date --- modules/ical.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/ical.py b/modules/ical.py index 9f7a669..465d78e 100644 --- a/modules/ical.py +++ b/modules/ical.py @@ -245,7 +245,7 @@ class IcalModule: now = time.mktime(datetime.now(tz=pytz.timezone('Europe/Paris')).timetuple()) coming = time.mktime((datetime.now(tz=pytz.timezone('Europe/Paris')) + timedelta(minutes=self.delayed_departure)).timetuple()) - for evt in self.get_events(config): + for evt in self.get_events(config, toofar=datetime.fromtimestamp(coming, tz=pytz.timezone('Europe/Paris'))): # Looking only the first event start = time.mktime(evt["start"].timetuple()) return now < start and start < coming @@ -255,7 +255,7 @@ class IcalModule: now = time.mktime(datetime.now(tz=pytz.timezone('Europe/Paris')).timetuple()) coming = time.mktime((datetime.now(tz=pytz.timezone('Europe/Paris')) + timedelta(minutes=self.delayed_departure)).timetuple()) - for evt in self.get_events(config): + for evt in self.get_events(config, toofar=datetime.fromtimestamp(coming, tz=pytz.timezone('Europe/Paris'))): if "location" in evt and ( evt["location"].lower().startswith("http") or evt["location"].lower().startswith("ici") or @@ -273,7 +273,7 @@ class IcalModule: now = time.mktime((datetime.now(tz=pytz.timezone('Europe/Paris')) + timedelta(minutes=self.delayed_departure/3)).timetuple()) coming = time.mktime((datetime.now(tz=pytz.timezone('Europe/Paris')) + timedelta(minutes=self.delayed_departure/3)).timetuple()) - for evt in self.get_events(config): + for evt in self.get_events(config, toofar=datetime.fromtimestamp(coming, tz=pytz.timezone('Europe/Paris'))): if not("location" in evt and evt["location"].lower().startswith("ici")): continue