#!/bin/zsh
# podfetch.sh: Lade Podcast-Dateien herunter
# Die Podcasts stehen in der Datei podcast.liste

# 0. In das Verzeichnis für die Podcasts wechseln
cd ~/Podcasts

# Die Podcasts sind in der Datei podcast.liste eingetragen
< podcast.liste \
while read podcast; do
  # 1. Lade die Podcast-Liste herunter
  wget -nd "$podcast" -O podcast.xml

  # 2. Extrahiere aus der Podcast-Liste die Audiodateien
  grep -o "<link>.*\.mp3</link>" podcast.xml \
    | sed "s/<.\?link>//g" \
    > podcast.pfade

  # 3. Lade die Audiodateien in ein eigenes Verzeichnis pro Podcast herunter.
  #    Merke die heruntergeladenen Dateien in „podcast.gespeichert“.
  #    Sie werden nur heruntergeladen, wenn dies noch nicht erfolgt ist.
  verzeichnis=$(grep -o "<title>[^<]*</title>" podcast.xml \
    | head -n1 \
    | sed "s/<.\?title>//g")
  mkdir -p "$verzeichnis"
  echo "$verzeichnis"
  cd "$verzeichnis"
  grep -v -f ../podcast.gespeichert ../podcast.pfade \
  | while read datei; do
    wget -nd -c "$datei" && echo "$datei" >> ../podcast.gespeichert
  done
  cd -
done
