module Libis::Ingester::Base::Format
Protected Instance Methods
apply_formats(item, format_list, folder = nil)
click to toggle source
# File lib/libis/ingester/tasks/base/format.rb, line 32 def apply_formats(item, format_list, folder = nil) if item.is_a? Libis::Ingester::FileItem format = format_list[item.fullpath] format ||= format_list[item.namepath] format ||= format_list[File.relative_path(folder, File.absolute_path(item.fullpath))] if folder format ||= format_list[item.filename] assign_format(format, item) if format else item.each do |subitem| apply_formats(subitem, format_list, folder) end end end
assign_format(format, item)
click to toggle source
# File lib/libis/ingester/tasks/base/format.rb, line 9 def assign_format(format, item) mimetype = format[:mimetype] if mimetype debug "MIME type '#{mimetype}' detected.", item else warn "Could not determine MIME type. Using default 'application/octet-stream'.", item end item.properties['mimetype'] = mimetype || 'application/octet-stream' item.properties['puid'] = format[:puid] || 'fmt/unknown' item.properties['format_name'] = format[:format_name] if format[:format_name] item.properties['format_version'] = format[:format_version] if format[:format_version] item.properties['format_ext_mismatch'] = (format[:ext_mismatch] == "true") item.properties['format_tool'] = format[:tool] if format[:tool] item.properties['format_matchtype'] = format[:matchtype] if format[:matchtype] item.properties[:format_type] = format[:TYPE] if format[:TYPE] item.properties[:format_group] = format[:GROUP] if format[:GROUP] item.properties['format_alternatives'] = format[:alternatives] item.save! end
process_messages(format_result, item)
click to toggle source
# File lib/libis/ingester/tasks/base/format.rb, line 48 def process_messages(format_result, item) format_result[:messages].each do |msg| case msg[0] when :debug debug msg[1], item when :info info msg[1], item when :warn warn msg[1], item when :error error msg[1], item when :fatal fatal_error msg[1], item else info "#{msg[0]}: #{msg[1]}", item end end end