impress/lib/tasks/spotlight.rake

27 lines
693 B
Ruby
Raw Normal View History

2011-12-20 18:00:02 -08:00
require 'nokogiri'
namespace :spotlight do
desc "Update spotlight pets by HTML download of contest results"
task :update do |t, args|
input_path = args[:file]
unless input_path
raise ArgumentError, "provide FILE=/path/to/contest/results.html"
end
input_doc = File.open(input_path, 'r') { |file| Nokogiri::HTML(file) }
output_path = Rails.root.join('public', 'spotlight_pets.txt')
File.open(output_path, 'w') do |output_file|
links = input_doc.css('a[href^="/petlookup.phtml"]')
links.each do |link|
output_file.puts(link.text)
end
puts "Wrote #{links.size} names to #{output_path}"
end
end
end