Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions app/services/images/convert.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ def self.to_tiff(file)
convert << file.path
convert << '-define'
convert << 'tiff:tile-geometry=1024x1024'
convert << '-define'
convert << 'ptif:pyramid=1024x8'
convert << '-depth'
convert << '8'
convert << '-compress'
Expand Down
41 changes: 41 additions & 0 deletions lib/tasks/iiif.rake
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,47 @@ namespace :iiif do
end
end

desc 'Converts the source images to pyramidal TIFFs for resources created in a given date range'
task convert_images_by_date_range: :environment do
# Parse the arguments
options = {}

opt_parser = OptionParser.new do |opts|
opts.banner = 'Usage: rake iiif:convert_images_by_date_range [options]'
opts.on('--after after_date', 'After this date') { |after| options[:after] = after }
opts.on('--before before_date', 'Before this date') { |before| options[:before] = before }
end

args = opt_parser.order!(ARGV) {}
opt_parser.parse!(args)

if options[:after].blank? && options[:before].blank?
puts 'Please specify at least one date (--after and/or --before)...'
exit 0
end

query = Resource.with_attachment('content') do |subquery|
Comment thread
ajolipa marked this conversation as resolved.
Outdated
subquery = subquery
.joins(:blob)
.where('active_storage_blobs.byte_size > ?', 0)

subquery = subquery.where('active_storage_blobs.created_at > ?', options[:after]) if options[:after].present?
subquery = subquery.where('active_storage_blobs.created_at < ?', options[:before]) if options[:before].present?

subquery
end

total_queued = 0
query.in_batches do |resources|
resources.pluck(:id).each do |resource_id|
ConvertImageJob.perform_later(resource_id)
total_queued += 1
end
end

puts "Queued #{total_queued} resources for conversion"
end

desc 'Converts the source images to pyramidal TIFFs for resources by the specified MIME type'
task convert_images_by_type: :environment do
# Parse the arguments
Expand Down