Files
danbooru/script/fixes/079_fix_duration.rb
evazion d8de58d991 Fix bug in 079_fix_duration.rb
`assets` was unused.
2021-10-17 18:31:54 -05:00

16 lines
563 B
Ruby
Executable File

#!/usr/bin/env ruby
require_relative "../../config/environment"
tags = ENV.fetch("TAGS", "animated")
posts = Post.system_tag_match(tags)
posts = posts.joins(:media_asset).where(media_asset: { duration: nil })
posts.find_each do |post|
media_file = MediaFile.open(post.file(:original), frame_data: post.pixiv_ugoira_frame_data&.data)
post.media_asset.update!(duration: media_file.duration)
puts "id=#{post.id}, md5=#{post.md5}, ext=#{post.file_ext}, duration=#{post.media_asset.duration}"
rescue StandardError => e
puts "error[id=#{post.id}]: #{e}"
end