]> git.rmz.io Git - dotfiles.git/blob - mutt/ical2txt
mutt: update gitlab emails to avoid signing MR replies
[dotfiles.git] / mutt / ical2txt
1 #!/usr/bin/env python3
2
3 from icalendar import Calendar
4
5 def format_cal(event):
6 start = event.get('dtstart').dt
7 end = event.get('dtend').dt
8 str = "Start: {:%Y-%m-%d %H:%M}\n".format(start.astimezone())
9 str += "End: {:%Y-%m-%d %H:%M}\n".format(end.astimezone())
10
11 attendees = [ a.params['cn'] for a in event.get('attendee') ]
12 str += "Attendees:\n"
13 for a in attendees:
14 str += "\t{}\n".format(a)
15 str += "\n"
16
17 description = event.get('description')
18 if description is not None:
19 str += description
20
21 return str
22
23
24 with open('/dev/stdin', 'r') as f:
25 cal = Calendar.from_ical(f.read())
26
27 for c in cal.walk():
28 if c.name == "VEVENT":
29 print(format_cal(c))