RSS Feed als Input für Auphonic API


#1

Moin,
ich hatte früher weder Auphonic noch Podlove. Seit Episode 205 im Einschlafen Podcast ist alles toll, aber die Episoden davor lungern in einem statischen RSS rum, sind nicht in Podlove und klingen teilweise mäßig. Ich hab angefangen, die Episoden manuell durch Auphonic in mein Podlove reinzuprökeln, aber das ginge automatisch schicker.

Daher: ich suche jemanden, der mir ein kleines Skript baut (OSX, Interpretersprache, Webapp, Golang, was auch immer), das mir die Möglichkeit gibt, bestimmte Episoden aus nem RSS in ein bestimmtes Auphonic preset zu stecken und den Job zu starten. Nicht alle auf einmal (so viel Auphonic Zeit hab ich auch nicht), sondern einzeln. Title, Description, enclosure als Input sind ja alle da. Auf Twitter haben sich gerade @eazy und noch jemand gemeldet, @Hoaxmaster hätte am Ergebnis wohl auch Interesse.

Ich glaube, dass das für geübte Programmierer mehr so ne Fingerübung ist, aber meine Finger sind leider etwas eingerostet. Jemand? :smiley:


#2

Ahoi,

für Tobias’ Fall habe ich mal ne Skriptsammlung vorbereitet. Wo kann ich die mal hinschicken/hinlegen?


#3

Github? Finde ich immer ganz gut für öffentliche Skripte :slight_smile:


#4

Naja, ist schon ziemlich auf dich gemünzt.

Zur Erläuterung was ich gemacht habe:

  • RSS abgespeichert, und das XML Eingelesen
  • über das Ergebnis von XPATH “/rss/channel/item” iterieren und für jedes Element eine Datei schreiben (.sh)
  • pro datei steht alles fix drin,
  • username, password und preset werden über source config.sh aus der config.sh gelesen

Da ich damit am schnellsten bin, hab ich das unter Windows in C# erstellt und dann unter OSX nur noch chmod +x laufen lassen. Ich kann das gleiche sicher auch in C++ unter OSX hinbekommen, dauert nur etwas länger, da ich das noch nie gemacht habe :slightly_smiling:


#5

Sooo…

ich habs dann einfach über nen Hoster gemacht:
Die Datei Einschlafen.zip (157,787 KB)

  • Prüfsummen der Datei:
  • CRC32: 0099B107E9
  • MD5: 8905DBA3F5BB78FAED05D78267C997C7
  • SHA1: 98988B2A512C28F025907D0A89369C078C89BECC

https://www.file2send.eu/de/download/T7Sp2MV2nc0mRf-d.XIq7MJrDFP27u5VsC7Sh2ZH9djHaCDMhLlVK6aaqJc_

Das ist ein Zip mit den Skripten. Vor dem ersten laufen lassen in der “config.sh” die Variablen richtig setzen.

  • USR = Username bei Auphonic
  • PASSWD=Passwort zum Usernamen
  • PRESET=Name des Presets bei Auphonic

Für jede Folge gibt es eine eigene Datei.
Laut Auphonic API sollte der Aufruf so korrekt sein.

Hoffentlich halten die sich besser dran, als Lotus Notes :wink:

LG
Andreas


#6

Hallo Toby und Andreas!

Das ist eine gute Idee!
Hast du hierbei an ein Skript gedacht oder sollte das (ohne commandline zu bedienen) in einem Webinterface oder sonst wo funktionieren?

Die Frage ist wie man mit den Metadaten korrekt umgeht:
Wenn man einfach ein skript macht ohne Metadaten anzugeben (wie in Andreas seinen scripts), werden die Metadaten aus der input audio datei gelesen. Wenn diese gleich gemacht ist wie in Auphonic sollte das funktionieren.
Falls nicht, könnte man noch überlegen die Metadaten eher aus dem Feed zu lesen, dort sollten diese strukturierter sein …

Falls du nur auf der Suche nach einem Skript bist und die Metadaten automatisch aus der Audiodatei gelesen werden sollen, kann ich dir natürlich auch gerne eines schreiben!

LG
Georg


#7

Ahoi,

Titel und URL werden aus dem RSS genommen. Der Rest kommt aus dem Preset?

Nachdem ich jetzt auch noch ein wenig Zeit hatte, habe ich auch noch mal das Ganze in C++ (mit boost, aber nur für den PropertyTree zum XML-Traversieren, man muss es also nicht vorher kompilieren) fertig.

Es ist immerhin so flexibel, dass man einen beliebigen RSS-Feed mit “enclosures” da reinstecken kann. Heraus kommen dann die einzelnen Dateien und am Ende wird auch noch die config.sh mit angelegt.

LG
Andreas


#8

Hi Andreas,
das sieht ja schon fantastisch aus, danke :slight_smile: die Description könntest Du noch aus dem Feed nehmen, einen output_basename hätte ich auch gern (“epNNNN”). Eigene Images haben die Episoden 1-205 nicht, glaube ich…

Danke!
Toby


#9

Hallo Tobias,

die Description aus dem XML herauslesen, ist nicht das Problem, allerdings weiss ich noch nicht, was ich dann damit machen kann. In den Parametern für die API hab ich noch nichts dazu gefunden.

Ein anderes Problem ist der Basename. Ich könnte da zwar auch was für dich machen, weil du bisher immer 4 Ziffern verwendet hast und das relativ eindeutig ist. Daraus eine generische Lösung zu erstellen, die dann auch z.B. für Hoaxilla sinnvoll wäre, ist eine andere Sache.

LG
Andreas


#10

Ahoi,

ich hab das jetzt über ne regex (bei Toby “\d{4}”) gelöst. Es ist jetzt ein C++ Programm auf dem Mac. Der baseOutputName wird auch gleich für die Skripte verwendet.

Eventuell kann dann damit auch jemand anders was anfangen. Danach kann man noch ein Template angeben, bei dem dann “%#” durch das, was über die RegEx gefunden wird, ersetzt wird.

Die Description habe ich jetzt noch nicht angefasst, weil ich die nicht an Auphonic übergeben kann. Jedenfalls hab ich dazu in der API-Beschreibung nichts gefunden.

In C# wars wirklich nur ne Fingerübung, mein C++ ist aber ganz schön eingerostet. :slightly_smiling:

File checksums:
CRC32: 402E3F69
MD5: 428642F36015AC8D55E4140C206B6AB0
SHA1: 0176C1309F3618DFEC66B19AD123F306075425EF

https://www.file2send.eu/en/download/cbwuBqZ4fm0-zXB7RAg2Ab3UZ-7g9aYue8SlFQf.fTD6d73aaWvZ8SJDShPJ2FMx

Falls wer mag, kann ich auch gerne die Sourcen dazu liefern, immerhin fragt das Tool am Ende nach dem Usernamen und dem Passwort bei Auphonic, damit es die “config.sh” anlegen kann.

LG
Andreas


#11

Und nochmal ich.

Jetzt mit einer Version für den Hoaxmaster.
Prüfsummen der Datei:
:black_medium_small_square:CRC32: 1C9AEA10
:black_medium_small_square:MD5: B3DD5AFDC6F7B49CC3791278A91438D7
:black_medium_small_square:SHA1: B24BA9045CFE8726AFD563E1DE97EF55B45787E5

https://www.file2send.eu/de/download/SCgrAey7CrI.F-XGXTFynnvcdYjkDq6MrC5kZXNpQIzfvcdfaX9N53Y1.6eP

Das Archiv enthält die kleine Anwendung, die die Skripte erstellt und eine curl.exe, die es aber auch so auf der CURL-Seite zum herunterladen gibt.

Da ich die RSS-Adresse bei den Hoaxillas leider nicht kenne ( http://www.hoaxilla.com/feed/ zeigt mir nur ein paar Einträge an), kann ich die RegEx noch nicht genau sagen, aber wenn ich die mal bekomme, dann kann da noch mal schauen. Für die eine Folge die drin war wäre die RegEx “hoaxcast\d{3}”.

LG
Andreas


#12

Hallo Andreas!

Die description sollte bei uns in das Feld “summary”. Also wenn du curl verwendest:
curl … -F “summary=der text der description …”

Hm, Toby, willst du den Dateinamen ändern oder nicht eh so lassen wie er in der input (feed) datei ist?
Falls die Namen gleichbleiben, übernimmt das Auphonic eh automatisch.

LG
Georg


#13

Ich möchte den basename gern ändern, damit er einheitlich wird. “Früher” hab ich den immer manuell gesetzt mit Titel drin, jetzt hätte ich gern slug plus episodennummer :slightly_smiling: