[CalendarServer-changes] [3911] CalendarServer/branches/users/wsanchez/deployment/twistedcaldav
source_changes at macosforge.org
source_changes at macosforge.org
Mon Mar 23 09:31:19 PDT 2009
Revision: 3911
http://trac.macosforge.org/projects/calendarserver/changeset/3911
Author: cdaboo at apple.com
Date: 2009-03-23 09:31:18 -0700 (Mon, 23 Mar 2009)
Log Message:
-----------
multiget improvements from trunk.
Modified Paths:
--------------
CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/caldavxml.py
CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/method/report_common.py
CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/static.py
Modified: CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/caldavxml.py
===================================================================
--- CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/caldavxml.py 2009-03-22 22:06:06 UTC (rev 3910)
+++ CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/caldavxml.py 2009-03-23 16:31:18 UTC (rev 3911)
@@ -372,18 +372,14 @@
@classmethod
def fromCalendar(clazz, calendar):
- assert calendar.name() == "VCALENDAR", "Not a calendar: %r" % (calendar,)
- return clazz(davxml.PCDATAElement(str(calendar)))
+ if isinstance(calendar, str):
+ return clazz(davxml.PCDATAElement(calendar))
+ elif isinstance(calendar, iComponent):
+ assert calendar.name() == "VCALENDAR", "Not a calendar: %r" % (calendar,)
+ return clazz(davxml.PCDATAElement(str(calendar)))
+ else:
+ raise ValueError("Not a calendar: %s" % (calendar,))
- @classmethod
- def fromCalendarData(clazz, caldata):
- """
- Return a CalendarData element comprised of the supplied calendar data.
- @param caldata: a string of valid calendar data.
- @return: a L{CalendarData} element.
- """
- return clazz(davxml.PCDATAElement(caldata))
-
def __init__(self, *children, **attributes):
super(CalendarData, self).__init__(*children, **attributes)
@@ -476,7 +472,7 @@
@param resource: the resource whose calendar data is to be returned.
@return: an L{CalendarData} with the (filtered) calendar data.
"""
- return self.elementFromCalendar(resource.iCalendar())
+ return self.elementFromCalendar(resource.iCalendarText())
def elementFromCalendar(self, calendar):
"""
@@ -503,7 +499,7 @@
@param access: private event access restriction level.
@return: an L{CalendarData} with the (filtered) calendar data.
"""
- return self.elementFromCalendarWithAccessRestrictions(resource.iCalendar(), access)
+ return self.elementFromCalendarWithAccessRestrictions(resource.iCalendarText(), access)
def elementFromCalendarWithAccessRestrictions(self, calendar, access):
"""
@@ -627,16 +623,22 @@
Returns a calendar object containing the data in the given calendar
which is specified by this CalendarData.
"""
- if calendar is None or calendar.name() != "VCALENDAR":
+ if calendar is None or isinstance(calendar, str) and not calendar:
raise ValueError("Not a calendar: %r" % (calendar,))
# Empty element: get all data
if not self.children: return calendar
- # CalDAV:comp is required
- if self.component is None:
- raise ValueError("CalDAV:calendar-data %s has no CalDAV:comp child" % (self,))
+ # If we were passed a string, parse it out as a Component
+ if isinstance(calendar, str):
+ try:
+ calendar = iComponent.fromString(calendar)
+ except ValueError:
+ raise ValueError("Not a calendar: %r" % (calendar,))
+ if calendar is None or calendar.name() != "VCALENDAR":
+ raise ValueError("Not a calendar: %r" % (calendar,))
+
# Pre-process the calendar data based on expand and limit options
if self.freebusy_set:
calendar = self.limitFreeBusy(calendar)
Modified: CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/method/report_common.py
===================================================================
--- CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/method/report_common.py 2009-03-22 22:06:06 UTC (rev 3910)
+++ CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/method/report_common.py 2009-03-23 16:31:18 UTC (rev 3911)
@@ -258,11 +258,11 @@
else:
qname = property
- props = waitForDeferred(resource.listProperties(request))
- yield props
- props = props.getResult()
+ has = waitForDeferred(resource.hasProperty(property, request))
+ yield has
+ has = has.getResult()
- if qname in props:
+ if has:
try:
prop = waitForDeferred(resource.readProperty(qname, request))
yield prop
Modified: CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/static.py
===================================================================
--- CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/static.py 2009-03-22 22:06:06 UTC (rev 3910)
+++ CalendarServer/branches/users/wsanchez/deployment/twistedcaldav/static.py 2009-03-23 16:31:18 UTC (rev 3911)
@@ -274,7 +274,7 @@
return calendar_data
def iCalendarXML(self, name=None):
- return caldavxml.CalendarData.fromCalendarData(self.iCalendarText(name))
+ return caldavxml.CalendarData.fromCalendar(self.iCalendarText(name))
def supportedPrivileges(self, request):
# read-free-busy support on calendar collection and calendar object resources
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20090323/31060ad6/attachment.html>
More information about the calendarserver-changes
mailing list