conditions: fix criteria for 'or'
[imapami.git] / imapami / conditions.py
index 97675a7..4d06e88 100644 (file)
@@ -128,7 +128,8 @@ class ImapamiCondNot(ImapamiCond):
     name = "not"
     def __init__(self, cond):
         cond = new(cond)
-        ImapamiCond.__init__(self, fetch=cond.fetch, criteria=cond.criteria)
+        criteria = 'NOT (%s)' % (cond.get_criteria())
+        ImapamiCond.__init__(self, fetch=cond.fetch, criteria=criteria)
         self.cond = cond
 
     def check(self, ami, mail):
@@ -675,7 +676,7 @@ class ImapamiCondOr(ImapamiCond):
             else:
                 criteria = 'OR (%s) (%s)' % (criteria, crit)
         if criteria != '':
-            criteria = set().add(criteria)
+            criteria = set([criteria])
         fetch = imapami.utils.highest_fetch_level(
             [c.fetch for c in cond_list])
         ImapamiCond.__init__(self, fetch=fetch, criteria=criteria)