22 lines
No EOL
821 B
Ruby
22 lines
No EOL
821 B
Ruby
namespace :debshots do
|
|
desc "Remove screenshot objects with non-existing images"
|
|
|
|
task :remove_broken_screenshots => :environment do
|
|
Rails.logger = Logger.new(STDOUT)
|
|
Rails.logger.level = Logger::INFO
|
|
#Rails.logger.level = Logger::DEBUG
|
|
|
|
Rails.logger.info "Iterating over screenshots"
|
|
# TODO: fix for Shrine - this only works for Paperclip
|
|
Screenshot.all.each do |screenshot|
|
|
# Check that the file actually exists
|
|
path = screenshot.image.path(:large)
|
|
# Rails.logger.info "- #{screenshot.id} (package: #{screenshot.package.name}) (path: #{path})"
|
|
unless path and (File.file? path)
|
|
Rails.logger.info "Screenshot #{screenshot.id} image file not found at path '#{path}'. Removing."
|
|
screenshot.delete
|
|
end
|
|
end
|
|
Rails.logger.info "Done."
|
|
end
|
|
end |