[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