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