neingeist
/
neinomaten
Archived
1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.

37 lines
925 B
Plaintext

#!/usr/bin/env ruby
require 'http-access2'
require 'mediawikibot'
require 'vpim/icalendar'
include Vpim
if ARGV.size() != 2
$stderr.print($0 + " <wiki-user> <wiki-password>\n")
exit(1)
end
$ical_url = "webcal://upcoming.org/calendar/metro/1551"
$web_url = "http://upcoming.org/metro/de/bawue/ka/"
def get_events()
@client = HTTPAccess2::Client.new()
ical = @client.get_content($ical_url.gsub(/^webcal:/, "http:"))
events = []
Icalendar.decode(ical).each do |publish|
publish.events.each do |event|
events.push(event)
end
end
return events
end
body = "Folgende Termine stammen von #{$web_url} ([#{$ical_url} iCal]):\n\n"
get_events().each do |event|
body += "* #{event.dtstart.mday}.#{event.dtstart.month}. #{event.summary}\n"
end
b = MediaWikiBot::WikiBot.new("http://ka.stadtwiki.net/")
b.login(ARGV[0], ARGV[1])
b.edit("Benutzer:Neingeist/Termine_aus_upcoming.org", body, "Import")