Use ERB for templates
This commit is contained in:
parent
cca58acfe5
commit
3d1ba3b928
1 changed files with 88 additions and 81 deletions
|
@ -1,12 +1,89 @@
|
||||||
#!/usr/bin/env ruby
|
#!/usr/bin/env ruby
|
||||||
$:.unshift('vendor/ruby-mediawiki/lib')
|
$:.unshift('vendor/ruby-mediawiki/lib')
|
||||||
require 'mediawiki/dotfile'
|
require 'mediawiki/dotfile'
|
||||||
|
require 'cgi'
|
||||||
|
require 'date'
|
||||||
|
require 'erb'
|
||||||
|
|
||||||
@wiki = MediaWiki.dotfile(nil,'entropia')
|
@wiki = MediaWiki.dotfile(nil,'entropia')
|
||||||
|
|
||||||
require 'date'
|
#----------------------------------------------------------------------------
|
||||||
require 'cgi'
|
# Constants
|
||||||
|
|
||||||
RFC822 = "%a, %d %b %Y %T %z" # for Date::strftime
|
RFC822 = "%a, %d %b %Y %T %z" # for Date::strftime
|
||||||
|
TPL_RSS = '<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<rss version="2.0"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
|
||||||
|
xmlns:admin="http://webns.net/mvcb/"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
|
|
||||||
|
<channel>
|
||||||
|
<title>radio chaotica podcast</title>
|
||||||
|
<link>http://entropia.de/wiki/Radio%20Chaotica</link>
|
||||||
|
<description>ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz</description>
|
||||||
|
<category>Talk Radio</category>
|
||||||
|
<generator>MediaWiki neinomat</generator>
|
||||||
|
<language>de</language>
|
||||||
|
<copyright>Entropia e.V. Karlsruhe</copyright>
|
||||||
|
|
||||||
|
<managingEditor>radio@entropia.de (Radio Chaotica)</managingEditor>
|
||||||
|
<pubDate><%=Time.now.strftime(RFC822) %></pubDate>
|
||||||
|
<image>
|
||||||
|
<url>http://podcast.entropia.de/chaotica-100x300-crappy.png</url>
|
||||||
|
<width>100</width>
|
||||||
|
<height>300</height>
|
||||||
|
<link>http://entropia.de/wiki/Radio%20Chaotica</link>
|
||||||
|
<title>Radio Chaotica</title>
|
||||||
|
</image>
|
||||||
|
|
||||||
|
<sy:updatePeriod>daily</sy:updatePeriod>
|
||||||
|
<sy:updateFrequency>1</sy:updateFrequency>
|
||||||
|
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
|
||||||
|
|
||||||
|
<itunes:subtitle xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz</itunes:subtitle>
|
||||||
|
<itunes:summary xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
||||||
|
ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz
|
||||||
|
</itunes:summary>
|
||||||
|
<itunes:image xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" href="http://podcast.entropia.de/chaotica-300x300-crappy.png"/>
|
||||||
|
|
||||||
|
<itunes:category xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" text="News & Politics"/>
|
||||||
|
<itunes:keywords xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">entropia,karlsruhe,ccc,hacking,computer,technology,society,chaosradio,chaos,politics</itunes:keywords>
|
||||||
|
<itunes:explicit xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">no</itunes:explicit>
|
||||||
|
|
||||||
|
<itunes:author xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">Entropia e.V. Karlsruhe</itunes:author>
|
||||||
|
<itunes:owner xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
||||||
|
<itunes:name>Entropia e.V. Karlsruhe</itunes:name>
|
||||||
|
<itunes:email>radio@entropia.de</itunes:email>
|
||||||
|
</itunes:owner>
|
||||||
|
|
||||||
|
<%= items %>
|
||||||
|
</channel></rss>
|
||||||
|
'
|
||||||
|
TPL_ITEM = '
|
||||||
|
<item>
|
||||||
|
<title><%= CGI::escapeHTML(t["titel"]) %></title>
|
||||||
|
<link><%= t["url"] %></link>
|
||||||
|
<description><%= CGI::escapeHTML(t["titel"]) %></description>
|
||||||
|
<category>Talk Radio</category>
|
||||||
|
<enclosure url="<%= t["download"] %>" length="<%= t["length"] %>" type="audio/mpeg" />
|
||||||
|
|
||||||
|
<guid isPermaLink="true"><%= t["url"] %></guid>
|
||||||
|
<pubDate><%= t["pubdate"] %></pubDate>
|
||||||
|
<comments><%= t["discussion"] %></comments>
|
||||||
|
<content:encoded><%= CGI::escapeHTML(t["titel"]) %></content:encoded>
|
||||||
|
|
||||||
|
<author>radio@entropia.de</author>
|
||||||
|
|
||||||
|
<itunes:explicit xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">no</itunes:explicit>
|
||||||
|
<itunes:author xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">Entropia e.V. Karlsruhe</itunes:author>
|
||||||
|
<itunes:keywords xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">entropia,karlsruhe,ccc,hacking,computer,technology,society,chaosradio,chaos,politics</itunes:keywords>
|
||||||
|
<itunes:duration xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><%= t["duration"] %></itunes:duration>
|
||||||
|
<itunes:subtitle xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><%= CGI::escapeHTML(t["titel"]) %></itunes:subtitle>
|
||||||
|
<itunes:summary xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><%= CGI::escapeHTML(t["titel"]) %></itunes:summary>
|
||||||
|
</item>
|
||||||
|
'
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -78,86 +155,16 @@ sendungen = sendungen.sort do |x,y|
|
||||||
end
|
end
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
# Generate RSS
|
||||||
|
|
||||||
body = "<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
items = ""
|
||||||
<rss version=\"2.0\"
|
|
||||||
xmlns:dc=\"http://purl.org/dc/elements/1.1/\"
|
|
||||||
xmlns:sy=\"http://purl.org/rss/1.0/modules/syndication/\"
|
|
||||||
xmlns:admin=\"http://webns.net/mvcb/\"
|
|
||||||
xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"
|
|
||||||
xmlns:content=\"http://purl.org/rss/1.0/modules/content/\">
|
|
||||||
|
|
||||||
<channel>
|
|
||||||
<title>radio chaotica podcast</title>
|
|
||||||
<link>http://entropia.de/wiki/Radio%20Chaotica</link>
|
|
||||||
<description>ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz</description>
|
|
||||||
<category>Talk Radio</category>
|
|
||||||
<generator>MediaWiki neinomat</generator>
|
|
||||||
<language>de</language>
|
|
||||||
<copyright>Entropia e.V. Karlsruhe</copyright>
|
|
||||||
|
|
||||||
<managingEditor>radio@entropia.de (Radio Chaotica)</managingEditor>
|
|
||||||
<pubDate>#{Time.now.strftime(RFC822)}</pubDate>
|
|
||||||
<image>
|
|
||||||
<url>http://podcast.entropia.de/chaotica-100x300-crappy.png</url>
|
|
||||||
<width>100</width>
|
|
||||||
<height>300</height>
|
|
||||||
<link>http://entropia.de/wiki/Radio%20Chaotica</link>
|
|
||||||
<title>Radio Chaotica</title>
|
|
||||||
</image>
|
|
||||||
|
|
||||||
<sy:updatePeriod>daily</sy:updatePeriod>
|
|
||||||
<sy:updateFrequency>1</sy:updateFrequency>
|
|
||||||
<sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
|
|
||||||
|
|
||||||
<itunes:subtitle xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz</itunes:subtitle>
|
|
||||||
<itunes:summary xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">
|
|
||||||
ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz
|
|
||||||
</itunes:summary>
|
|
||||||
<itunes:image xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" href=\"http://podcast.entropia.de/chaotica-300x300-crappy.png\"/>
|
|
||||||
|
|
||||||
<itunes:category xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\" text=\"News & Politics\"/>
|
|
||||||
<itunes:keywords xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">entropia,karlsruhe,ccc,hacking,computer,technology,society,chaosradio,chaos,politics</itunes:keywords>
|
|
||||||
<itunes:explicit xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">no</itunes:explicit>
|
|
||||||
|
|
||||||
<itunes:author xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">Entropia e.V. Karlsruhe</itunes:author>
|
|
||||||
<itunes:owner xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">
|
|
||||||
<itunes:name>Entropia e.V. Karlsruhe</itunes:name>
|
|
||||||
<itunes:email>radio@entropia.de</itunes:email>
|
|
||||||
</itunes:owner>
|
|
||||||
|
|
||||||
|
|
||||||
"
|
|
||||||
|
|
||||||
sendungen.each do |t|
|
sendungen.each do |t|
|
||||||
body += "
|
items += ERB.new(TPL_ITEM).result(binding);
|
||||||
<item>
|
|
||||||
<title>#{CGI::escapeHTML(t["titel"])}</title>
|
|
||||||
<link>#{t["url"]}</link>
|
|
||||||
<description>#{CGI::escapeHTML(t["titel"])}</description>
|
|
||||||
<category>Talk Radio</category>
|
|
||||||
<enclosure url=\"#{t["download"]}\" length=\"#{t["length"]}\" type=\"audio/mpeg\" />
|
|
||||||
|
|
||||||
<guid isPermaLink=\"false\">#{t["url"]}</guid>
|
|
||||||
<pubDate>#{t["pubdate"]}</pubDate>
|
|
||||||
<comments>#{t["discussion"]}</comments>
|
|
||||||
<content:encoded>#{CGI::escapeHTML(t["titel"])}</content:encoded>
|
|
||||||
|
|
||||||
<author>radio@entropia.de</author>
|
|
||||||
|
|
||||||
<itunes:explicit xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">no</itunes:explicit>
|
|
||||||
<itunes:author xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">Entropia e.V. Karlsruhe</itunes:author>
|
|
||||||
<itunes:keywords xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">entropia,karlsruhe,ccc,hacking,computer,technology,society,chaosradio,chaos,politics</itunes:keywords>
|
|
||||||
<itunes:duration xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">#{t["duration"]}</itunes:duration>
|
|
||||||
<itunes:subtitle xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">#{CGI::escapeHTML(t["titel"])}</itunes:subtitle>
|
|
||||||
<itunes:summary xmlns:itunes=\"http://www.itunes.com/dtds/podcast-1.0.dtd\">#{CGI::escapeHTML(t["titel"])}</itunes:summary>
|
|
||||||
|
|
||||||
</item>
|
|
||||||
"
|
|
||||||
end
|
end
|
||||||
body += "</channel></rss>"
|
|
||||||
|
|
||||||
#puts body #DEBUG
|
rss = ERB.new(TPL_RSS).result;
|
||||||
rss = File.new("/home/neingeist/public_html/chaotica.xml", "w")
|
#puts rss #DEBUG
|
||||||
rss.puts body
|
|
||||||
rss.close
|
rssfile = File.new("/home/neingeist/public_html/chaotica.xml", "w")
|
||||||
|
rssfile.puts rss
|
||||||
|
rssfile.close
|
||||||
|
|
Reference in a new issue