:returns:
A list of IMAP items
"""
- # select the input mailbox
- if self.inbox is not None:
- ami.imap.select(self.inbox)
- else:
- ami.imap.select(inbox)
-
# search messages matching conditions
criteria = "(%s)" % self.get_criteria(ami)
ami.logger.debug("processing rule %s, inbox %s, imap criteria %s",
return
item_list = items[0].split()
+ item_list = [i for i in item_list if int(i) < ami.uidnext[inbox]]
ami.logger.debug("matching mails returned by server: %s", item_list)
return item_list
ami.logger.debug('get imap parts = %s', parts_str)
return parts_str, parts
- def process(self, ami, inbox):
+ def process(self, ami):
"""
Process the rule.
:arg Imapami ami:
The Imapami object
- :arg string inbox:
- The default input mailbox directory.
"""
+ if self.inbox is not None:
+ inbox = self.inbox
+ else:
+ inbox = ami.config["inbox"]
+ ami.imap.select(inbox)
+
# get the list of items (mails) matching the condition criteria
item_list = self._search(ami, inbox)
# determine what parts should be fetched