# File cewl_lib.rb, line 137
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
                                # Running both my own regexp and exiftool on pdfs as I've found exif misses some data
                                meta_data=get_doc_data(filename, verbose)
                                meta_data+=get_pdf_data(filename, verbose)
                        else
                                # list taken from http://en.wikipedia.org/wiki/Microsoft_Office_2007_file_extensions
                                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