summaryrefslogtreecommitdiff
path: root/bin/feed2imap-cleaner
diff options
context:
space:
mode:
Diffstat (limited to 'bin/feed2imap-cleaner')
-rwxr-xr-xbin/feed2imap-cleaner32
1 files changed, 32 insertions, 0 deletions
diff --git a/bin/feed2imap-cleaner b/bin/feed2imap-cleaner
new file mode 100755
index 0000000..dc119f6
--- /dev/null
+++ b/bin/feed2imap-cleaner
@@ -0,0 +1,32 @@
+#!/usr/bin/ruby
+
+$:.unshift File.join(File.dirname(__FILE__), '..', 'lib')
+
+require 'feed2imap/feed2imap'
+require 'optparse'
+
+configf = ENV['HOME'] + '/.feed2imaprc'
+dryrun = false
+
+opts = OptionParser::new do |opts|
+ opts.banner = "Usage: feed2imap-cleaner [options]"
+ opts.separator ""
+ opts.separator "Options:"
+ opts.on("-d", "--dry-run", "Dont really remove messages") do |v|
+ dryrun = true
+ end
+ opts.on("-f", "--config <file>", "Select alternate config file") do |f|
+ configf = f
+ end
+end
+opts.parse!(ARGV)
+
+config = nil
+File::open(configf) { |f| config = F2IConfig::new(f) }
+config.imap_accounts.each_value do |ac|
+ ac.connect
+end
+config.feeds.each do |f|
+ f.imapaccount.cleanup(f.folder, dryrun)
+end
+