Giter Club home page Giter Club logo

Comments (4)

tobixen avatar tobixen commented on July 28, 2024

I think that this may be a server-side issue, not a client side issue.

It's correct that when the SEQUENCE number is given in an icalendar object, the object with the biggest SEQUENCE number is to be considered the correct one. However, I believe the server should handle this logic and serve the latest object.

What server do you use?

Perhaps we need to write some test code for reproducing this issue

from caldav.

DirksProg avatar DirksProg commented on July 28, 2024

I think it was Nextcloud 13.0.2.
Nextcloud send the whole ICS as you see above. The ICS is the raw version from the server.

Example code:

import caldav
events = calendar.date_search(start, end)
for event in events :
                myevent = event.instance.vevent

myevent got only the part with

RDATE;VALUE=DATE-TIME:20180830T140000Z
DTSTART;TZID=Europe/Berlin:20180830T160000
DTEND;TZID=Europe/Berlin:20180830T160000
X-MOZ-FAKED-MASTER:1
X-MOZ-GENERATION:1

and so on,

BEGIN:VEVENT
CREATED:20180315T201802Z
LAST-MODIFIED:20180315T201840Z
DTSTAMP:20180315T201840Z
UID:7c7c51c4-d0ae-4837-b7d9-f3379292314c
SUMMARY:This is the true date
RECURRENCE-ID;TZID=Europe/Berlin:20180830T160000
DTSTART;TZID=Europe/Berlin:20180830T160000
DTEND;TZID=Europe/Berlin:20180830T180000
DESCRIPTION:My Date\n
SEQUENCE:1
END:VEVENT

is lost. :(

from caldav.

tobixen avatar tobixen commented on July 28, 2024

I should set up test servers with nextcloud (or see if I can use some existing servers) and see if I can run the tests towards it. We also need test code to reproduce the issue.

from caldav.

tobixen avatar tobixen commented on July 28, 2024

Actually, this is a "bug" in vobjects or the usage of vobjects, it will probably be solved in 1.0 as I plan to migrate to icalendar. I was encountering the same thing when looking into recurring events, ref #86. The "expand"-flag to date_search works on most server implementations, but the expanded stuff is lost when doing event.instance.vevent. It's still possible to fish it out by using event.instance.components()

I'll close this.

from caldav.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.