python-caldav / caldav

Apache License 2.0
313 stars 91 forks source link

Fix missing icalendar_component #339

Closed e-katkov closed 9 months ago

e-katkov commented 9 months ago

We faced the problem that icalendar_component missing in some cases. Added checks if the event has the icalendar_component attribute.

tobixen commented 9 months ago

That means the server hasn't returned valid data. Does it work as intended for you with this patch? Ideally I'd like to have a test case and some credentials to the server for testing, if possible.

In any case, my intention is for the caldav library to be pragmatic and work over as many caldav servers as possible, even when they are breaking the standards, so I will eventually merge this request.

tobixen commented 9 months ago

(test failures for 3.7 and 3.8 are due to a known problem with the testing framework itself - I haven't gotten around to look into it yet).

e-katkov commented 9 months ago

That means the server hasn't returned valid data.

We have had "empty" events received in some cases. Such events had VERSION, PRODID, TZID, DTSTART, TZNAME and similar fields. In addition, they did not contain the UID, SUMMARY, DESCRIPTION, ORGANIZER, ATTENDEE, LAST-MODIFIED, RRULE and similar fields.

Does it work as intended for you with this patch?

Yeah. That's what made it work.

Ideally I'd like to have a test case and some credentials to the server for testing, if possible.

Unfortunately, that's not possible. We have only gotten this for one user so far. It is not clear how "empty" events are created.

tobixen commented 9 months ago

That saves me from spending time doing research on this at least :-) (may I ask what calendar server it is?)

e-katkov commented 9 months ago

Google calendar)

e-katkov commented 9 months ago

May I ask when you plan to update version that will have these changes?

tobixen commented 9 months ago

Right, other users have had similar problems with Google Calendar, just at some other place in the code.

I should do a patch-level release relatively soon as there are other unreleased bugfixes in the master branch ... but I should do a lot of testing before doing a release, I need to find some time for that. I'd say best case in some few days, worst case during this month.

tobixen commented 8 months ago

sorry that the "worst case" has slipped a bit, hope to get it out soon.