diff options
author | Louise Crow <louise.crow@gmail.com> | 2013-06-17 15:18:30 -0700 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2013-06-17 15:18:30 -0700 |
commit | 59035797b11758cd514caa5db253c2b9495341f9 (patch) | |
tree | 3a4eba1effe5f9407b84df43ac7e84c0756a6ed6 /lib/tasks/temp.rake | |
parent | 52d43ecf01cc22aa0fcad82f46b577bb55126ccc (diff) | |
parent | 717353e2139d40b4c7646b890b571004f962d4a7 (diff) |
Merge branch 'wdtk' of ssh://git.mysociety.org/data/git/public/alaveteli into wdtk
Diffstat (limited to 'lib/tasks/temp.rake')
-rw-r--r-- | lib/tasks/temp.rake | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/tasks/temp.rake b/lib/tasks/temp.rake index 35ae442c7..fcabb23de 100644 --- a/lib/tasks/temp.rake +++ b/lib/tasks/temp.rake @@ -7,6 +7,28 @@ namespace :temp do user.save! unless dryrun end + desc "Re-extract any missing cached attachments" + task :reextract_missing_attachments, [:commit] => :environment do |t, args| + dry_run = args.commit.nil? || args.commit.empty? + total_messages = 0 + messages_to_reparse = 0 + IncomingMessage.find_each :include => :foi_attachments do |im| + reparse = im.foi_attachments.any? { |fa| ! File.exists? fa.filepath } + total_messages += 1 + messages_to_reparse += 1 if reparse + if total_messages % 1000 == 0 + puts "Considered #{total_messages} received emails." + end + unless dry_run + im.parse_raw_email! true if reparse + sleep 2 + end + end + message = dry_run ? "Would reparse" : "Reparsed" + message += " #{messages_to_reparse} out of #{total_messages} received emails." + puts message + end + desc 'Cleanup accounts with a space in the email address' task :clean_up_emails_with_spaces => :environment do dryrun = ENV['DRYRUN'] == '0' ? false : true |