[Python-de] icalview

Ulli Horlacher framstag at rus.uni-stuttgart.de
Fr Mai 18 08:22:22 EDT 2018


Ich hab ein kleines Script namens icalview (Quelle vergessen), das in mutt
eingebunden bisher zuverlaessig Outlook Kalender Attachments anzeigte.

Neuere Outlook Versionen verwenden ein Kalenderformat, bei dem icalview
ein falsches Datum berechnet: 2 h zu spaet.

Hier ist icalview:

#!/usr/bin/python2
import sys

import ics   # pip install ics
import arrow # pulled in with ics, else pip install arrow

cal = ics.Calendar(sys.stdin.read().decode('utf-8'))

tz = arrow.now().tzinfo
tzformat = 'ddd DD MMM HH:mm'
tzformat = 'YYYY-MM-DD HH:mm:ss'

for event in cal.events:
    extra = {}
    for item in event._unused:
        if not isinstance(item, ics.parse.ContentLine):
            continue
        try:
            extra[item.name.lower()] = item.value
        except:
            print item
            raise
    print "Event:    ", event.name.encode('utf-8')
    print "Status:   ", extra['status'].title()
    print "Organiser:", extra['organizer'].encode('utf-8')
    print "Starts:   ", event.begin.to(tz).format(tzformat), "(local time)"
    print "Ends:     ", event.end.to(tz).format(tzformat)
    print "Location: ", event.location.encode('utf-8')
    print "Description:"
    print (event.description or u'').encode('utf-8')



Und hier ein Kalendereintrag den icalview falsch anzeigt (Beginn 12:30
statt 10:30): 

BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:Microsoft Exchange Server 2010
VERSION:2.0
BEGIN:VTIMEZONE
TZID:(UTC+01:00) BrÃ#ssel (Bruxelles\, Brussels)\, Kopenhagen (KÃ#benhavn)\
 , Madrid\, Paris
BEGIN:STANDARD
DTSTART:16010101T030000
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:16010101T020000
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:040000008200E00074C5B7101A82E00800000000C4F7712CB9E3D301000000000000000
 010000000D130AFABD4C3E74AB8318E3C7A7B95EC
DTSTART;TZID="(UTC+01:00) BrÃ#ssel (Bruxelles, Brussels), Kopenhagen (KÃ#ben
 havn), Madrid, Paris":20180518T103000
DTEND;TZID="(UTC+01:00) BrÃ#ssel (Bruxelles, Brussels), Kopenhagen (KÃ#benha
 vn), Madrid, Paris":20180518T120000
CLASS:PUBLIC
PRIORITY:5
DTSTAMP:20180504T150534Z
TRANSP:OPAQUE
STATUS:CONFIRMED
SEQUENCE:0
LOCATION;LANGUAGE=de-DE:groÃ<9F>er Semiraum
X-MICROSOFT-CDO-APPT-SEQUENCE:0
X-MICROSOFT-CDO-OWNERAPPTID:2116363460
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-CDO-ALLDAYEVENT:FALSE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INSTTYPE:0
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MICROSOFT-LOCATIONDISPLAYNAME:groÃ<9F>er Semiraum
X-MICROSOFT-LOCATIONSOURCE:None
END:VEVENT
END:VCALENDAR




-- 
Ullrich Horlacher              Server und Virtualisierung
Rechenzentrum TIK         
Universitaet Stuttgart         E-Mail: horlacher at tik.uni-stuttgart.de
Allmandring 30a                Tel:    ++49-711-68565868
70569 Stuttgart (Germany)      WWW:    http://www.tik.uni-stuttgart.de/


Mehr Informationen über die Mailingliste python-de