def process_file(filename, verbose=false)
meta_data=[]
if File.file?(filename) && File.exist?(filename)
mime_types=MIME::Types.type_for(filename)
if verbose
puts "Checking "+filename
puts " Mime type="+mime_types.join(", ")
puts
end
if mime_types.include?("application/word") || mime_types.include?("application/excel") || mime_types.include?("application/powerpoint")
if verbose
puts " Mime type says original office document"
end
meta_data=get_doc_data(filename, verbose)
else
if mime_types.include?("application/pdf")
if verbose
puts " Mime type says PDF"
end
meta_data=get_doc_data(filename, verbose)
meta_data+=get_pdf_data(filename, verbose)
else
if filename =~ /(.(doc|dot|ppt|pot|xls|xlt|pps)[xm]$)|(.ppam$)|(.xlsb$)|(.xlam$)/
if verbose
puts " File extension says 2007 style office document"
end
meta_data=get_docx_data(filename, verbose)
else
if verbose
puts " Unknown file type"
end
end
end
end
if meta_data!=nil
if verbose
puts " Found "+meta_data.join(", ")+"\n"
end
end
end
return meta_data
end