Пример #1
0
 def match(item, filter_):
     tag = collection_tag
     if (tag == "VCALENDAR"
             and filter_.tag != xmlutils.make_clark("C:%s" % filter_)):
         if len(filter_) == 0:
             return True
         if len(filter_) > 1:
             raise ValueError("Filter with %d children" % len(filter_))
         if filter_[0].tag != xmlutils.make_clark("C:comp-filter"):
             raise ValueError("Unexpected %r in filter" % filter_[0].tag)
         return radicale_filter.comp_match(item, filter_[0])
     if (tag == "VADDRESSBOOK"
             and filter_.tag != xmlutils.make_clark("CR:%s" % filter_)):
         for child in filter_:
             if child.tag != xmlutils.make_clark("CR:prop-filter"):
                 raise ValueError("Unexpected %r in filter" % child.tag)
         test = filter_.get("test", "anyof")
         if test == "anyof":
             return any(
                 radicale_filter.prop_match(item.vobject_item, f, "CR")
                 for f in filter_)
         if test == "allof":
             return all(
                 radicale_filter.prop_match(item.vobject_item, f, "CR")
                 for f in filter_)
         raise ValueError("Unsupported filter test: %r" % test)
     raise ValueError("Unsupported filter %r for %r" % (filter_.tag, tag))
Пример #2
0
 def match(item, filter_):
     tag = collection_tag
     if (tag == "VCALENDAR" and
             filter_.tag != xmlutils.make_tag("C", filter_)):
         if len(filter_) == 0:
             return True
         if len(filter_) > 1:
             raise ValueError("Filter with %d children" % len(filter_))
         if filter_[0].tag != xmlutils.make_tag("C", "comp-filter"):
             raise ValueError("Unexpected %r in filter" % filter_[0].tag)
         return radicale_filter.comp_match(item, filter_[0])
     if (tag == "VADDRESSBOOK" and
             filter_.tag != xmlutils.make_tag("CR", filter_)):
         for child in filter_:
             if child.tag != xmlutils.make_tag("CR", "prop-filter"):
                 raise ValueError("Unexpected %r in filter" % child.tag)
         test = filter_.get("test", "anyof")
         if test == "anyof":
             return any(
                 radicale_filter.prop_match(item.vobject_item, f, "CR")
                 for f in filter_)
         if test == "allof":
             return all(
                 radicale_filter.prop_match(item.vobject_item, f, "CR")
                 for f in filter_)
         raise ValueError("Unsupported filter test: %r" % test)
         return all(radicale_filter.prop_match(item.vobject_item, f, "CR")
                    for f in filter_)
     raise ValueError("unsupported filter %r for %r" % (filter_.tag, tag))