From 486f0f7ad17dae3d537649ec2618700cfec0d780 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Fri, 30 Dec 2011 20:29:36 +0000 Subject: [PATCH] Monotone-Parent: 77e874f5910fd1b3a30173bdae0bfa2544be6c07 Monotone-Revision: 995b68ade85d0d884cdf8f6fc87e55f0c376a80c Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-12-30T20:29:36 Monotone-Branch: ca.inverse.sogo --- Tests/Integration/webdavlib.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Tests/Integration/webdavlib.py b/Tests/Integration/webdavlib.py index eee5eb243..46bc6d317 100644 --- a/Tests/Integration/webdavlib.py +++ b/Tests/Integration/webdavlib.py @@ -30,6 +30,7 @@ import sys xmlns_dav = "DAV:" xmlns_caldav = "urn:ietf:params:xml:ns:caldav" +xmlns_carddav = "urn:ietf:params:xml:ns:carddav" xmlns_inversedav = "urn:inverse:params:xml:ns:inverse-dav" url_re = None @@ -401,6 +402,25 @@ class CalDAVCalendarQuery(WebDAVREPORT): filter_node.append(cal_filter_node) self.top_node.append(filter_node) +class CardDAVAddressBookQuery(WebDAVREPORT): + def __init__(self, url, properties, searchProperty = None, searchValue = None): + WebDAVQuery.__init__(self, url) + query_tag = self.ns_mgr.register("addressbook-query", xmlns_carddav) + ns_key = self.ns_mgr.xmlns[xmlns_carddav] + self.top_node = _WD_XMLTreeElement(query_tag) + if properties is not None and len(properties) > 0: + self._initProperties(properties) + + if searchProperty is not None: + filter_node = _WD_XMLTreeElement("%s:filter" % ns_key) + self.top_node.append(filter_node) + propfilter_node = _WD_XMLTreeElement("%s:prop-filter" % ns_key, { "name": searchProperty }) + filter_node.append(propfilter_node) + match_node = _WD_XMLTreeElement("%s:text-match" % ns_key, + { "collation": "i;unicasemap", "match-type": "starts-with" }) + propfilter_node.append(match_node) + match_node.appendSubtree(None, searchValue) + class MailDAVMailQuery(WebDAVREPORT): def __init__(self, url, properties, filters = None, sort = None, ascending = True):