mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-01 03:22:43 +00:00
Monotone-Parent: 77e874f5910fd1b3a30173bdae0bfa2544be6c07
Monotone-Revision: 995b68ade85d0d884cdf8f6fc87e55f0c376a80c Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2011-12-30T20:29:36 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user