aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--filters/mailing_lists_filter.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/filters/mailing_lists_filter.rb b/filters/mailing_lists_filter.rb
index 872a817..feaee0e 100644
--- a/filters/mailing_lists_filter.rb
+++ b/filters/mailing_lists_filter.rb
@@ -5,7 +5,12 @@ module Chotto
# Baed on RFC 2919
module MailingListsFilter
def self.list_id_from_header(value)
- value.match(/<(.*)>/)[1].gsub(' ', '')
+ id = value.match(/<(.*)>/)
+ if id
+ id[1]&.gsub(' ', '')
+ else
+ value
+ end
end
end
end
@@ -13,9 +18,12 @@ end
MAILING_LIST_FILTER = lambda do
Chotto.rule_set 'mailing_lists' do
messages.filter('NOT tag:lists').each do |msg|
+ unless msg.list_id.empty?
+
list_id = Chotto::MailingListsFilter.list_id_from_header(msg.list_id)
msg.tags = ['unread', 'inbox', 'lists', "lists/#{list_id}"]
msg.save!
+ end
end
end
end