Ulli Horlacher wrote:
[Meine Antworten via gmane scheinen neuerdings im Nirwana zu landen. Weiß
jemand, woran das liegen könnte? Hier der zweite Versuch, direkt an die
Mailingliste]
> 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.
Offenbar parst ics Zeilen mit mehreren ":" nicht korrekt:
>>> import ics.parse
>>> cl = ics.parse.ContentLine.parse('foo;bar="12:34":baz')
>>> cl
<ContentLine 'foo' with 1 parameter. Value='34":baz'>
>>> cl.params
{u'bar': [u'"12']}
Dadurch wird deine Zeitzonen-ID verstümmelt zu
cl = ics.parse.ContentLine.parse(u'DTSTART;TZID="(UTC+01:00) Br\xc3#ssel
(Bruxelles, Brussels), Kopenhagen (K\xc3#benhavn), Madrid,
Paris":20180518T103000')
>>> cl.params
{u'TZID': [u'"(UTC+01']}
und statt MESZ UTC angenommen.
Workaround: Wenn du nur eine oder wenige Zeitzonen-IDs verwendest, kannst du
die entsprechenden Strings vor der Weiterverarbeitung ersetzen (btw, Brüssel
und København sehen kaputt aus)
data = sys.stdin.read().decode('utf-8')
x = u"(UTC+01:00) BrÃ#ssel (Bruxelles, Brussels), Kopenhagen (KÃ#benhavn),
Madrid, Paris"
data = data.replace('"' + x + '"', u"XXX")
data = data.replace(x.replace(u",", u"\\,"), u"XXX")
cal = ics.Calendar(data)
Ich empfehle aber einen Bugreport an die Entwickler.