fix trailing space bug introduced by Microsoft

This commit is contained in:
Peter Bieringer
2026-06-28 21:19:27 +02:00
parent f36d2b5fcb
commit 64005c967b
2 changed files with 47 additions and 0 deletions

View File

@@ -69,6 +69,9 @@ def read_components(s: str) -> List[vobject.base.Component]:
s = re.sub(r'[\x00-\x08\x0B\x0C\x0E-\x1F]', '', s)
# Workaround delete all empty lines to avoid vobject parsing errors
s = re.sub(r'(?m)^[ \t]*\r?\n', '', s)
# Delete trailing space on TZID and TZNAME (Microsoft Outlook bug)
s = re.sub(r'(TZID|TZNAME)(:[^\r\n]+) (\r?\n)', r"\1\2\3", s) # fix VTIMEZONE
s = re.sub(r'(TZID=[^:]+) (:)', r"\1\2", s) # fix DTSTART/DTEND
return list(vobject.readComponents(s, allowQP=True))

View File

@@ -0,0 +1,44 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
BEGIN:VTIMEZONE
TZID:Mitteleuropäische Zeit
BEGIN:STANDARD
DTSTART:20001025T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
TZNAME:Mitteleuropäische Zeit
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
END:STANDARD
BEGIN:DAYLIGHT
DTSTART:20000329T010000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
TZNAME:Mitteleuropäische Sommerzeit
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
UID:20260619T141049Z_FED000F14A0
DTSTART;TZID=Mitteleuropäische Zeit :20260701T170000
DTEND;TZID=Mitteleuropäische Zeit :20260701T183000
ATTENDEE;CN=Mario Voigt;CUTYPE=INDIVIDUAL;PARTSTAT=ACCEPTED:mailto:REDACTED@REDACTED
CLASS:PUBLIC
DESCRIPTION:REDACTED
DTSTAMP:20260621T173336Z
LAST-MODIFIED:20260621T173336Z
LOCATION:Stadtwerkstatt
ORGANIZER;CN=REDACTED;ROLE=CHAIR:mailto:REDACTED
PRIORITY:5
SUMMARY:REDACTED
TRANSP:OPAQUE
X-GWBOX-TYPE:SENT
X-GWCLASS:NORMAL
X-GWITEM-TYPE:APPOINTMENT
X-GWSHOW-AS:BUSY
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MOZ-INVITED-ATTENDEE:mailto:REDACTED@REDACTED
X-MOZ-RECEIVED-DTSTAMP:20260621T173336Z
X-MOZ-RECEIVED-SEQUENCE:0
END:VEVENT
END:VCALENDAR