Fix error handling in `tootctl media remove-orphans` (#12571)

th-downstream
Eugen Rochko 5 years ago committed by GitHub
parent 0769ef8277
commit fa15a5e9f2

@ -67,7 +67,15 @@ module Mastodon
last_key = options[:start_after] last_key = options[:start_after]
loop do loop do
objects = bucket.objects(start_after: last_key, prefix: 'media_attachments/files/').limit(1000).map { |x| x } objects = begin
begin
bucket.objects(start_after: last_key, prefix: 'media_attachments/files/').limit(1000).map { |x| x }
rescue => e
progress.log(pastel.red("Error fetching list of files: #{e}"))
progress.log("If you want to continue from this point, add --start-after=#{last_key} to your command") if last_key
break
end
end
break if objects.empty? break if objects.empty?
@ -82,10 +90,16 @@ module Mastodon
next unless attachments_map[attachment_id].nil? || !attachments_map[attachment_id].variant?(filename) next unless attachments_map[attachment_id].nil? || !attachments_map[attachment_id].variant?(filename)
reclaimed_bytes += object.size begin
removed += 1 object.delete unless options[:dry_run]
object.delete unless options[:dry_run]
progress.log("Found and removed orphan: #{object.key}") reclaimed_bytes += object.size
removed += 1
progress.log("Found and removed orphan: #{object.key}")
rescue => e
progress.log(pastel.red("Error processing #{object.key}: #{e}"))
end
end end
end end
when :fog when :fog
@ -108,10 +122,18 @@ module Mastodon
next unless attachment.nil? || !attachment.variant?(filename) next unless attachment.nil? || !attachment.variant?(filename)
reclaimed_bytes += File.size(path) begin
removed += 1 size = File.size(path)
File.delete(path) unless options[:dry_run]
progress.log("Found and removed orphan: #{key}") File.delete(path) unless options[:dry_run]
reclaimed_bytes += size
removed += 1
progress.log("Found and removed orphan: #{key}")
rescue => e
progress.log(pastel.red("Error processing #{key}: #{e}"))
end
end end
end end

Loading…
Cancel
Save