[CalendarServer-changes] [3698] CalendarServer/trunk/twistedcaldav

source_changes at macosforge.org source_changes at macosforge.org
Fri Feb 20 08:29:57 PST 2009


Revision: 3698
          http://trac.macosforge.org/projects/calendarserver/changeset/3698
Author:   cdaboo at apple.com
Date:     2009-02-20 08:29:53 -0800 (Fri, 20 Feb 2009)
Log Message:
-----------
expanded- properties are generic to all principals, not just calendar enabled principals.

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

Modified: CalendarServer/trunk/twistedcaldav/extensions.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/extensions.py	2009-02-20 01:09:09 UTC (rev 3697)
+++ CalendarServer/trunk/twistedcaldav/extensions.py	2009-02-20 16:29:53 UTC (rev 3698)
@@ -1,5 +1,5 @@
 ##
-# Copyright (c) 2005-2008 Apple Inc. All rights reserved.
+# Copyright (c) 2005-2009 Apple Inc. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -58,6 +58,7 @@
 from twistedcaldav.util import submodule, Alternator, printTracebacks
 from twistedcaldav.directory.sudo import SudoDirectoryService
 from twistedcaldav.directory.directory import DirectoryService
+from twistedcaldav import customxml
 
 log = Logger()
 
@@ -377,7 +378,7 @@
 
     def renderHTTP(self, request):
         
-        log.info("%s %s %s" % (request.method, urllib.unquote(request.uri), "HTTP/%s.%s" % request.clientproto))
+        log.error("%s %s %s" % (request.method, urllib.unquote(request.uri), "HTTP/%s.%s" % request.clientproto))
 
         return super(DAVResource, self).renderHTTP(request)
 
@@ -573,17 +574,53 @@
     """
     Extended L{twisted.web2.dav.static.DAVFile} implementation.
     """
+
+    liveProperties = tuple(SuperDAVPrincipalResource.liveProperties) + (
+        (calendarserver_namespace, "expanded-group-member-set"),
+        (calendarserver_namespace, "expanded-group-membership"),
+    )
+
+    @inlineCallbacks
     def readProperty(self, property, request):
         if type(property) is tuple:
             qname = property
         else:
             qname = property.qname()
 
-        if qname == (dav_namespace, "resourcetype"):
-            return succeed(self.resourceType())
+        namespace, name = qname
 
-        return super(DAVPrincipalResource, self).readProperty(property, request)
+        if namespace == dav_namespace:
+            if name == "resourcetype":
+                returnValue(self.resourceType())
 
+        elif namespace == calendarserver_namespace:
+            if name == "expanded-group-member-set":
+                principals = (yield self.expandedGroupMembers())
+                returnValue(customxml.ExpandedGroupMemberSet(
+                    *[davxml.HRef(p.principalURL()) for p in principals]
+                ))
+
+            elif name == "expanded-group-membership":
+                principals = (yield self.expandedGroupMemberships())
+                returnValue(customxml.ExpandedGroupMembership(
+                    *[davxml.HRef(p.principalURL()) for p in principals]
+                ))
+
+        result = (yield super(DAVPrincipalResource, self).readProperty(property, request))
+        returnValue(result)
+
+    def groupMembers(self):
+        return succeed(())
+
+    def expandedGroupMembers(self):
+        return succeed(())
+
+    def groupMemberships(self):
+        return succeed(())
+
+    def expandedGroupMemberships(self):
+        return succeed(())
+
     def resourceType(self):
         # Allow live property to be overridden by dead property
         if self.deadProperties().contains((dav_namespace, "resourcetype")):

Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py	2009-02-20 01:09:09 UTC (rev 3697)
+++ CalendarServer/trunk/twistedcaldav/resource.py	2009-02-20 16:29:53 UTC (rev 3698)
@@ -1,5 +1,5 @@
 ##
-# Copyright (c) 2005-2008 Apple Inc. All rights reserved.
+# Copyright (c) 2005-2009 Apple Inc. All rights reserved.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -865,8 +865,6 @@
         (calendarserver_namespace, "email-address-set"),
         (calendarserver_namespace, "calendar-proxy-read-for"  ),
         (calendarserver_namespace, "calendar-proxy-write-for" ),
-        (calendarserver_namespace, "expanded-group-member-set"),
-        (calendarserver_namespace, "expanded-group-membership"),
     )
 
     @classmethod
@@ -956,31 +954,9 @@
                     *[davxml.HRef(principal.principalURL()) for principal in results]
                 ))
 
-            elif name == "expanded-group-member-set":
-                principals = (yield self.expandedGroupMembers())
-                returnValue(customxml.ExpandedGroupMemberSet(
-                    *[davxml.HRef(p.principalURL()) for p in principals]
-                ))
-
-            elif name == "expanded-group-membership":
-                principals = (yield self.expandedGroupMemberships())
-                returnValue(customxml.ExpandedGroupMembership(
-                    *[davxml.HRef(p.principalURL()) for p in principals]
-                ))
-
-
         result = (yield super(CalendarPrincipalResource, self).readProperty(property, request))
         returnValue(result)
 
-    def groupMembers(self):
-        return succeed(())
-
-    def expandedGroupMembers(self):
-        return succeed(())
-
-    def groupMemberships(self):
-        return succeed(())
-
     def calendarHomeURLs(self):
         if self.hasDeadProperty((caldav_namespace, "calendar-home-set")):
             home_set = self.readDeadProperty((caldav_namespace, "calendar-home-set"))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090220/e0c73768/attachment.html>


More information about the calendarserver-changes mailing list