Sha256: 7ce6e38daf19f99ba53e2bf814216cdb417ca928e271e16cd53a505cf4c9eea0

Contents?: true

Size: 978 Bytes

Versions: 8

Compression:

Stored size: 978 Bytes

Contents

# frozen_string_literal: true
require 'zizia'

class ModularImporter
  DEDUPLICATION_FIELD = 'identifier'

  def initialize(csv_import)
    @csv_import = csv_import
    @csv_file = csv_import.manifest.file.file.to_s
    @collection_id = csv_import.fedora_collection_id
    @user_id = csv_import.user_id
    @user_email = User.find(csv_import.user_id).email
  end

  def import
    raise "Cannot find expected input file #{@csv_file}" unless File.exist?(@csv_file)

    attrs = {
      collection_id: @collection_id,
      depositor_id: @user_id,
      batch_id: @csv_import.id,
      deduplication_field: DEDUPLICATION_FIELD
    }

    file = File.open(@csv_file)

    Zizia.config.default_info_stream << "event: start_import, batch_id: #{@csv_import.id}, collection_id: #{@collection_id}, user: #{@user_email}"
    Zizia::Importer.new(parser: Zizia::CsvParser.new(file: file), record_importer: Zizia::HyraxRecordImporter.new(attributes: attrs)).import
    file.close
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
zizia-2.1.0.alpha.08 app/importers/modular_importer.rb
zizia-2.1.0.alpha.07 app/importers/modular_importer.rb
zizia-2.1.0.alpha.06 app/importers/modular_importer.rb
zizia-2.1.0.alpha.05 app/importers/modular_importer.rb
zizia-2.1.0.alpha.04 app/importers/modular_importer.rb
zizia-2.1.0.alpha.03 app/importers/modular_importer.rb
zizia-2.1.0.alpha.02 app/importers/modular_importer.rb
zizia-2.1.0.alpha.01 app/importers/modular_importer.rb