Quick Summary
A vCard with DQUOTE characters in a parameter value is raises a parsing error. This is correct behaviour according to the spec, but some Apple products appear to emit this format (with the DQUOTEs backslash escaped).
It'd be generous to accept this with non-strict parsing.
See Kozea/Radicale#1492
Context
- vObject version: 0.9.9
- Python version: 3.9
- Operating system and version: macOS 11
Description
See the discussion in the Radicale bug above for full details.
To Reproduce
The following code exhibits the problem.
import vobject
vcs = (
r"BEGIN:VCARD" "\r\n"
r"VERSION:3.0" "\r\n"
r"FN: Example #2" "\r\n"
r"N:Stevenson;John;Philip, Paul;Dr.;Jr., M.D., A.C.P." "\r\n"
r'X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=Αεροδρόμιο Θεσσαλονίκης' "\r\n"
r' \"Μακεδονία\" 551 03 Thessaloniki Greece;X-TITLE=Thessaloniki Internatio' "\r\n"
r' nal Airport:geo:40.520833,22.972222' "\r\n"
r"END:VCARD" "\r\n"
)
vobject.parseOne(vcs)
Further Notes
To be clear, vobject is correct in rejecting this: allowing it would be supporting a deployed product with non-conforming behaviour.
Quick Summary
A vCard with DQUOTE characters in a parameter value is raises a parsing error. This is correct behaviour according to the spec, but some Apple products appear to emit this format (with the DQUOTEs backslash escaped).
It'd be generous to accept this with non-strict parsing.
See Kozea/Radicale#1492
Context
Description
See the discussion in the Radicale bug above for full details.
To Reproduce
The following code exhibits the problem.
Further Notes
To be clear, vobject is correct in rejecting this: allowing it would be supporting a deployed product with non-conforming behaviour.