#!/usr/bin/env ruby $:.unshift('vendor/ruby-mediawiki/lib') require 'mediawiki/dotfile' require 'http-access2' require 'vpim/icalendar' include Vpim $ical_url = "http://www.google.com/calendar/ical/nsb7jkat2efmkfs85qcbvouk8g@group.calendar.google.com/public/basic.ics" $st = - 3*24*3600 $en = +180*24*3600 def get_events() @client = HTTPAccess2::Client.new() ical = @client.get_content($ical_url) events = [] Icalendar.decode(ical).each do |publish| publish.events.each do |event| if event.dtstart >= (Time.now+$st) and event.dtstart <= (Time.now+$en) events.push(event) end end end return events end @wiki = MediaWiki.dotfile(nil,'stadtwiki') body = "Folgende Termine stammen von #{$ical_url}:\n\n" get_events().sort {|x,y| x.dtstart <=> y.dtstart }.each do |event| body += "* #{event.dtstart.mday}.#{event.dtstart.month}. #{event.summary}\n" end a = @wiki.article("Benutzer:Neingeist/Termine_aus_Google_Calendar") a.text = body a.submit("Import")