2 + 2 = 5

Update des Podcast Loaders

Veröffentlicht von fabi3550 am 2018-07-08

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.


<-zurück