[Vobject] parsing broken iCalendar objects
David Arnold
davida at pobox.com
Thu Apr 26 03:33:17 CDT 2007
hi all,
i've struck a problem parsing some Outlook 11 (2003) generated iCalendar
objects, and i imagine i'm not the first to do so, so i thought i'd ask
how others have dealt with the problem:
specifically, within a VTIMEZONE, i have a TZID like
TZID:Canberra, Melbourne, Sydney
from an Outlook user based in Australia, and within the following
VEVENT, the DTSTART looks like, eg.
DTSTART;TZID="Canberra, Melbourne, Sydney":20070501T100000
having done a vobject.readOne() on the file, the vevent.dtstart value is
a naive datetime, and my program is failing when trying to convert that
into a different timezone.
using prettyPrint() on the root object, i see that the parsed TZID has a
value of
TZID: <TZID{}Canberra>
and so it's failing to match the TZID specified in the DTSTART.
checking RFC-2445, i see that 'paramtext' is a sequence of SAFE-CHAR,
and that SAFE-CHAR does not include the ASCII comma.
so, it appears that vobject is doing the right thing, and Outlook is
emitting non-compliant TZID values, but ... i'd like to parse the bogus
Outlook files regardless.
on the assumption that i'm not the first to strike this kind of problem,
does anyone have any advice on the best way to approach this?
thanks ...
d
ps. i'd like to offer my congratulations to Jeffrey, and all the
contributors to VObject -- it's an extremely useful bit of code, and
very much appreciated. thank you, thank you.
More information about the VObject
mailing list