Tuesday, February 10, 2009

ICAL-RSS convertion using vpim gem

hi,
i have done the same rss to ical ,vise-versa using vpim gem..

here is the gem home..
http://vpim.rubyforge.org/

This is my code..
require 'rubygems'
require 'vpim/icalendar'
require'feed_tools'
require'digest/md5'

feed = FeedTools::Feed.open("http://rss.cnn.com/rss/edition_world.rss")
cal = Vpim::Icalendar.create2
feed.items.each do |item|
cal.add_event do |e|
e.dtstart item.time
e.dtend item.time
e.summary item.title.to_s
e.description item.description.to_s
e.url item.link
e.uid Digest::MD5.hexdigest("#{item.title} #{item.link}")
e.access_class "PUBLIC"
e.transparency 'OPAQUE'
now = Time.now
e.created now
e.lastmod now
e.organizer do |o|
o.cn = "Example Organizer, Mr."
o.uri = "mailto:organizer@example.com"
end
end
end
icsfile = cal.encode
f=File.open('2.ics','w')
f.write(icsfile)
puts '--- Encode:'

puts icsfile

puts '--- Decode:'

cal = Vpim::Icalendar.decode(icsfile).first

cal.components do |e|
puts e.summary
puts e.description
puts e.dtstart.to_s
puts e.dtend.to_s
puts e.url
end

No comments: