add large post fix script
This commit is contained in:
57
script/fixes/005.rb
Normal file
57
script/fixes/005.rb
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
|
||||||
|
require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'config', 'environment'))
|
||||||
|
|
||||||
|
Post.where("image_width > 850").find_each do |post|
|
||||||
|
if !post.is_image?
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
if !File.exists?(post.file_path)
|
||||||
|
puts "NOT FOUND: #{post.id}"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
if File.size(post.file_path) == 0
|
||||||
|
puts "NOT FOUND: #{post.id}"
|
||||||
|
next
|
||||||
|
end
|
||||||
|
|
||||||
|
resize = false
|
||||||
|
|
||||||
|
if !File.exists?(post.large_file_path)
|
||||||
|
puts "LARGE NOT FOUND: #{post.id}"
|
||||||
|
resize = true
|
||||||
|
end
|
||||||
|
|
||||||
|
if File.size(post.large_file_path) == 0
|
||||||
|
puts "LARGE NOT FOUND: #{post.id}"
|
||||||
|
resize = true
|
||||||
|
end
|
||||||
|
|
||||||
|
if !resize
|
||||||
|
File.open(post.large_file_path, "r") do |file|
|
||||||
|
image_size = ImageSize.new(file)
|
||||||
|
|
||||||
|
if (image_size.width - post.large_image_width).abs > 5
|
||||||
|
puts "MISMATCH: #{post.id}: #{image_size.width} != #{post.large_image_width}"
|
||||||
|
resize = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
if resize
|
||||||
|
puts "RESIZING #{post.id}"
|
||||||
|
upload = Upload.new
|
||||||
|
upload.file_ext = post.file_ext
|
||||||
|
upload.image_width = post.image_width
|
||||||
|
upload.image_height = post.image_height
|
||||||
|
upload.md5 = post.md5
|
||||||
|
begin
|
||||||
|
upload.generate_resizes(post.file_path)
|
||||||
|
post.distribute_files
|
||||||
|
rescue Magick::ImageMagickError
|
||||||
|
puts "RESIZE ERROR #{post.id}"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user