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.
neinomaten/neinomat-gpn-fahrplan

59 lines
1022 B
Ruby

#!/usr/bin/env ruby
$:.unshift('vendor/ruby-mediawiki/lib')
require 'mediawiki/dotfile'
@wiki = MediaWiki.dotfile(nil,'entropia')
roh = @wiki.article("Vorlage:GPN6:Fahrplan").text
def cleanse (t)
t.gsub(/\[\[.*\|(.*)\]\]/, '\1')
end
uhrzeit = nil
titel1 = nil
titel2 = nil
titel3 = nil
tag = 1
roh.split("\n").each do |line|
if line =~ /^\| *(.*:00) *$/
if uhrzeit
puts "#{tag} #{uhrzeit} KLAMMER AUF #{titel1}"
puts "#{tag} #{uhrzeit} KLAMMER ZU #{titel2}"
puts "#{tag} #{uhrzeit} IRGENDWO #{titel3}"
end
if uhrzeit && $1 < uhrzeit
tag += 1
end
uhrzeit = $1
titel1 = nil
titel2 = nil
titel3 = nil
elsif line =~ /^\| *('''(.*)'''|.*(GOTO).*) *$/
# yum
if $3 == "GOTO"
# *frickl*
if line =~ /colspan=2/
titel1 = ""
end
t = ""
else
t = $2
end
if titel1 == nil
titel1 = cleanse(t)
elsif titel2 == nil
titel2 = cleanse(t)
else
titel3 = cleanse(t)
end
end
end