Linux: Bildschirmschoner mit Bildern eines Media-RSS Feeds

Michael hat auf DailyFratze den Media-RSS Feed um die Option erweitert sich seine Bilder + die der Freunde anzeigen zu lassen. Das ganze kann man dann wunderschoen in einen Bildschirmschoner einbinden. Aufm Mac und unter Windows gibts da auch Loesungen. Ich wollte es nicht glauben, aber es gibt wirklich unter Linux keinen Bildschirmschoner der Bilder eines Media-RSS Feeds anzeigt. Ich meine, nicht das ich in den letzten Jahren irgendeinen tollen Bildschirmschoner gehabt haette, normalerweise lasse ich den Bildschirm einfach nur abdunkeln und kurze Zeit spaeter in den Standby. Darueber hinaus finde ich Bildschirmschoner mit Bildern suboptimal, weil ich dann vorm Rechner sitze und mir den Bildschirmschoner angucke und warte was als naechstes kommt… Aber ich fand es schon doof, dass ich da als Linuxuser wohl hintenan stehen muss. Darum (etwas Bash-lastig die letzten Tage…) hier ein Skript, das den Media-RSS-Feed abruft und bei Bedarf neue Bilder herunterlaedt. Alte Bilder die aelter sind als 5 Tage werden geloescht. Wenn man das Skript dann von cron einmal die Stunde laufen laesst, hat man einen Ordner, in dem immer die aktuellen Bilder sind. GLSlideshow von xscreensaver oder vergleichbare andere Bildschirmschoner die den Inhalt eines Bilderordners anzeigen lassen gibt es genug und sind auch schnell eingerichtet. Das Skript benoetigt curl und xml2.

So, Linux-nutzende Frauen dieser Welt: Endlich koennt Ihr euch meine Fratzen runterladen und als Bildschirmschoner auf euren Desktop packen 8-)

#!/bin/bash
 
##
# Neue Bilder vom Media-RSS-Feed von DailyFratze runterladen
# damit ich unter Linux auch einen netten Bildschirmschoner
# haben kann...
#
# 2009/04 - Jan Toenjes <jan.toenjes@web.de>
##
 
 
# Wo die Bilder gespeichert werden sollen
DFPICS=/home/jan/Bilder/
 
 
# Feed URL
FEED="http://dailyfratze.de/feeds/rss/m/prego?withFriends=y"
 
 
# Informationen ueber die Fratzen die zuletzt geholt wurden
CURPICSFILE=/home/jan/Bilder/.curpics
 
 
# Wenn Datei existiert den Inhalt einlesen, ansonsten anlegen
if [ -f $CURPICSFILE ] 
  then CURPICS=`cat $CURPICSFILE` 
  else touch $CURPICSFILE
fi
 
 
# Aktuelle Fratzeninformationen holen
NEWPICS=`/usr/bin/curl $FEED | xml2 | grep "media:content/@url" | grep jpg | sed 's/.*url=//g'`
 
 
# Gucken ob neue Bilder dabei sind
FETCHPICS=`diff <(printf "%s\n" "${NEWPICS[@]}") <(printf "%s\n" "${CURPICS[@]}") | grep jpg | sed 's/< //g'`
 
 
# Neue Bilder herunterladen und notieren
for i in $FETCHPICS ; do
  cd $DFPICS &&  wget $i 2>/dev/null &
  echo $i >> $CURPICSFILE
done
 
wait
 
 
# Gucken ob es Bilder gibt die aelter als 5 Tage sind und diese dann aus der
# .curpics Datei und dem Verzeichnis loeschen
DELFILES=`find $DFPICS* -mtime +5`
 
if [ -n "$DELFILES" ] ; 
  then
    DELFILESNEW=`basename $DELFILES`
 
    for i in $DELFILESNEW ; do
      sed -i /$i/d $CURPICSFILE
      rm $DFPICS/$i
    done
fi

prego

/me... prego!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.