X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/68e6a1194080e79c23608ff55f2c7fa054f3c6fc..a59aa3f7d15dae57e2d066e47af3556c46d9dac4:/mutt/ical2txt diff --git a/mutt/ical2txt b/mutt/ical2txt index 5b7c998..c0c9310 100755 --- a/mutt/ical2txt +++ b/mutt/ical2txt @@ -1,10 +1,30 @@ #!/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 @@ -16,7 +36,4 @@ with open('/dev/stdin', 'r') as f: 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))