Radio Titel im Terminal anzeigen

Seit geraumer Zeit beschäftige ich mich mit tmux. Neben den vielen Vorteilen, die ich ggf. mal in einem anderen Post erkläre, hat man in tmux auch eine Statusbar. Diese zeigt mir verschieden Informationen an z.B. über die aktuelle Session und die Windows. Allerdings kann man diese Statusbar auch selber gestalten.

SWR3 API

Ich höre bei der Arbeit quasi immer Radio. Ich greife dazu den SWR3 Webstream ab und kann so mittels VLC mein lieblings Radio direkt über das Terminal steuern. Nun wäre es aber schön, wenn ich auch im Terminal direkt den Titel sehen könnte, der gerade gespielt wird.

Der aktuelle Titel wird auf der Webseite angezeigt

Auf der SWR3 Webseite kann man immer sehen, was gerade im Radio läuft. Ich habe mir mal den Source Code angeguckt und siehe da, es gibt eine API die abgefragt wird. Die API liefert mir die letzten 13 Songs zurück (chronologisch sortiert) mit Titel, Interpret, Cover URL, Zeitstempel. Sowie den Namen des aktuellen Radiosprechers + Bild und den Namen und die Zeitspanne der aktuellen Show.

Ich brauche davon nur 2 Werte: Letzer Titel + letzer Interpret.

API im Terminal auslesen

Mit der API habe ich nun genau die Informationen die ich haben will. Mittels etwas Terminal-Magic kann ich mir nun diese Information in der Statusbar anzeigen lassen.

$ curl -s https://www.swr3.de/ext/cf\=42/actions/feed/onair.json | python -mjson.tool | grep -m 1 "artist" | cut -d '"' -f 4

Mit curl hole ich mich erstmal den JSON String, der die Daten enthält. Dann „pipe“ ich das ganze durch python damit ich die JSON Repräsentation schön lesbar bekomme. Das hat den Vorteil, dass jetzt jeder Wert in einer eigenen Zeile steht. So kann ich einfach mit grep nach dem ersten Treffer „artist“ (bzw. „title“) suche. Somit habe ich die Zeile, aber hier ist noch das Key-Value Pair. Das trenne ich einfach anhand des Doppeltenanführungszeichen auf und hole mir die 4. Spalte.

Theoretisch relative einfach, wenn man das erstmal verstanden hat. Aber es hat doch etwas gedauert bis ich die Richtige Lösung gefunden habe. Und so sieht das ganze in tmux aus:

Meine tmux Statusbar zeigt mir folgende Informationen an: Session – Windows – Aktueller SWR3 Titel – Datum – Uhrzeit – Hostname

Veröffentlicht von Hans-Helge

Als studierter Informatiker arbeitet Hans-Helge gerne als freiberuflicher WordPress Entwickler und betreut neben eigenen Projekten viele andere Webseiten u.A. im ehrenamtlichen Bereich.

Schreib einen Kommentar

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