[CalendarServer-changes] [263] CalendarServer/trunk/twistedcaldav/resource.py

source_changes at macosforge.org source_changes at macosforge.org
Fri Oct 6 18:05:57 PDT 2006


Revision: 263
          http://trac.macosforge.org/projects/calendarserver/changeset/263
Author:   wsanchez at apple.com
Date:     2006-10-06 18:05:56 -0700 (Fri, 06 Oct 2006)

Log Message:
-----------
Fix up some new bugs in CalendarPrincipalResource properties

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

Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py	2006-10-07 00:45:20 UTC (rev 262)
+++ CalendarServer/trunk/twistedcaldav/resource.py	2006-10-07 01:05:56 UTC (rev 263)
@@ -570,10 +570,15 @@
                     )
 
                 if name == "calendar-free-busy-set":
-                    return caldavxml.CalendarFreeBusySet(
-                        *[davxml.HRef(url) for url in self.calendarFreeBusyURIs()]
-                    )
+                    def onURIs(uris):
+                        return caldavxml.CalendarFreeBusySet(
+                            *[davxml.HRef(url) for url in uris]
+                        )
 
+                    d = self.calendarFreeBusyURIs(request)
+                    d.addCallback(onURIs)
+                    return d
+
                 if name == "schedule-inbox-URL":
                     url = self.scheduleInboxURL()
                     if url is None:
@@ -588,6 +593,8 @@
                     else:
                         return caldavxml.ScheduleOutboxURL(davxml.HRef(url))
 
+            return super(CalendarPrincipalResource, self).readProperty(property, request)
+
         return maybeDeferred(defer)
 
     def calendarHomeURLs(self):
@@ -618,20 +625,20 @@
         """
         See L{ICalendarPrincipalResource.calendarFreeBusyURIs}.
         """
-        inbox = waitForDeferred(request.locateResource(self.scheduleInboxURL()))
+        inbox = waitForDeferred(maybeDeferred(request.locateResource, self.scheduleInboxURL()))
         yield inbox
         inbox = inbox.getResult()
 
         if inbox is None:
-            yield None
+            yield ()
             return
-        
+
         has = waitForDeferred(inbox.hasProperty((caldav_namespace, "calendar-free-busy-set", request)))
         yield has
         has = has.getResult()
         
         if not has:
-            yield None
+            yield ()
             return
 
         fbset = waitForDeferred(inbox.readProperty((caldav_namespace, "calendar-free-busy-set", request)))

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


More information about the calendarserver-changes mailing list