require 'csv'
require 'fileutils'

codes = {}

CSV.foreach("Export.csv", {headers: true}) do |row|
  codes[row[0]] = row[7]
end

files = Dir.glob "*.pdf"

unless File.directory? "result"
  FileUtils.mkdir "result"
end

files.each do |file|
  gp_number = file.split("-")[0]

  unless code = codes[gp_number]
    puts "#{gp_number} from \"#{file}\" not found in Export.csv, skipping"
    next
  end

  puts "#{gp_number} found, copying to result/#{code}.pdf"
  FileUtils.cp file, "result/#{code}.pdf"
end

puts "\nAll done!"