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

source_changes at macosforge.org source_changes at macosforge.org
Tue Nov 7 14:47:44 PST 2006


Revision: 386
          http://trac.macosforge.org/projects/calendarserver/changeset/386
Author:   wsanchez at apple.com
Date:     2006-11-07 14:47:44 -0800 (Tue, 07 Nov 2006)

Log Message:
-----------
In DirectoryTypePrincipalProvisioningResource's findAnyGUID() and
findAnyGroupGUID() methods, don't look up _principleCollectionSet in
the subclass, ebcasue that's not where the value lives.
CalendarPrincipalCollectionResource._principleCollectionSet instead.

If _principleCollectionSet is being used outside of
CalendarPrincipalCollectionResource, then it needs to be made public.

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

Modified: CalendarServer/trunk/twistedcaldav/directory/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/resource.py	2006-11-07 22:41:30 UTC (rev 385)
+++ CalendarServer/trunk/twistedcaldav/directory/resource.py	2006-11-07 22:47:44 UTC (rev 386)
@@ -573,17 +573,17 @@
 
         log.msg("Directory: Delete %s from %s" % (name, self.getTitle()))
     
-    @classmethod
-    def findAnyGUID(clazz, guid):
+    @staticmethod
+    def findAnyGUID(guid):
         """
         Find the principal associated with the specified GUID.
 
         @param guid: the C{str} containing the GUID to match.
         @return: C{str} with matching principal URI, or C{None}
         """
-        for url in clazz._principleCollectionSet.keys():
+        for url in CalendarPrincipalCollectionResource.principleCollectionSet.keys():
             try:
-                pcollection = clazz._principleCollectionSet[url]
+                pcollection = CalendarPrincipalCollectionResource.principleCollectionSet[url]
                 if isinstance(pcollection, DirectoryTypePrincipalProvisioningResource):
                     principal = pcollection.findGUID(guid)
                     if principal is not None:
@@ -607,7 +607,7 @@
         else:
             return None
 
-    @classmethod
+    @staticmethod
     def findAnyGroupGUID(clazz, guid):
         """
         Find the principals containing the specified GUID as a group member.
@@ -617,9 +617,9 @@
         """
         
         result = []
-        for url in clazz._principleCollectionSet.keys():
+        for url in CalendarPrincipalCollectionResource.principleCollectionSet.keys():
             try:
-                pcollection = clazz._principleCollectionSet[url]
+                pcollection = CalendarPrincipalCollectionResource.principleCollectionSet[url]
                 if isinstance(pcollection, DirectoryTypePrincipalProvisioningResource):
                     result.extend(pcollection.findGroupGUID(guid))
             except ReferenceError:

Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py	2006-11-07 22:41:30 UTC (rev 385)
+++ CalendarServer/trunk/twistedcaldav/resource.py	2006-11-07 22:47:44 UTC (rev 386)
@@ -470,7 +470,7 @@
     """
     # Use a WeakKeyDictionary to keep track of all instances.
     # A WeakKeySet would be more appropriate, but there is no such class yet.
-    _principleCollectionSet = WeakValueDictionary()
+    principleCollectionSet = WeakValueDictionary()
 
     @classmethod
     def outboxForCalendarUser(clazz, request, address):
@@ -516,8 +516,8 @@
         self._url = url
 
         # Register self with class
-        if url not in CalendarPrincipalCollectionResource._principleCollectionSet:
-            CalendarPrincipalCollectionResource._principleCollectionSet[url] = self
+        if url not in CalendarPrincipalCollectionResource.principleCollectionSet:
+            CalendarPrincipalCollectionResource.principleCollectionSet[url] = self
 
     def isCollection(self):
         return True
@@ -574,9 +574,9 @@
     @return: the L{CalendarPrincipalResource} for the specified calendar
         user, or C{None} if the user is not found.
     """
-    for url in CalendarPrincipalCollectionResource._principleCollectionSet.keys():
+    for url in CalendarPrincipalCollectionResource.principleCollectionSet.keys():
         try:
-            pcollection = CalendarPrincipalCollectionResource._principleCollectionSet[url]
+            pcollection = CalendarPrincipalCollectionResource.principleCollectionSet[url]
             if isinstance(pcollection, CalendarPrincipalCollectionResource):
                 principal = waitForDeferred(pcollection.findCalendarUser(request, address))
                 yield principal

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


More information about the calendarserver-changes mailing list