1
0
mirror of https://github.com/javierpena/eink-calendar.git synced 2025-08-10 21:52:01 +02:00

Add iCal support for calendars

We can now use an iCal URL as well as a CalDav one. iCal URLs are
identified by a trailing ".ics" for now.
This commit is contained in:
Javier Pena
2022-03-17 16:36:10 +01:00
parent 71fc4f8e37
commit dd2a1b79a4
5 changed files with 59 additions and 12 deletions

29
drivers/icalprovider.py Normal file
View File

@@ -0,0 +1,29 @@
from datetime import datetime
from icalevents import icalevents
import icalendar
import pytz
import urllib3
urllib3.disable_warnings()
class ICalProvider():
def __init__(self):
self.tz = pytz.timezone('Europe/Madrid')
def get_calendar(self, url, date_start, date_end):
#print("%s %s" % (date_start, date_end))
returned_events = []
try:
events_found = icalevents.events(url=url, start=date_start, end=date_end)
if events_found:
for event in events_found:
single_event = {}
single_event['event_start'] = event.start.astimezone(self.tz)
single_event['event_end'] = event.end.astimezone(self.tz)
single_event['event_title'] = event.summary
returned_events.append(single_event)
except Exception:
pass
return returned_events