[CalendarServer-changes] [1478] CalendarServer/trunk/twistedcaldav/schedule.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Apr 11 19:52:00 PDT 2007


Revision: 1478
          http://trac.macosforge.org/projects/calendarserver/changeset/1478
Author:   cdaboo at apple.com
Date:     2007-04-11 19:51:59 -0700 (Wed, 11 Apr 2007)

Log Message:
-----------
Make sure calendar-free-busy-set is a live property.

Modified Paths:
--------------
    CalendarServer/trunk/twistedcaldav/schedule.py

Modified: CalendarServer/trunk/twistedcaldav/schedule.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/schedule.py	2007-04-12 02:48:40 UTC (rev 1477)
+++ CalendarServer/trunk/twistedcaldav/schedule.py	2007-04-12 02:51:59 UTC (rev 1478)
@@ -26,7 +26,7 @@
 ]
 
 from twisted.internet import reactor
-from twisted.internet.defer import deferredGenerator, maybeDeferred, waitForDeferred
+from twisted.internet.defer import deferredGenerator, maybeDeferred, succeed, waitForDeferred
 from twisted.python import log
 from twisted.python.failure import Failure
 from twisted.web2 import responsecode
@@ -91,6 +91,11 @@
 
     Extends L{DAVResource} to provide CalDAV functionality.
     """
+
+    liveProperties = CalendarSchedulingCollectionResource.liveProperties + (
+        (caldav_namespace, "calendar-free-busy-set"),
+    )
+
     def resourceType(self):
         return davxml.ResourceType.scheduleInbox
 
@@ -105,6 +110,19 @@
             ),
         )
 
+    def readProperty(self, property, request):
+        if type(property) is tuple:
+            qname = property
+        else:
+            qname = property.qname()
+
+        if qname == (caldav_namespace, "calendar-free-busy-set"):
+            # Always return at least an empty list
+            if not self.hasDeadProperty(property):
+                return succeed(())
+            
+        return super(ScheduleInboxResource, self).readProperty(property, request)
+
     @deferredGenerator
     def writeProperty(self, property, request):
         assert isinstance(property, davxml.WebDAVElement)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070411/6c8ea02e/attachment.html


More information about the calendarserver-changes mailing list