[CalendarServer-changes] [3439] CalendarServer/trunk

source_changes at macosforge.org source_changes at macosforge.org
Tue Dec 2 11:24:22 PST 2008


Revision: 3439
          http://trac.macosforge.org/projects/calendarserver/changeset/3439
Author:   sagen at apple.com
Date:     2008-12-02 11:24:21 -0800 (Tue, 02 Dec 2008)
Log Message:
-----------
Change the remaining groupMembers( ) calls to expandedGroupMembers()

Modified Paths:
--------------
    CalendarServer/trunk/lib-patches/Twisted/twisted.web2.dav.resource.patch
    CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
    CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py

Modified: CalendarServer/trunk/lib-patches/Twisted/twisted.web2.dav.resource.patch
===================================================================
--- CalendarServer/trunk/lib-patches/Twisted/twisted.web2.dav.resource.patch	2008-12-02 17:42:28 UTC (rev 3438)
+++ CalendarServer/trunk/lib-patches/Twisted/twisted.web2.dav.resource.patch	2008-12-02 19:24:21 UTC (rev 3439)
@@ -684,7 +684,7 @@
 -        return d
 +        # Get principal resource for principal2
 +        if group and isinstance(group, DAVPrincipalResource):
-+            d = waitForDeferred(group.groupMembers())
++            d = waitForDeferred(group.expandedGroupMembers())
 +            yield d
 +            members = d.getResult()
 +            for member in members:
@@ -1076,7 +1076,7 @@
 +                    def callback(members):
 +                        return davxml.GroupMemberSet(*[davxml.HRef(p.principalURL()) for p in members])
 +                    
-+                    d = self.groupMembers()
++                    d = self.expandedGroupMembers()
 +                    d.addCallback(callback)
 +                    return d
  
@@ -1117,7 +1117,7 @@
 +            return
          else:
 -            return uri in self.groupMembers()
-+            d = waitForDeferred(self.groupMembers())
++            d = waitForDeferred(self.expandedGroupMembers())
 +            yield d
 +            members = d.getResult()
 +            member_uris = [member.principalURL() for member in members]

Modified: CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2008-12-02 17:42:28 UTC (rev 3438)
+++ CalendarServer/trunk/twistedcaldav/directory/calendaruserproxy.py	2008-12-02 19:24:21 UTC (rev 3439)
@@ -282,7 +282,7 @@
         return self.parent.principalCollections()
 
     @inlineCallbacks
-    def _expandMemberUIDs(self, uid=None, relatives=None, uids=None):
+    def _expandMemberUIDs(self, uid=None, relatives=None, uids=None, infinity=False):
         if uid is None:
             uid = self.principalUID()
         if relatives is None:
@@ -299,9 +299,12 @@
                 for member in members:
                     if member.principalUID() not in uids:
                         relatives.add(member)
-                        yield self._expandMemberUIDs(member.principalUID(), relatives, uids)
+                        yield self._expandMemberUIDs(member.principalUID(), relatives, uids, infinity=infinity)
             elif isinstance(principal, DirectoryPrincipalResource):
-                members = yield principal.groupMembers()
+                if infinity:
+                    members = yield principal.expandedGroupMembers()
+                else:
+                    members = yield principal.groupMembers()
                 relatives.update(members)
 
         returnValue(relatives)
@@ -322,6 +325,9 @@
     def groupMembers(self):
         return self._expandMemberUIDs()
 
+    def expandedGroupMembers(self):
+        return self._expandMemberUIDs(infinity=True)
+
     @inlineCallbacks
     def groupMemberships(self):
         # Get membership UIDs and map to principal resources

Modified: CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2008-12-02 17:42:28 UTC (rev 3438)
+++ CalendarServer/trunk/twistedcaldav/directory/test/test_proxyprincipalmembers.py	2008-12-02 19:24:21 UTC (rev 3439)
@@ -58,7 +58,7 @@
         if subPrincipalName is not None:
             principal = principal.getChild(subPrincipalName)
 
-        d = principal.groupMembers()
+        d = principal.expandedGroupMembers()
         d.addCallback(gotMembers)
         return d
 
@@ -84,7 +84,7 @@
 
     def test_groupMembersRegular(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_groups, "both_coasts", None,
@@ -93,7 +93,7 @@
 
     def test_groupMembersRecursive(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_groups, "recursive1_coasts", None,
@@ -102,7 +102,7 @@
 
     def test_groupMembersProxySingleUser(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_locations, "gemini", "calendar-proxy-write",
@@ -111,7 +111,7 @@
 
     def test_groupMembersProxySingleGroup(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_locations, "mercury", "calendar-proxy-write",
@@ -120,7 +120,7 @@
 
     def test_groupMembersProxySingleGroupWithNestedGroups(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_locations, "apollo", "calendar-proxy-write",
@@ -129,7 +129,7 @@
 
     def test_groupMembersProxySingleGroupWithNestedRecursiveGroups(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         return self._groupMembersTest(
             DirectoryService.recordType_locations, "orion", "calendar-proxy-write",
@@ -138,7 +138,7 @@
 
     def test_groupMembersProxySingleGroupWithNonCalendarGroup(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         ds = []
 
@@ -156,7 +156,7 @@
 
     def test_groupMembersProxyMissingUser(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         proxy = self._getPrincipalByShortName(DirectoryService.recordType_users, "cdaboo")
         proxyGroup = proxy.getChild("calendar-proxy-write")
@@ -179,7 +179,7 @@
 
     def test_groupMembershipsMissingUser(self):
         """
-        DirectoryPrincipalResource.groupMembers()
+        DirectoryPrincipalResource.expandedGroupMembers()
         """
         # Setup the fake entry in the DB
         fake_uid = "12345"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20081202/ef3d9c1e/attachment.html>


More information about the calendarserver-changes mailing list