#!/usr/bin/env python3
from icalendar import Calendar
+import datetime
-def format_cal(start, end, description):
- str = "Start: {:%Y-%m-%d %H:%M}\n".format(start)
- str += "End: {:%Y-%m-%d %H:%M}\n\n".format(end)
+def format_cal(event):
+ start = event.get('dtstart').dt
+ end = event.get('dtend').dt
+ str = ""
+ if isinstance(start, datetime.datetime):
+ str += "Start: {:%Y-%m-%d %H:%M}\n".format(start.astimezone())
+ str += "End: {:%Y-%m-%d %H:%M}\n".format(end.astimezone())
+ elif isinstance(start, datetime.date):
+ str += "Start: {:%Y-%m-%d}\n".format(start)
+ str += "End: {:%Y-%m-%d}\n".format(end)
+
+ if event.get('attendee') is not None:
+ att = event.get('attendee')
+ if not isinstance(att, list):
+ att = [att]
+ attendees = [ a.params['cn'] for a in att]
+ str += "Attendees:\n"
+ for a in attendees:
+ str += "\t{}\n".format(a)
+ str += "\n"
+
+ description = event.get('description')
if description is not None:
str += description
for c in cal.walk():
if c.name == "VEVENT":
- print(format_cal(
- c.get('dtstart').dt,
- c.get('dtend').dt,
- c.get('description')))
+ print(format_cal(c))