X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=bin%2Fsup-sync-back;h=6298c97c3e6190e8704ff2cd1333843f09511fea;hb=93ed1a68e1b4321b62bfd15600b04d3adb6f7c57;hp=56ac4eb51c05545e8879c976fcbf8b9c4d695c65;hpb=efedd495db72618aa9af9a576963abbbf69aaf97;p=sup diff --git a/bin/sup-sync-back b/bin/sup-sync-back index 56ac4eb..6298c97 100755 --- a/bin/sup-sync-back +++ b/bin/sup-sync-back @@ -65,8 +65,8 @@ EOS end Redwood::start -index = Redwood::Index.new -index.lock_or_die +index = Redwood::Index.init +index.lock_interactively or exit deleted_fp, spam_fp = nil unless opts[:dry_run] @@ -108,30 +108,30 @@ EOS source.reset! num_dropped = num_moved = num_scanned = 0 - + out_fp = Tempfile.new "sup-sync-back-#{source.id}" - Redwood::PollManager.add_messages_from source do |m_old, m, offset| + Redwood::PollManager.each_message_from source do |m| num_scanned += 1 - if m_old + if(m_old = index.build_message(m.id)) labels = m_old.labels if labels.member? :deleted if opts[:drop_deleted] - puts "Dropping deleted message #{source}##{offset}" if opts[:verbose] + puts "Dropping deleted message #{source}##{m.source_info}" if opts[:verbose] num_dropped += 1 elsif opts[:move_deleted] && labels.member?(:deleted) - puts "Moving deleted message #{source}##{offset}" if opts[:verbose] + puts "Moving deleted message #{source}##{m.source_info}" if opts[:verbose] save m, deleted_fp unless opts[:dry_run] num_moved += 1 end elsif labels.member? :spam if opts[:drop_spam] - puts "Dropping spam message #{source}##{offset}" if opts[:verbose] + puts "Dropping spam message #{source}##{m.source_info}" if opts[:verbose] num_dropped += 1 elsif opts[:move_spam] && labels.member?(:spam) - puts "Moving spam message #{source}##{offset}" if opts[:verbose] + puts "Moving spam message #{source}##{m.source_info}" if opts[:verbose] save m, spam_fp unless opts[:dry_run] num_moved += 1 end @@ -141,8 +141,6 @@ EOS else save m, out_fp unless opts[:dry_run] end - - nil # don't actually add anything! end $stderr.puts "Scanned #{num_scanned}, dropped #{num_dropped}, moved #{num_moved} messages from #{source}." modified_sources << source if num_dropped > 0 || num_moved > 0