From a2bc24456f53da77a2e3a6c34d1f7e8921848f4e Mon Sep 17 00:00:00 2001 From: Ted Johansson Date: Wed, 17 May 2023 16:03:33 +0800 Subject: [PATCH] DEV: Update call sites using BaseStore#download but expecting exceptions (#21551) In #21498, we split `BaseStore#download` into a "safe" version which returns nil on errors, and an "unsafe" version which raises an exception, which was the old behaviour of `#download`. This change updates call sites that used the old `#download`, which raised exceptions, to use the new `#download!` to preserve behaviour (and silence deprecation warnings.) It also silences the deprecation warning in tests. --- app/models/optimized_image.rb | 2 +- app/models/upload.rb | 16 ++++++++-------- lib/email/sender.rb | 2 +- lib/file_store/base_store.rb | 2 +- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/models/optimized_image.rb b/app/models/optimized_image.rb index ff3b5a6c089..25dd5b860a0 100644 --- a/app/models/optimized_image.rb +++ b/app/models/optimized_image.rb @@ -146,7 +146,7 @@ class OptimizedImage < ActiveRecord::Base if local? Discourse.store.path_for(self) else - Discourse.store.download(self).path + Discourse.store.download!(self).path end File.size(path) end diff --git a/app/models/upload.rb b/app/models/upload.rb index a3b62cedb3e..cea39988f8e 100644 --- a/app/models/upload.rb +++ b/app/models/upload.rb @@ -144,7 +144,7 @@ class Upload < ActiveRecord::Base external_copy = nil if original_path.blank? - external_copy = Discourse.store.download(self) + external_copy = Discourse.store.download!(self) original_path = external_copy.path end @@ -268,14 +268,14 @@ class Upload < ActiveRecord::Base def fix_dimensions! return if !FileHelper.is_supported_image?("image.#{extension}") - path = - if local? - Discourse.store.path_for(self) - else - Discourse.store.download(self).path - end - begin + path = + if local? + Discourse.store.path_for(self) + else + Discourse.store.download!(self).path + end + if extension == "svg" w, h = begin diff --git a/lib/email/sender.rb b/lib/email/sender.rb index 0f62d07bc95..fceb484322b 100644 --- a/lib/email/sender.rb +++ b/lib/email/sender.rb @@ -363,7 +363,7 @@ module Email if attached_upload.local? Discourse.store.path_for(attached_upload) else - Discourse.store.download(attached_upload).path + Discourse.store.download!(attached_upload).path end @message_attachments_index[original_upload.sha1] = @message.attachments.size diff --git a/lib/file_store/base_store.rb b/lib/file_store/base_store.rb index e896bf5d8ae..ff98b06231a 100644 --- a/lib/file_store/base_store.rb +++ b/lib/file_store/base_store.rb @@ -105,7 +105,7 @@ module FileStore end def download(object, max_file_size_kb: nil, print_deprecation: true) - Discourse.deprecate(<<~MESSAGE, output_in_test: true) if print_deprecation + Discourse.deprecate(<<~MESSAGE) if print_deprecation In a future version `FileStore#download` will no longer raise an error when the download fails, and will instead return `nil`. If you need a method that raises an error, use `FileStore#download!`, which raises a `FileStore::DownloadError`.