The imapautofiler.rules Module¶
-
class
imapautofiler.rules.And(rule_data, cfg)¶ Bases:
imapautofiler.rules.RuleTrue if all of the sub-rules are true.
The rule data must contain a
ruleslist with other rules specifications.Actions on the sub-rules are ignored.
-
NAME= 'and'¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
-
class
imapautofiler.rules.HeaderExactValue(rule_data, cfg)¶ Bases:
imapautofiler.rules._HeaderMatcher
-
class
imapautofiler.rules.HeaderExists(rule_data, cfg)¶ Bases:
imapautofiler.rules.RuleLooks for a message to have a given header.
-
NAME= 'header-exists'¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
-
class
imapautofiler.rules.HeaderRegex(rule_data, cfg)¶ Bases:
imapautofiler.rules._HeaderMatcherImplements regular expression matching for headers.
-
class
imapautofiler.rules.HeaderSubString(rule_data, cfg)¶ Bases:
imapautofiler.rules._HeaderMatcherImplements substring matching for headers.
-
class
imapautofiler.rules.Headers(rule_data, cfg)¶ Bases:
imapautofiler.rules.RuleTrue if all of the headers match.
The rule data must contain a
headerslist of mappings containing anamefor the header itself and either asubstringkey mapped to a simple string or aregexkey mapped to a regular expression to be matched against the value of the header.-
NAME= 'headers'¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
-
class
imapautofiler.rules.IsMailingList(rule_data, cfg)¶ Bases:
imapautofiler.rules.HeaderExistsLooks for a message to have a given header.
-
NAME= 'is-mailing-list'¶
-
-
class
imapautofiler.rules.Or(rule_data, cfg)¶ Bases:
imapautofiler.rules.RuleTrue if any one of the sub-rules is true.
The rule data must contain a
ruleslist with other rules specifications.Actions on the sub-rules are ignored.
-
NAME= 'or'¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
-
class
imapautofiler.rules.Recipient(rule_data, cfg)¶ Bases:
imapautofiler.rules.OrTrue if any recipient sub-rule matches.
The rule data must contain a
recipientmapping containing either asubstringkey mapped to a simple string or aregexkey mapped to a regular expression.-
NAME= 'recipient'¶
-
-
class
imapautofiler.rules.Rule(rule_data, cfg)¶ Bases:
objectBase class
-
NAME= None¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
get_action()¶
-
-
class
imapautofiler.rules.TimeLimit(rule_data, cfg)¶ Bases:
imapautofiler.rules.RuleTrue if message is older than the specified ‘age’ measured in number of days.
-
NAME= 'time-limit'¶
-
check(message)¶ Test the rule on the message.
Parameters: - conn (imapclient.IMAPClient) – connection to IMAP server
- message (email.message.Message) – the message object to process
-
-
imapautofiler.rules.factory(rule_data, cfg)¶ Create a rule processor.
Parameters: - rule_data (dict) – portion of configuration describing the rule
- cfg (dict) – full configuration data
Using the rule type, instantiate a rule processor that can check the rule against a message.