Sha256: c6b573ca38baff7a1fb79d1c4c1ee9c0b000a6c220d941f5f1c8136be9be2856

Contents?: true

Size: 968 Bytes

Versions: 2

Compression:

Stored size: 968 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)

    Rails.logger.info "[zizia] 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

2 entries across 2 versions & 1 rubygems

Version Path
zizia-3.1.0.alpha.01 app/importers/modular_importer.rb
zizia-3.0.0.alpha.01 app/importers/modular_importer.rb