added 260907 version of worker toolkit
This commit is contained in:
39
worker-toolkit-flaredown/repo/backend/lib/tasks/usda.rake
Normal file
39
worker-toolkit-flaredown/repo/backend/lib/tasks/usda.rake
Normal file
@@ -0,0 +1,39 @@
|
||||
namespace :usda do
|
||||
FOODS_FILE = Rails.root.join("spec/fixtures/usda/FOOD_DES.txt")
|
||||
SURROUNDER = /\A~|~\z/
|
||||
BLANK_STRING = ""
|
||||
PROGRESS_FAIL = "x"
|
||||
PROGRESS_SUCCESS = "."
|
||||
|
||||
desc "Load USDA data"
|
||||
task load: :environment do
|
||||
puts "Loading foods:\n"
|
||||
|
||||
I18n.locale = :en
|
||||
|
||||
FOODS_FILE.readlines.each do |food|
|
||||
begin
|
||||
parsed_food = food.encode("UTF-8", invalid: :replace).split("^")
|
||||
|
||||
created_food = Food.find_or_create_by(ndb_no: strip(parsed_food.first)) do |f|
|
||||
f.comname = strip(parsed_food[4])
|
||||
f.sciname = strip(parsed_food[9])
|
||||
f.long_desc = strip(parsed_food[2])
|
||||
f.shrt_desc = strip(parsed_food[3])
|
||||
end
|
||||
rescue => e
|
||||
puts food
|
||||
|
||||
raise e
|
||||
end
|
||||
|
||||
printf created_food.persisted? ? PROGRESS_SUCCESS : PROGRESS_FAIL
|
||||
end
|
||||
|
||||
puts "\nDone."
|
||||
end
|
||||
|
||||
def strip(str)
|
||||
str.gsub(SURROUNDER, BLANK_STRING)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user