Please bear with us as we work to restore functionality to dotfiles.org.
_why
/.gurgitate-rules
I dropped procmail for gurgitate about four years ago or something. The list was originally stored in YAML, but one day I decided to put it in this extremely lightweight markup. Check that out: the parser is right there! Kind of lame, but oh well.
maildir = "Mail"
# marked up list of subscriptions
listk = nil
lists = %w[
|Camping|
To:camping-list@rubyforge.org
|Conkeror|
To:conkeror@mozdev.org
|Greasemonkey|
To:greasemonkey-users@googlegroups.com
|Hobix|
To:hobix-is-the-way@rubyforge.org
|Io|
From:iolanguage-owner@yahoogroups.com
To:iolanguage@yahoogroups.com
|ModRuby|
To:modruby@modruby.net
|Mongrel-Users|
Subject:[Mongrel]
To:mongrel-users@rubyforge.org
|MouseHole|
To:mousehole-scripters@rubyforge.org
|Poignant|
To:poignant-stiffs@rubyforge.org
To:poignant-translators@rubyforge.org
To:poignant-watchers@rubyforge.org
|Ragel-Users|
To:ragel-users@googlegroups.com
|RedCloth|
To:redcloth-upwards@rubyforge.org
|RubyGems-Developers|
Subject:[Rubygems-developers]
|Ruby-Grammarians|
To:rubygrammar-grammarians@rubyforge.org
|Ruby-Talk|
To:ruby-talk@ruby-lang.org
|Ruby-Char|
To:char-encodings-development@rubyforge.org
|Ruby-Dev|
To:ruby-dev@ruby-lang.org
|Ruby-Core|
To:ruby-core@ruby-lang.org
To:ruby-cvs@ruby-lang.org
|Ruby-Vit| To:vit-discuss@rubyforge.org
|Ruby-VitCore| To:vit-core@rubyforge.org
|Ruby-Zine| To:rubyzine@lists.artima.com
|Rake-Devel|
X-BeenThere:rake-devel@rubyforge.org
To:rake-devel@rubyforge.org
|ShiftSpace|
To:ShiftSpace@googlegroups.com
|Yaml-core| Subject:[Yaml-core]
|Yarv-Devel|
From:yarv-dev-en@quickml.atdot.net
To:yarv-dev-en@quickml.atdot.net
|Wmii|
To:wmii@suckless.org
].inject({}) do |hsh, v|
if v =~ /^\|(.+)\|$/
listk = $1
else
(hsh[listk] ||= []) << v.split(':')
end
hsh
end
# filter and store
case pipe( '/usr/local/bin/bogofilter' ) when 1
lists.each do |tobox, rules|
rules.each do |hdr, val|
re = Regexp::quote val
case hdr when "To"
hdr = ["To", "Cc", "Reply-To"]
re = /\b#{re}\b/i
when "Subject"
re = /#{re}/i
else
re = /\b#{re}\b/i
end
if headers[*hdr] =~ re
save "=.IN.#{tobox}"
return
end
end
end
save "="
return
else
save '=.Spam.Detected'
return
end