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

Some improvements

- Allow one extra hour for calendar events
- Improve resiliency if something fails when checking the weather or
  calendar API.
This commit is contained in:
Javier Pena
2021-09-20 13:28:59 +02:00
parent 24ffae2a97
commit 71fc4f8e37
4 changed files with 32 additions and 26 deletions

View File

@@ -15,24 +15,26 @@ class CalDavProvider():
def get_calendar(self, url, date_start, date_end):
# print("%s %s" % (date_start, date_end))
client = caldav.DAVClient(url=url, username=self.username, password=self.password, ssl_verify_cert=False)
calendar = caldav.Calendar(client=client, url=url)
returned_events = []
events_found = calendar.date_search(
start=date_start, end=date_end,
compfilter='VEVENT', expand=True)
if events_found:
for event in events_found:
cal = icalendar.Calendar.from_ical(event.data)
single_event = {}
for event in cal.walk('vevent'):
date_start = event.get('dtstart')
duration = event.get('duration')
summary = event.get('summary')
single_event['event_start'] = date_start.dt.astimezone(self.tz)
single_event['event_end'] = (date_start.dt + duration.dt).astimezone(self.tz)
single_event['event_title'] = summary
returned_events.append(single_event)
try:
client = caldav.DAVClient(url=url, username=self.username, password=self.password, ssl_verify_cert=False)
calendar = caldav.Calendar(client=client, url=url)
events_found = calendar.date_search(
start=date_start, end=date_end,
compfilter='VEVENT', expand=True)
if events_found:
for event in events_found:
cal = icalendar.Calendar.from_ical(event.data)
single_event = {}
for event in cal.walk('vevent'):
date_start = event.get('dtstart')
duration = event.get('duration')
summary = event.get('summary')
single_event['event_start'] = date_start.dt.astimezone(self.tz)
single_event['event_end'] = (date_start.dt + duration.dt).astimezone(self.tz)
single_event['event_title'] = summary
returned_events.append(single_event)
except Exception:
pass
return returned_events