[CalendarServer-changes] [8232] CalendarServer/trunk/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Thu Oct 27 14:18:48 PDT 2011
Revision: 8232
http://trac.macosforge.org/projects/calendarserver/changeset/8232
Author: cdaboo at apple.com
Date: 2011-10-27 14:18:48 -0700 (Thu, 27 Oct 2011)
Log Message:
-----------
Default address book URLs end in trailing /.
Modified Paths:
--------------
CalendarServer/trunk/twistedcaldav/resource.py
CalendarServer/trunk/twistedcaldav/test/test_resource.py
Modified: CalendarServer/trunk/twistedcaldav/resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/resource.py 2011-10-27 21:18:09 UTC (rev 8231)
+++ CalendarServer/trunk/twistedcaldav/resource.py 2011-10-27 21:18:48 UTC (rev 8232)
@@ -2667,8 +2667,10 @@
"Invalid URI",
))
else:
- # Canonicalize the URL to __uids__ form
+ # Canonicalize the URL to __uids__ form and always ensure a trailing /
adbkURI = (yield adbk.canonicalURL(request))
+ if not adbkURI.endswith("/"):
+ adbkURI += "/"
property = carddavxml.DefaultAddressBookURL(davxml.HRef(adbkURI))
yield super(AddressBookHomeResource, self).writeProperty(property, request)
@@ -2731,6 +2733,10 @@
defaultAddressBookURL = joinURL(self.url(), anAddressBook.name())
+ # Always ensure a trailing /
+ if not defaultAddressBookURL.endswith("/"):
+ defaultAddressBookURL += "/"
+
self.writeDeadProperty(
carddavxml.DefaultAddressBookURL(
davxml.HRef(defaultAddressBookURL)
Modified: CalendarServer/trunk/twistedcaldav/test/test_resource.py
===================================================================
--- CalendarServer/trunk/twistedcaldav/test/test_resource.py 2011-10-27 21:18:09 UTC (rev 8231)
+++ CalendarServer/trunk/twistedcaldav/test/test_resource.py 2011-10-27 21:18:48 UTC (rev 8232)
@@ -247,7 +247,7 @@
except HTTPError:
self.fail("carddavxml.DefaultAddressBookURL is not present")
else:
- self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/addressbook")
+ self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/addressbook/")
request._newStoreTransaction.abort()
@@ -273,7 +273,7 @@
newadbk = yield request.locateResource("/addressbooks/users/wsanchez/newadbk")
yield newadbk.createAddressBookCollection()
home.writeDeadProperty(carddavxml.DefaultAddressBookURL(
- davxml.HRef("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk")
+ davxml.HRef("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk/")
))
request._newStoreTransaction.commit()
@@ -303,7 +303,7 @@
except HTTPError:
self.fail("carddavxml.DefaultAddressBookURL is not present")
else:
- self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk")
+ self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk/")
request._newStoreTransaction.abort()
@@ -318,17 +318,17 @@
home = yield request.locateResource("/addressbooks/users/wsanchez")
# Create a new default adbk
- newadbk = yield request.locateResource("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk")
+ newadbk = yield request.locateResource("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk/")
yield newadbk.createAddressBookCollection()
home.writeDeadProperty(carddavxml.DefaultAddressBookURL(
- davxml.HRef("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk")
+ davxml.HRef("/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk/")
))
try:
default = yield home.readProperty(carddavxml.DefaultAddressBookURL, request)
except HTTPError:
self.fail("carddavxml.DefaultAddressBookURL is not present")
else:
- self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk")
+ self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/newadbk/")
# Force the new calendar to think it is a virtual share
newadbk._isVirtualShare = True
@@ -338,6 +338,6 @@
except HTTPError:
self.fail("carddavxml.DefaultAddressBookURL is not present")
else:
- self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/addressbook")
+ self.assertEqual(str(default.children[0]), "/addressbooks/__uids__/6423F94A-6B76-4A3A-815B-D52CFD77935D/addressbook/")
request._newStoreTransaction.abort()
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20111027/3de96c35/attachment-0001.html>
More information about the calendarserver-changes
mailing list