[CalendarServer-changes] [11514] CalendarServer/branches/users/cdaboo/CalendarServer-5.0-podfix/ twistedcaldav/datafilters/peruserdata.py

source_changes at macosforge.org source_changes at macosforge.org
Sun Jul 14 08:50:36 PDT 2013


Revision: 11514
          http://trac.calendarserver.org//changeset/11514
Author:   cdaboo at apple.com
Date:     2013-07-14 08:50:35 -0700 (Sun, 14 Jul 2013)
Log Message:
-----------
Backport fixes from trunk to deal with per-user data merge fort some weird edge cases that can cause multigets on
calendars to fail.

Modified Paths:
--------------
    CalendarServer/branches/users/cdaboo/CalendarServer-5.0-podfix/twistedcaldav/datafilters/peruserdata.py

Modified: CalendarServer/branches/users/cdaboo/CalendarServer-5.0-podfix/twistedcaldav/datafilters/peruserdata.py
===================================================================
--- CalendarServer/branches/users/cdaboo/CalendarServer-5.0-podfix/twistedcaldav/datafilters/peruserdata.py	2013-07-14 15:40:47 UTC (rev 11513)
+++ CalendarServer/branches/users/cdaboo/CalendarServer-5.0-podfix/twistedcaldav/datafilters/peruserdata.py	2013-07-14 15:50:35 UTC (rev 11514)
@@ -175,7 +175,8 @@
                 self._mergeBackComponent(ical_component, peruser_component)
                 ical.addComponent(ical_component)
         elif peruser_only_set:
-            raise AssertionError("Cannot derive a per-user instance when there is no master component.")
+            # We used to error out here, but instead we should silently ignore this error and keep going
+            pass
                     
         # Process the unions by merging in per-user data
         for rid in union_set:
@@ -233,7 +234,8 @@
         for component in components:
             if component.name() == "VTIMEZONE":
                 continue
-            rid = component.getRecurrenceIDUTC()
+            rid = component.propertyValue("RECURRENCE-ID")
+            rid = rid.duplicate() if rid is not None else None
 
             perinstance_component = Component(PerUserDataFilter.PERINSTANCE_COMPONENT) if self.uid else None
             perinstance_id_different = False
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20130714/37759fd0/attachment-0001.html>


More information about the calendarserver-changes mailing list