From 24c55bd61314dec667bcbb4cb148d812cd526c57 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Wed, 12 Sep 2018 21:53:01 +0800 Subject: [PATCH] Add dry run option to `UploadRecovery`. --- lib/tasks/uploads.rake | 6 ++++-- lib/upload_recovery.rb | 10 +++++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib/tasks/uploads.rake b/lib/tasks/uploads.rake index ea6e235706..559136dd22 100644 --- a/lib/tasks/uploads.rake +++ b/lib/tasks/uploads.rake @@ -719,11 +719,13 @@ end task "uploads:recover" => :environment do require_dependency "upload_recovery" + dry_run = ENV["DRY_RUN"].present? + if ENV["RAILS_DB"] - UploadRecovery.new.recover + UploadRecovery.new(dry_run: dry_run).recover else RailsMultisite::ConnectionManagement.each_connection do |db| - UploadRecovery.new.recover + UploadRecovery.new(dry_run: dry_run).recover end end end diff --git a/lib/upload_recovery.rb b/lib/upload_recovery.rb index 90b21a36d8..176ba6ca14 100644 --- a/lib/upload_recovery.rb +++ b/lib/upload_recovery.rb @@ -1,4 +1,8 @@ class UploadRecovery + def initialize(dry_run: false) + @dry_run = dry_run + end + def recover Post.where("raw LIKE '%upload:\/\/%'").find_each do |post| analyzer = PostAnalyzer.new(post.raw, post.topic_id) @@ -12,7 +16,11 @@ class UploadRecovery end if img["data-orig-src"] - recover_post_upload(post, img["data-orig-src"]) + if @dry_run + puts "#{post.full_url} #{img["data-orig-src"]}" + else + recover_post_upload(post, img["data-orig-src"]) + end end end end