namespace :import do desc "Import data from old cache file" task :yaml => [:environment] do audio_server = "http://paranode.com/~topfunky/audio/" program = Program.find 1 episodes = YAML::load IO.readlines('db/cache.yml').join episodes.each do |episode| db_episode = program.episodes.new :title => episode['title'], :description => episode['comments'], :published_at => episode['mtime'], :updated_at => episode['mtime'], :mp3_url => audio_server + episode['path'], :mp3_length => episode['length'] if episode.has_key? 'path4' db_episode.has_mp4 = true db_episode.mp4_url = audio_server + episode['path4'] db_episode.mp4_length = episode['length4'] end if episode.has_key? 'transcript' db_episode.has_transcript = true db_episode.transcript_url = episode['transcript'] db_episode.transcript_published_at = episode['transcript_mtime'] end unless db_episode.save puts "Error for #{db_episode.to_yaml}" end end end end # # transcript: 2006/jeff_cohen_and_brian_eng # transcript_mtime: 2006-08-25 08:15:02 -08:00 # # create_table :episodes do |t| # t.column :program_id, :integer, :default => 1 # t.column :title, :string # t.column :description, :text # t.column :permalink, :string # t.column :published_at, :datetime # t.column :updated_at, :datetime # t.column :has_mp3, :boolean, :default => true # t.column :mp3_url, :string # t.column :mp3_length, :integer # t.column :has_mp4, :boolean, :default => false # t.column :mp4_url, :string # t.column :mp4_length, :integer # t.column :has_transcript, :boolean, :default => false # t.column :transcript_url, :string # t.column :transcript_published_at, :datetime # t.column :transcript, :text # end # # # album: Ruby on Rails Podcast # artist: Geoffrey Grosenbach # comments: | # A member of the "rSpec":http://rubyforge.org/projects/rspec team talks about Behavior Driven Development. From the offices of "Bekk":http://bekk.no in Oslo, Norway. # file: rails-035-aslak-hellesoy.mp3 # length: 28110000 # mtime: 2006-10-09 11:44:00 -08:00 # path: 2006/rails-035-aslak-hellesoy.mp3 # length4: 28460000 # path4: 2006/rails-035-aslak-hellesoy.m4a # title: Aslak Hellesoy # type: audio/mpeg #