Modified: CalDAVClientLibrary/trunk/caldavclientlibrary/client/clientsession.py (9264 => 9265)
--- CalDAVClientLibrary/trunk/caldavclientlibrary/client/clientsession.py 2012-05-22 19:23:22 UTC (rev 9264)
+++ CalDAVClientLibrary/trunk/caldavclientlibrary/client/clientsession.py 2012-05-22 21:29:28 UTC (rev 9265)
@@ -505,7 +505,7 @@
other = set()
# Create WebDAV sync REPORT
- request = SyncCollection(self, rurl.relativeURL(), headers.Depth1, synctoken, props)
+ request = SyncCollection(self, rurl.relativeURL(), davxml.sync_level_1, synctoken, props)
result = ResponseDataString()
request.setOutput(result)
Modified: CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/definitions/davxml.py (9264 => 9265)
--- CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/definitions/davxml.py 2012-05-22 19:23:22 UTC (rev 9264)
+++ CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/definitions/davxml.py 2012-05-22 21:29:28 UTC (rev 9265)
@@ -101,3 +101,7 @@
sync_collection = QName(DAVNamespace, "sync-collection")
sync_token = QName(DAVNamespace, "sync-token")
+sync_level = QName(DAVNamespace, "sync-level")
+sync_level_1 = "1"
+sync_level_infinite = "infinite"
+
Modified: CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/synccollection.py (9264 => 9265)
--- CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/synccollection.py 2012-05-22 19:23:22 UTC (rev 9264)
+++ CalDAVClientLibrary/trunk/caldavclientlibrary/protocol/webdav/synccollection.py 2012-05-22 21:29:28 UTC (rev 9265)
@@ -1,5 +1,5 @@
##
-# Copyright (c) 2007-2011 Apple Inc. All rights reserved.
+# Copyright (c) 2007-2012 Apple Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -24,11 +24,11 @@
class SyncCollection(Report):
- def __init__(self, session, url, depth, synctoken, props=()):
- assert(depth in (headers.Depth0, headers.Depth1, headers.DepthInfinity))
+ def __init__(self, session, url, level, synctoken, props=()):
+ assert(level in (davxml.sync_level_1, davxml.sync_level_infinite,))
super(SyncCollection, self).__init__(session, url)
- self.depth = depth
+ self.level = level
self.synctoken = synctoken
self.props = props
@@ -45,13 +45,14 @@
super(SyncCollection, self).addHeaders(hdrs)
# Add depth header
- hdrs.append((headers.Depth, self.depth))
+ hdrs.append((headers.Depth, headers.Depth0))
def generateXML(self, os):
# Structure of document is:
#
# <DAV:sync-collection>
# <DAV:sync-token>xxx</DAV:sync-token>
+ # <DAV:sync-level>xxx</DAV:sync-level>
# <DAV:prop>
# <<names of each property as elements>>
# </DAV:prop>
@@ -63,10 +64,13 @@
# Add sync-token element
SubElement(synccollection, davxml.sync_token).text = self.synctoken
+ # Add sync-token element
+ SubElement(synccollection, davxml.sync_level).text = self.level
+
+ # <DAV:prop> element
+ prop = SubElement(synccollection, davxml.prop)
+
if self.props:
- # <DAV:prop> element
- prop = SubElement(synccollection, davxml.prop)
-
# Now add each property
for propname in self.props:
# Add property element taking namespace into account