Home | Über | Impressum | Datenschutz |
Ich habe die letzten Tage im Zuge meines Podcast-Loader-Projekts einige Commits auf github gemacht. Es waren noch einige kleine Bugs im Code, die dazu geführt haben, dass Podcasts teilweise mehrmals heruntergeladen wurden, bzw mehrere Twitternachrichten kamen als eine. Der Code ist jetzt komplett überarbeitet worden, allerdings müssen auch Skripte, die den Loader aufrufen, angepasst werden, da ich auch die aufrufende Datei podcasts.py in PodcastManager.py umbenannt habe.
Was mir noch auffällt ist, dass Podcasts, die bereits einmal heruntergeladen wurden, am Folgetag (das Skript läuft bei mir einmal morgens um 8 Uhr) teilweise erneut heruntergeladen werden. Das ist auch einfach zu erklären. Oft stimmen in den RSS Feeds der Podcasts die angegebenen Dateigrößen nicht mit den tatsächlichen Dateigrößen überein.
Das Skript rechnet sich aber einen Vergleichshash aus Titel und Länge der Datei aus, um zu erkennen, ob eine Datei bereits vollständig im Dateisystem liegt. Stimmt der Hash nicht überein, wird die Datei erneut heruntergeladen. Beispiel: pi@raspberrypi:/media/Fritz.Nas/podcasts/Pausenzeichen $ ls -la
total 189572
drwxrwxrwx 1 pi pi 0 Jul 8 08:00 .
drwxrwxrwx 1 pi pi 0 Jul 3 22:05 ..
-rwxrwxrwx 1 pi pi 21640192 Jul 4 08:00 180322_2005_PausenZeichen_Denis-Matsuev---Pianist.mp3
-rwxrwxrwx 1 pi pi 22629376 Jul 4 08:00 180410_0000_PausenZeichen_Martin-Klett---Pianist.mp3
-rwxrwxrwx 1 pi pi 21299712 Jul 8 08:00 180427_0000_PausenZeichen_Frank-Peter-Zimmermann---Geiger.mp3
-rwxrwxrwx 1 pi pi 21340672 Jul 4 08:00 180429_0000_PausenZeichen_Graefin-Mariza.mp3
-rwxrwxrwx 1 pi pi 23211008 Jul 4 08:00 180526_2005_Mozartfest-Wuerzburg-2018.mp3
-rwxrwxrwx 1 pi pi 21992448 Jul 4 08:00 180615_0000_PausenZeichen_Kirill-Gerstein---Pianist--Antonio-Pappano-.mp3
-rwxrwxrwx 1 pi pi 14484992 Jul 4 08:00 180628_1600_Gespraech-mit-Nina-Stemme.mp3
-rwxrwxrwx 1 pi pi 15414784 Jul 4 08:00 180628_1600_PausenZeichen_Gespraech-mit-Christian-Gerhaher.mp3
-rwxrwxrwx 1 pi pi 14886912 Jul 4 08:00 180628_1600_PausenZeichen_Gespraech-mit-Jonas-Kaufmann-und-Georg-Base.mp3
-rwxrwxrwx 1 pi pi 17199104 Jul 4 08:00 180628_1600_PausenZeichen_Zum-Raum-wird-hier-die-Zeit.mp3
pi@raspberrypi:/media/Fritz.Nas/podcasts/Pausenzeichen $
Man beachte die hervorgehobene Bytezahl. Ein Blick in den RSS Feed unter https://feeds.br.de/pausenzeichen-klassik-stars-im-gespraech/feed.xml. Hier sieht man, dass die Länge im item-Segment der Folge nicht passt (length="21200605"). Ich bin mir noch nicht sicher, wie ich dieses Verhalten umgehe. Immerhin stellt das jetzige Vorgehen sicher, dass nicht vollständig heruntergeladene Folgen im nächsten Durchlauf komplett geladen werden. Möglicherweise bastele ich mir eine temporäre Datei, in die ich die richtigen Hashes schreibe und wenn eine Folge doppelt geladen wurde, wird sie durch diese Datei das nächste mal vom Download ausgeschlossen. Oder so.
Ich hatte letztes Jahr hier geschrieben, dass ich in Minden gerne einen Hackspace hätte. Ohne große Hoffnung zu haben, dass sich da in nächster Zeit was tut, habe ich hier und da zu dem Thema ein paar Emails geschrieben und Verbündete gesucht. Durch meinen Aufruf hatte sich ja schon ein kleiner Kreis an Interessierten gebildet und auch mal zu IT-Themen in gemeinsamer Runde gesprochen. Verschärft voran ging es, als ich eine Email an die Stadt Minden mit meinem Anliegen schrieb. Die Mail wurde weitergeleitet an die VHS/Stadtbibliothek in Minden, wo es bereits einen Makerspace gibt, was mir bis dahin völlig entgangen war. Der Makerspace trifft sich jeden dritten Freitag im Monat in der Stadtbibliothek für circa drei Stunden. Dort wird gebastelt, programmiert und in 3D gedruckt.
Einmal im Monat ist für einen Hackspace aber irgendwie zu wenig. Ich hatte mir immer was Stationäres vorgestellt und bin auch der festen überzeugung dass gute Ideen und Kreativität keine Terminkalender besitzen, so dass die notwendigen Räumlichkeiten 24/7 verfügbar sein müssten. Das ist eine harte Anforderung und hat auch die Pläne verhindert, vielleicht in den Katakomben der Stadtbibliothek einen Raum zu bekommen. Hier spielten wohl auch Brandschutz und Fluchtwege eine maßgebliche Rolle, warum es nicht geklappt hat.
Nach ein bisschen hin und her ist Thomas (@McUtty) darauf gekommen, bei Modellbahn Schiffer nachzufragen. Dort existiert seit Jahren eine Gruppe an Leuten, die Tabletop spielen und dort ist noch ein Raum frei, den wir nutzen können. Was sagt uns das? Netzwerken ist wichtig!
Aktuell sind wir dabei, die Infrastruktur vorzubereiten. Sofa ist da, Kaffeemaschine auch. Der Rest folgt. Wir bereiten die Homepage vor, Accounts auf sozialen Medien, Mailing-Listen, etc. Es wird Anfang Mitte Juni eine kleine Einweihungsparty geben. Anschließend werden wir den Hacker/Makerspace Minden stärker bewerben, so dass da Leben in die Bude kommt.
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.
Die neuen Tempel haben schon Risse
Künftige Ruinen
Einst wächst Gras auch über diese Stadt
Über ihre letzte Schicht
Was ist die Befindlichkeit des Landes?
Was ist die Befindlichkeit des Landes?
Was ist die Befindlichkeit des Landes?
Was ist die Befindlichkeit des Landes?
Quelle: Youtube
<< | >> |