From 3a28a5ce3046dcda204ba83e62fcae42f9503759 Mon Sep 17 00:00:00 2001 From: Jean-Marie Favreau Date: Fri, 13 Sep 2024 12:11:32 +0200 Subject: [PATCH] Ajout support images dans les ical --- .../import_tasks/extractor_ical.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/agenda_culturel/import_tasks/extractor_ical.py b/src/agenda_culturel/import_tasks/extractor_ical.py index 014a543..60c66a1 100644 --- a/src/agenda_culturel/import_tasks/extractor_ical.py +++ b/src/agenda_culturel/import_tasks/extractor_ical.py @@ -27,6 +27,21 @@ class ICALExtractor(Extractor): except: return None + def guess_image_from_vevent(self, event): + item = self.get_item_from_vevent(event, 'ATTACH', raw=True) + if item is None: + return None + + # it seems that FMTTYPE is not available through python-icalendar + if isinstance(item, list): + for i in item: + if str(i).lower().endswith('.jpg'): + return str(i) + else: + if str(item).lower().endswith('.jpg'): + return str(item) + return None + def get_dt_item_from_vevent(self, event, name): item = self.get_item_from_vevent(event, name, raw=True) @@ -116,6 +131,8 @@ class ICALExtractor(Extractor): last_modified = self.get_item_from_vevent(event, "LAST-MODIFIED", raw=True) + image = self.guess_image_from_vevent(event) + recurrence_entries = {} for e in ["RRULE", "EXRULE", "EXDATE", "RDATE"]: i = self.get_item_from_vevent(event, e, raw=True) @@ -155,6 +172,7 @@ class ICALExtractor(Extractor): end_time=end_time, last_modified=last_modified, published=published, + image=image ) return self.get_structure()