diff --git a/neinomat-radio-chaotica b/neinomat-radio-chaotica
index c68aa1b..8de3349 100755
--- a/neinomat-radio-chaotica
+++ b/neinomat-radio-chaotica
@@ -16,6 +16,7 @@ require "#{$0}.templates.rb"
#----------------------------------------------------------------------------
# Some helper functions
+# Get HEAD info from an URL
def head(url)
uri = URI.parse(url)
@@ -24,6 +25,16 @@ def head(url)
end
end
+# Q&D text-to-html
+def to_html(text)
+ html = text.clone
+
+ html.gsub!(/(http:\/\/\S*)/, '\1')
+ html.gsub!(/\n/, "
")
+
+ html
+end
+
#----------------------------------------------------------------------------
# Get episodes from wiki
@@ -34,19 +45,26 @@ episodes = []
@wiki.article(template).what_links_here.each do |page|
# puts page # DEBUG
- if erste_sendung = parse_template(page, template)["erste_sendung"]
+ episode_info = parse_template(page, template)
+ if erste_sendung = episode_info["erste_sendung"]
episode = {
"title" => page,
"url" => @wiki.full_article_url(page),
"discussion" => @wiki.full_article_url("Diskussion:#{page}"),
- "enclosure_url" => parse_template(page, template)["download"],
+ "enclosure_url" => episode_info["download"].chomp,
"date" => Date.today(), # fallback
+
+ "description" => episode_info["beschreibung"] || "",
+ "summary" => episode_info["beschreibung"] || "",
}
+ # Check problem fields
+ MediaWiki::logger.warn "Field beschreibung in #{episode["url"]} empty" if episode["description"] == ""
+
# Get a real date
erste_sendung.gsub!(/\s*um\s*\d+:\d+$/,"")
if erste_sendung !~ /^[0-9]{2}\.[0-9]{2}\.[0-9]{4}.*$/
- $stderr.puts "Field '#{erste_sendung}' in #{episode["url"]} looks funny, fall back to today."
+ MediaWiki::logger.warn "Field erste_sendung='#{erste_sendung}' in #{episode["url"]} looks funny, fall back to today."
else
episode["date"] = Date.parse(datum2isodate(erste_sendung))
end
@@ -57,12 +75,16 @@ episodes = []
episode["length"] = head["content-length"]
episode["type"] = head["content-type"]
+ # More foo
+ episode["summary"] = episode["summary"] + ERB.new(TPL_SUMMARY_ADD).result(binding)
+ episode["content:encoded"] = to_html(episode["summary"])
+
# We just assume that the episode's length is an hour or so
episode["duration"] = "00:59:59"
episodes.push(episode)
end
- # $stderr.puts "DEBUG: Only crawling one episode"; break
+ #MediaWiki::logger.warn "DEBUG: Only crawling one episode"; break
end
# Sort episodes, starting with last
diff --git a/neinomat-radio-chaotica.templates.rb b/neinomat-radio-chaotica.templates.rb
index 1178fe6..1932dff 100755
--- a/neinomat-radio-chaotica.templates.rb
+++ b/neinomat-radio-chaotica.templates.rb
@@ -32,6 +32,9 @@ TPL_RSS = '
ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz
ein podcast der sendungen des entropia e.v., chaos computer club karlsruhe auf querfunk, 104.8 mhz
+
+infos zur sendung unter:
+http://entropia.de/wiki/Radio_Chaotica
@@ -52,14 +55,14 @@ TPL_ITEM = '
-
<%= CGI::escapeHTML(episode["title"]) %>
<%= episode["url"] %>
- <%= CGI::escapeHTML(episode["title"]) %>
+ <%= CGI::escapeHTML(episode["description"]) %>
Talk Radio
" length="<%= episode["length"] %>" type="<%= episode["type"] %>" />
<%= episode["url"] %>
<%= episode["pubdate"] %>
<%= episode["discussion"] %>
- <%= CGI::escapeHTML(episode["title"]) %>
+ <%= CGI::escapeHTML(episode["content:encoded"]) %>
radio@entropia.de
@@ -67,7 +70,19 @@ TPL_ITEM = '
Entropia e.V. Karlsruhe
entropia,karlsruhe,ccc,hacking,computer,technology,society,chaosradio,chaos,politics
<%= episode["duration"] %>
- <%= CGI::escapeHTML(episode["title"]) %>
- <%= CGI::escapeHTML(episode["title"]) %>
+
+ <%= CGI::escapeHTML(episode["description"]) %>
+
+ <%= CGI::escapeHTML(episode["summary"]) %>
'
+TPL_SUMMARY_ADD = '
+
+Weitere Informationen zur Sendung gibt es unter:
+<%= episode["url"] %>
+
+Ihr habt Fragen und Anregungen? Hinterlasst sie uns auf der Diskussionsseite zur Sendung oder per Mail an radio@entropia.de:
+<%= episode["discussion"] %>
+
+Weitere Sendungen findet ihr hier: Radio Chaotica. Wir senden (fast ;-) jeden 3. Montag im Monat um 16:00 Uhr live auf Querfunk 104,8 MHz im Raum Karlsruhe. Für alle, die Querfunk nicht über UKW empfangen können, existiert auch der Querfunk Live-Stream (http://www.querfunk.de/live.html) oder natürlich unser Podcast - den ihr gerade lest oder hört :-)
+'
diff --git a/neinomat.lib.rb b/neinomat.lib.rb
index fcc6f4a..c6e0095 100644
--- a/neinomat.lib.rb
+++ b/neinomat.lib.rb
@@ -1,5 +1,5 @@
def parse_template(title, template)
- template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}")
+ template_re = Regexp.new("\\\{\\\{" + template + "(.*?)\\\}\\\}", Regexp::MULTILINE)
fields = {}