Class: Ddr::Jobs::FitsFileCharacterization
- Inherits:
-
Object
- Object
- Ddr::Jobs::FitsFileCharacterization
- Defined in:
- lib/ddr/jobs/fits_file_characterization.rb
Constant Summary collapse
- EVENT_SUMMARY =
'FITS characterization of content file'.freeze
Class Method Summary collapse
Class Method Details
.fits_command ⇒ Object
25 26 27 |
# File 'lib/ddr/jobs/fits_file_characterization.rb', line 25 def self.fits_command File.join(Ddr::Models.fits_home, 'fits.sh') end |
.fits_version ⇒ Object
29 30 31 |
# File 'lib/ddr/jobs/fits_file_characterization.rb', line 29 def self.fits_version `#{fits_command} -v`.strip end |
.perform(pid) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/ddr/jobs/fits_file_characterization.rb', line 10 def self.perform(pid) obj = ActiveFedora::Base.find(pid) tmp_filename = Ddr::Utils::sanitize_filename(obj.original_filename) || obj.content.default_file_name Dir.mktmpdir do |dir| infile = create_temp_infile(dir, tmp_filename, obj.content.content) fits_output, err, status = Open3.capture3(fits_command, '-i', infile) if status.success? && fits_output.present? obj.reload obj.fits.content = fits_output obj.save! end notify_event(pid, err, status) end end |