UppLYSningar i din kalender
Ruby är trevligt att jobba med. Tillsammans med RubyRSS och iCalendar-biblioteket har jag sett till att du nu kan du ta del av UppLYSningarna i iCalendar-formatet.
Jag kör skriptet nedan var 6:e timme. Det skriptet gör är att läsa av RSS-flödet för kommande UppLYSningar och generera upplysningar.ics.
Uppdatering 2009-10-06: Koden finns på GitHub.
require 'rss/1.0'
require 'rss/2.0'
require 'open-uri'
require 'rubygems'
require 'icalendar'
require 'date'
include Icalendar
icsfile = "/home/dentarg/www/vhosts/blog.dentarg.net/upplysningar.ics"
source = "http://www.lysator.liu.se/upplysning/upplysning.rss.html"
content = "" # raw content of rss feed will be loaded here
open(source) {|s| content = s.read }
rss = RSS::Parser.parse(content, false)
cal = Calendar.new
rss.items.each do |item|
if item.title.match(/(\d+)\/(\d+): (.+)/)
day = $1.to_i
month = $2.to_i
title = $3
end
event_start = DateTime.civil(Time.now.year, month, day, 18)
event_end = DateTime.civil(Time.now.year, month, day, 20)
cal.event do
dtstart(event_start)
dtend(event_end)
summary(title)
description(item.description)
klass("PUBLIC")
url(item.link)
end
end
File.open(icsfile, "w").write(cal.to_ical)
Leave a Reply