From 7521ad4050f25147c7f807b8bffd9872734a15d5 Mon Sep 17 00:00:00 2001 From: braydonjustice <braydonjustice@gmail.com> Date: Fri, 6 Dec 2024 00:15:19 -0800 Subject: [PATCH] accounts for valkyrie storage, and allows for exporting of files. --- app/parsers/bulkrax/csv_parser.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/parsers/bulkrax/csv_parser.rb b/app/parsers/bulkrax/csv_parser.rb index 03159ebb..721bb3a1 100644 --- a/app/parsers/bulkrax/csv_parser.rb +++ b/app/parsers/bulkrax/csv_parser.rb @@ -244,15 +244,19 @@ def store_files(identifier, folder_count) record = Bulkrax.object_factory.find(identifier) return unless record - file_sets = record.file_set? ? Array.wrap(record) : record.file_sets + if record.file_set? + file_sets = Array.wrap(record) + else # for valkyrie + file_sets = record.respond_to?(:file_sets) ? record.file_sets : record.members&.select{|m| m.file_set?} + end file_sets << record.thumbnail if exporter.include_thumbnails && record.thumbnail.present? && record.work? file_sets.each do |fs| path = File.join(exporter_export_path, folder_count, 'files') FileUtils.mkdir_p(path) unless File.exist? path file = filename(fs) next if file.blank? || fs.original_file.blank? - - io = open(fs.original_file.uri) + byebug + io = fs.original_file.respond_to?(:uri) ? (fs.original_file.uri) : fs.original_file.file.io File.open(File.join(path, file), 'wb') do |f| f.write(io.read) f.close