[CalendarServer-changes] [4873] CalendarServer/trunk/twistedcaldav/directory/principal.py

source_changes at macosforge.org source_changes at macosforge.org
Wed Dec 16 17:46:29 PST 2009


Revision: 4873
          http://trac.macosforge.org/projects/calendarserver/changeset/4873
Author:   sagen at apple.com
Date:     2009-12-16 17:46:26 -0800 (Wed, 16 Dec 2009)
Log Message:
-----------
Takes the optimization from rev 4862 and applies it to all the provisioning resources.

Revision Links:
--------------
    http://trac.macosforge.org/projects/calendarserver/changeset/4862

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

Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py	2009-12-17 00:42:57 UTC (rev 4872)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py	2009-12-17 01:46:26 UTC (rev 4873)
@@ -184,14 +184,14 @@
     def principalForUID(self, uid):
         raise NotImplementedError("Subclass must implement principalForUID()")
 
+    def principalForCalendarUserAddress(self, address):
+        raise NotImplementedError("Subclass must implement principalForCalendarUserAddress()")
+
     def principalForRecord(self, record):
         if record is None:
             return None
         return self.principalForUID(record.uid)
 
-    def principalForCalendarUserAddress(self, address):
-        raise NotImplementedError("Subclass must implement principalForCalendarUserAddress()")
-
     ##
     # DAV-property-to-record-field mapping
     ##
@@ -334,16 +334,8 @@
         return None
 
     def principalForRecord(self, record):
-        if record is None:
-            return None
+        return self.getChild(uidsResourceName).principalForRecord(record)
 
-        parent = self.getChild(uidsResourceName)
-        if record.enabledForCalendaring:
-            principal = DirectoryCalendarPrincipalResource(parent, record)
-        else:
-            principal = DirectoryPrincipalResource(parent, record)
-        return principal
-
     ##
     # Static
     ##
@@ -394,6 +386,9 @@
     def principalForCalendarUserAddress(self, address):
         return self.parent.principalForCalendarUserAddress(address)
 
+    def principalForRecord(self, record):
+        return self.parent.principalForRecord(record)
+
     ##
     # Static
     ##
@@ -453,6 +448,16 @@
     def principalForCalendarUserAddress(self, address):
         return self.parent.principalForCalendarUserAddress(address)
 
+    def principalForRecord(self, record):
+        if record is None:
+            return None
+
+        if record.enabledForCalendaring:
+            principal = DirectoryCalendarPrincipalResource(self, record)
+        else:
+            principal = DirectoryPrincipalResource(self, record)
+        return principal
+
     ##
     # Static
     ##
@@ -474,15 +479,12 @@
 
         record = self.directory.recordWithUID(primaryUID)
 
-        if record is None:
+        primaryPrincipal = self.principalForRecord(record)
+
+        if primaryPrincipal is None:
             log.err("No principal found for UID: %s" % (name,))
             return None
 
-        if record.enabledForCalendaring:
-            primaryPrincipal = DirectoryCalendarPrincipalResource(self, record)
-        else:
-            primaryPrincipal = DirectoryPrincipalResource(self, record)
-
         if subType is None:
             return primaryPrincipal
         else:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20091216/dc9a7c91/attachment.html>


More information about the calendarserver-changes mailing list