pimutils / vdirsyncer

📇 Synchronize calendars and contacts.
https://vdirsyncer.pimutils.org/
Other
1.56k stars 161 forks source link

Use external library for vobject parsing #375

Open untitaker opened 8 years ago

untitaker commented 8 years ago

Our current sloppy parser is not exactly a maintenance burden, but it's annoying to have it here in the first place.

Two things need to be resolved for this:

I'm unsure if this is worth it, given how well the sloppy parser in vdirsyncer.utils.vobject has worked in the past.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

WhyNotHugo commented 8 years ago

From what I can tell:

cons

Might raise issues due to bugs in collective/icalendar Code migration cost Bugfixes might be tied to collective/icalendar releases

pros

Will help find bugs in collective/icalendar Reduced maintenance cost Will probably raise awareness of issues we haven't found yet Maybe we can detect earlier if we're sending invalid events to a server?

untitaker commented 8 years ago

Maybe we can detect earlier if we're sending invalid events to a server?

Interesting idea, but I'm unsure about this, as a "generic" implementation would also prevent downloading broken events from a server. Perhaps put it into the repair command.

untitaker commented 8 years ago

Alternatively use https://github.com/eventable/vobject, which seems to be Py3 compatible and also can parse both iCalendar and Vobject

untitaker commented 8 years ago

Quick note: In #428 we figured out that vobject has many bugs. We do need absolutely correct serialization/deserialization roundtrip because of the singlefile/http storages.

untitaker commented 7 years ago

I think we should use vobject anyway. I wonder if there's a good set of weird vcards somewhere, to test with vobject.

untitaker commented 7 years ago

https://github.com/eventable/vobject/issues/52