[CalendarServer-changes] [3863] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Mon Mar 16 08:15:37 PDT 2009


Revision: 3863
          http://trac.macosforge.org/projects/calendarserver/changeset/3863
Author:   cdaboo at apple.com
Date:     2009-03-16 08:15:37 -0700 (Mon, 16 Mar 2009)
Log Message:
-----------
Make sure a change to TZID is reported in schedule-changes.

Modified Paths:
--------------
    CalendarServer/trunk/run
    CalendarServer/trunk/twistedcaldav/ical.py
    CalendarServer/trunk/twistedcaldav/scheduling/icaldiff.py
    CalendarServer/trunk/twistedcaldav/scheduling/test/test_icaldiff.py

Modified: CalendarServer/trunk/run
===================================================================
--- CalendarServer/trunk/run	2009-03-16 15:14:32 UTC (rev 3862)
+++ CalendarServer/trunk/run	2009-03-16 15:15:37 UTC (rev 3863)
@@ -707,7 +707,7 @@
 
 caldavtester="${top}/CalDAVTester";
 
-svn_get "CalDAVTester" "${caldavtester}" "${svn_uri_base}/CalDAVTester/trunk" 3858;
+svn_get "CalDAVTester" "${caldavtester}" "${svn_uri_base}/CalDAVTester/trunk" 3862;
 
 #
 # PyFlakes

Modified: CalendarServer/trunk/twistedcaldav/ical.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/ical.py	2009-03-16 15:14:32 UTC (rev 3862)
+++ CalendarServer/trunk/twistedcaldav/ical.py	2009-03-16 15:15:37 UTC (rev 3863)
@@ -1809,16 +1809,14 @@
             )
             
             dtstart.setValue(newdtstart)
-            try:
-                del dtstart.params()["TZID"]
-            except KeyError:
-                pass
+            if "X-VOBJ-ORIGINAL-TZID" in dtstart.params():
+                dtstart.params()["ORIGINAL-TZID"] = dtstart.params()["X-VOBJ-ORIGINAL-TZID"]
+                del dtstart.params()["X-VOBJ-ORIGINAL-TZID"]
             if dtend is not None:
                 dtend.setValue(newdtend)
-                try:
-                    del dtend.params()["TZID"]
-                except KeyError:
-                    pass
+                if "X-VOBJ-ORIGINAL-TZID" in dtend.params():
+                    dtend.params()["ORIGINAL-TZID"] = dtend.params()["X-VOBJ-ORIGINAL-TZID"]
+                    del dtend.params()["X-VOBJ-ORIGINAL-TZID"]
             elif duration is not None:
                 self.removeProperty(duration)
                 self.addProperty(Property("DTEND", newdtend))

Modified: CalendarServer/trunk/twistedcaldav/scheduling/icaldiff.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling/icaldiff.py	2009-03-16 15:14:32 UTC (rev 3862)
+++ CalendarServer/trunk/twistedcaldav/scheduling/icaldiff.py	2009-03-16 15:15:37 UTC (rev 3863)
@@ -661,6 +661,9 @@
                 param2s = set(["%s=%s" % (name, value) for name, value in prop2s[0].params().iteritems()])
                 paramDiffs = param1s ^ param2s
                 changed[prop.name()].update([param.split("=")[0] for param in paramDiffs])
+            if "ORIGINAL-TZID" in changed[prop.name()]:
+                changed[prop.name()].remove("ORIGINAL-TZID")
+                changed[prop.name()].add("TZID")
         
         if addedChanges:
             rid = comp1.getRecurrenceIDUTC()

Modified: CalendarServer/trunk/twistedcaldav/scheduling/test/test_icaldiff.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/scheduling/test/test_icaldiff.py	2009-03-16 15:14:32 UTC (rev 3862)
+++ CalendarServer/trunk/twistedcaldav/scheduling/test/test_icaldiff.py	2009-03-16 15:15:37 UTC (rev 3863)
@@ -2534,6 +2534,75 @@
                 {"DTEND":set(("VALUE",)), "DTSTART":set(("VALUE",)),},
                 (),
             ),
+            (
+                "#1.10 Simple component, DTSTART/DTEND TZID",
+                """BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:US-Eastern
+BEGIN:DAYLIGHT
+DTSTART:19900404T010000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:19901026T060000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:12345-67890
+DTSTART;TZID=US/Eastern:20080601T120000
+DTEND;TZID=US/Eastern:20080601T130000
+SUMMARY:Test
+ORGANIZER;CN="User 01":mailto:user1 at example.com
+ATTENDEE:mailto:user1 at example.com
+ATTENDEE:mailto:user2 at example.com
+END:VEVENT
+END:VCALENDAR
+""",
+                """BEGIN:VCALENDAR
+VERSION:2.0
+PRODID:-//CALENDARSERVER.ORG//NONSGML Version 1//EN
+BEGIN:VTIMEZONE
+LAST-MODIFIED:20040110T032845Z
+TZID:America/New_York
+BEGIN:DAYLIGHT
+DTSTART:19900404T010000
+RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=4
+TZNAME:EDT
+TZOFFSETFROM:-0500
+TZOFFSETTO:-0400
+END:DAYLIGHT
+BEGIN:STANDARD
+DTSTART:19901026T060000
+RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
+TZNAME:EST
+TZOFFSETFROM:-0400
+TZOFFSETTO:-0500
+END:STANDARD
+END:VTIMEZONE
+BEGIN:VEVENT
+UID:12345-67890
+DTSTART;TZID=America/New_York:20080601T120000
+DTEND;TZID=America/New_York:20080601T130000
+SUMMARY:Test
+ORGANIZER;CN="User 01":mailto:user1 at example.com
+ATTENDEE:mailto:user1 at example.com
+ATTENDEE:mailto:user2 at example.com
+END:VEVENT
+END:VCALENDAR
+""",
+                {"DTEND":set(("TZID",)), "DTSTART":set(("TZID",)),},
+                (),
+            ),
         )
         
         data2 = (
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090316/7a4c261b/attachment-0001.html>


More information about the calendarserver-changes mailing list