[CalendarServer-changes] [1017]
CalendarServer/trunk/twistedcaldav/directory/principal.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jan 10 19:11:34 PST 2007
Revision: 1017
http://trac.macosforge.org/projects/calendarserver/changeset/1017
Author: cdaboo at apple.com
Date: 2007-01-10 19:11:33 -0800 (Wed, 10 Jan 2007)
Log Message:
-----------
Allow http/https URIs as calendar user addresses to match principals with and without a trailing
"/" character. This is in lieu of a proper way to do comparisons between URIs (calendar user addresses)
that does proper canonicalization of the URI components.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/directory/principal.py
Modified: CalendarServer/trunk/twistedcaldav/directory/principal.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/directory/principal.py 2007-01-11 02:33:40 UTC (rev 1016)
+++ CalendarServer/trunk/twistedcaldav/directory/principal.py 2007-01-11 03:11:33 UTC (rev 1017)
@@ -131,11 +131,23 @@
if principal:
return principal
- record = self.directory.recordWithCalendarUserAddress(address)
- if record is None:
- return None
+ # Special case server absolute URIs
+ if address.startswith("http:") or address.startswith("https:"):
+ if address.endswith("/"):
+ altaddress = address[:-1]
+ else:
+ altaddress = address + "/"
+ addresses = (address, altaddress,)
else:
- return self.principalForRecord(record)
+ addresses = (address,)
+
+ # Next try looking it up in the directory
+ for addr in addresses:
+ record = self.directory.recordWithCalendarUserAddress(addr)
+ if record is not None:
+ return self.principalForRecord(record)
+
+ return None
##
# Static
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20070110/1a36a42e/attachment.html
More information about the calendarserver-changes
mailing list