Sha256: 56c06f24bc84a3b82946985f6e84abd08f1c116788238154fd4717df42606648

Contents?: true

Size: 783 Bytes

Versions: 7

Compression:

Stored size: 783 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
      nil
    end
  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
curate-0.5.6 app/repository_datastreams/file_content_datastream.rb
curate-0.5.5 app/repository_datastreams/file_content_datastream.rb
curate-0.5.4 app/repository_datastreams/file_content_datastream.rb
curate-0.5.2 app/repository_datastreams/file_content_datastream.rb
curate-0.5.1 app/repository_datastreams/file_content_datastream.rb
curate-0.5.0 app/repository_datastreams/file_content_datastream.rb
curate-0.4.2 app/repository_datastreams/file_content_datastream.rb