2 + 2 = 5

Podcast Loader

Veröffentlicht von fabi3550 am 2017-10-15

Vor ein paar Tagen habe ich mir ein Raumfeld One S gekauft. Im Zuge meiner Küchenerweiterung wollte ich eine bessere Audiolösung, da ich vorher immer vom Handy auf einen winzigen Bluetooth-Speaker gestreamt habe. Das funktioniert soundmäßig für Podcasts ganz gut, für Musik ist es aber weniger toll geeignet und war auch nie als finale Lösung gedacht. Nun, nach langem hin- und her, die Miniausgabe von Teufels WLAN-Streaming Serie.
Ich hatte schon im Vorfeld gelesen, dass Raumfeld kein Apple Airplay unterstützt. Soweit kein Problem, dachte ich mir. Musik streame ich über die Medienserverfunktion meiner Fritzbox. Das funktioniert zwar nicht immer voll Hammer, kann aber irgendwann relativ simpel durch meinen Raspberry abgelöst werden. -> Später.
Ich höre eine Reihe von Technik-Podcasts, zum Beispiel Chaosradio, Logbuch Netzpolitik, Lage der Nation, t3n Filterblase und - wenn denn mal eine Folge rauskommt - Alternativlos!. Diese liegen nicht auf dem Medienserver, sondern wurden auf mein iPhone durch die reguläre iPhone-App geladen. Da das aber chronisch voll ist (Speicher, nicht Alkohol) hatte ich über kurz oder lang eh vor, die Downloads auf dem Medienserver abzulegen. Lediglich für den mobilen Einsatz würden dann in Zukunft manuell Folgen aufs iPhone geladen werden.
Ziel war es nun, über den RasPi die jeweiligen RSS-Feeds abzufragen, bei Bedarf die Folgen zu laden und dann per Share auf dem USB-Speicher der Fritzbox abzulegen. Mittel der Wahl ist Python, mittlerweile meine Lieblingssprache, alleine schon wegen der Flexibilität und der guten Dokumentation. Das Skript ist seit heute "fertig"* und bei github verfügbar. Den cronjob auf dem RasPi einzurichten war jetzt auch nicht allzu schwer, aber was ich echt heftig fand/finde, ist die Einrichtung des Shares auf den USB-Speicher der Fritzbox. Ich habe diverse Anleitungen im Netz gefunden, mich für den Weg über einen Eintrag in der /etc/fstab entschieden, allerdings mountet der Share nicht und ich bekomme jedesmal eine Fehlermeldung mit 'permission denied' und so. Lustigerweise funktioniert es, wenn ich den Share manuell mounte. Das ist noch eine Baustelle, die aber eigentlich nur an etwas Simplem scheitern kann.
Wie das im Nachgang immer so ist, fiel mir dann auf, dass man Podcasts auch einfach in der Fritzbox-Oberfläche registrieren kann. Die landen dann im Filesystem der Fritzbox und werden ebenfalls über den Medienserver zur Verfügung gestellt. Letztendlich war also das Programmieren gar nicht notwendig, aber ein schöner Ausflug in http requests, threading, xpath und hashlib, so dass ich einiges gelernt habe. Aktiv lasse ich es jetzt auch.

* Während ich hier so schreibe, fällt mir auf, dass das Skript nicht auf n Folgen begrenzbar ist, wie ich es eigentlich wollte. Es lädt munter Folgen herunter, ignoriert aber, dass pro Verzeichnis nur eine begrenzte Anzahl an Folgen existieren soll. Das ziehe ich die Tage evtl noch nach. Ebenfalls macht der Vergleich der Hashes aktuell noch keinen Sinn, da nur der Dateiname einfließt und nicht auch die Dateigröße. Ebenfalls ein nettes ToDo.


<-zurück