task :load_exercise_file => :environment do


  EXERCISE_FILE = 'EXERCISE.csv'
  BODYPART_FILE = 'BODYPART.csv'

  b_file = File.new(BODYPART_FILE, 'r')  || raise("Unable to open #{BODYPART_FILE}")
  e_file = File.new(EXERCISE_FILE, 'r')  || raise("Unable to open #{EXERCISE_FILE}")
  error_lines = []
  puts "------   STARTING BODY PARTS  ------"
  while (line = b_file.gets)
    begin
      rec_no, m_id, name = line.split(',')
        if rec_no.to_i > 0        
        Muscle.create do |m|
          m.id = m_id.to_i
          m.name = name.gsub('"','').chomp
        end
        puts "Added #{name}"
        end
    rescue
      error_lines << line
    end
  end
  puts "------   STARTING EXERCISES  ------"
  while (line = e_file.gets)
    begin
      rec_no, m_id, name = line.split(',')
      if rec_no.to_i > 0
        Exercise.create(:muscle_id => m_id, :name=>name.gsub('"','').chomp,
          :default_sets => 3, :default_reps=>'10')
        puts "Added #{name}"
      end
    rescue
      error_lines << line
    end
  end
  unless error_lines.empty?
    puts ""
    puts "   !!! ERRORS occurred on the following lines, records were probably not added "
    error_lines.each do |offender|
      puts offender
    end
  end
  puts "------   FINISHED            ------"
end