#!/usr/bin/env ruby

require File.dirname(__FILE__) + '/../config/environment.rb'

iptc_fields={}
MetadataConversion.all.collect {|mc| iptc_fields[mc.iptc]=mc.image}

ARGV.each do |f|
  begin
    picture_file = Magick::Image.read(f).first
    puts '--- --- ---'
    puts File.basename(f)
    puts '--- --- ---'
    iptc_fields.each do |key, val|
      extracted_val = picture_file.get_iptc_dataset(key)
      #puts "#{val} (#{key}) :: #{extracted_val.encode('utf-8', 'iso-8859-15')}" unless extracted_val.nil?
      puts "#{val} (#{key}) :: #{extracted_val}" unless extracted_val.nil?
    end
    puts "--- --- ---\n"
  rescue Exception => e
    puts e
  end
end