[CalendarServer-changes] [6390] CalDAVClientLibrary/trunk/src/client/principal.py
source_changes at macosforge.org
source_changes at macosforge.org
Thu Sep 30 08:04:05 PDT 2010
Revision: 6390
http://trac.macosforge.org/projects/calendarserver/changeset/6390
Author: cdaboo at apple.com
Date: 2010-09-30 08:04:04 -0700 (Thu, 30 Sep 2010)
Log Message:
-----------
Properly handle properties that are lists but contain only one item.
Modified Paths:
--------------
CalDAVClientLibrary/trunk/src/client/principal.py
Modified: CalDAVClientLibrary/trunk/src/client/principal.py
===================================================================
--- CalDAVClientLibrary/trunk/src/client/principal.py 2010-09-30 00:16:45 UTC (rev 6389)
+++ CalDAVClientLibrary/trunk/src/client/principal.py 2010-09-30 15:04:04 UTC (rev 6390)
@@ -19,9 +19,7 @@
from protocol.url import URL
from protocol.webdav.definitions import davxml
from protocol.caldav.definitions import headers
-import types
-
class PrincipalCache(object):
def __init__(self):
@@ -42,6 +40,9 @@
principalCache = PrincipalCache()
+def make_tuple(item):
+ return item if isinstance(item, tuple) else (item,)
+
class CalDAVPrincipal(object):
def __init__(self, session, path):
@@ -125,13 +126,13 @@
if self.valid:
self.displayname = results.get(davxml.displayname, None)
self.principalURL = results.get(davxml.principal_URL, None)
- self.alternateURIs = results.get(davxml.alternate_URI_set, None)
- self.memberset = results.get(davxml.group_member_set, None)
- self.memberships = results.get(davxml.group_membership, None)
- self.homeset = results.get(caldavxml.calendar_home_set, None)
+ self.alternateURIs = make_tuple(results.get(davxml.alternate_URI_set, None))
+ self.memberset = make_tuple(results.get(davxml.group_member_set, None))
+ self.memberships = make_tuple(results.get(davxml.group_membership, None))
+ self.homeset = make_tuple(results.get(caldavxml.calendar_home_set, None))
self.outboxURL = results.get(caldavxml.schedule_outbox_URL, None)
self.inboxURL = results.get(caldavxml.schedule_inbox_URL, None)
- self.cuaddrs = results.get(caldavxml.calendar_user_address_set, None)
+ self.cuaddrs = make_tuple(results.get(caldavxml.calendar_user_address_set, None))
# Get proxy resource details if proxy support is available
if self.session.hasDAVVersion(headers.calendar_proxy) and not self.proxyFor:
@@ -154,7 +155,7 @@
def listCalendars(self, root=None):
calendars = []
- home = self.homeset[0] if type(self.homeset) in (types.TupleType,) else self.homeset
+ home = self.homeset[0]
if not home.path.endswith("/"):
home.path += "/"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20100930/090d89af/attachment.html>
More information about the calendarserver-changes
mailing list