Sha256: 823dbff93183aa7db518ecb0964543e90cd036294993ed098e0c19f6bc03e622

Contents?: true

Size: 802 Bytes

Versions: 6

Compression:

Stored size: 802 Bytes

Contents

require Sufia::Models::Engine.root.join('app/models/datastreams/file_content_datastream')

class FileContentDatastream

  def extract_metadata
    return unless has_content?
    # I want to run Clam first, let that possibly raise exceptions
    # Then run fits and return that
    clam, fits = Hydra::FileCharacterization.characterize(content, filename_for_characterization.join(""), :clam, :fits) do |config|
      config[:clam] = antivirus_runner
      config[:fits] = characterization_runner
    end
    fits
  end

  protected

  def antivirus_runner
    AntiVirusScanner.new(self)
  end

  def characterization_runner
    if Curate.configuration.characterization_runner.respond_to?(:call)
      Curate.configuration.characterization_runner
    else
      Sufia.config.fits_path
    end
  end

end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
curate-0.6.6 app/repository_datastreams/file_content_datastream.rb
curate-0.6.5 app/repository_datastreams/file_content_datastream.rb
curate-0.6.4 app/repository_datastreams/file_content_datastream.rb
curate-0.6.3 app/repository_datastreams/file_content_datastream.rb
curate-0.6.1 app/repository_datastreams/file_content_datastream.rb
curate-0.6.0 app/repository_datastreams/file_content_datastream.rb