You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HayWo f19d2bb7ca
add soundcloud support
3 weeks ago
systemd add systemd files 3 weeks ago
.gitignore Initial Commit 3 weeks ago
README.md add alternative youtube link 3 weeks ago
fridaydisco.py add soundcloud support 3 weeks ago

README.md

Fridaydiso

Was ist die Fridaydisco?

Mehr oder weniger regelmäßig freitags nachmittags/abends/nachts treffen sich einige coole Menschen auf Mastodon unter dem Hashtag #fridaydisco. Dort werden dann Links zu verschiedensten Songs auf YouTube geteilt.

Was tut fridaydisco.py?

Das script fridaydisco.py extrahiert die Links zu den Songs aus den Toots. Die Songs werden als mp3 heruntergeladen und in einem Ordner mit dem aktuellen Datum gespeichert.

Benutzung von fridaydisco.py

Benötigte Programme und Bibliotheken

notwendig

  • python3.x
  • youtube_dl

optional

  • mplayer

Als live Player unter Linux mit systemd (ungetestet - funktioniert in der Theorie)

  • Systemd Setup (nur beim ersten mal benötigt)
    • Die Datei systemd/fridaydisco.service entsprechend dem eigenen Setup anpassen und nach /etc/systemd/system/ kopieren.
    • Die Datei systemd/fridaydisco.timer nach /etc/systemd/system/ kopieren
    • Systemd neu laden mit sudo systemctl daemon-reload
  • Systemd-Timer starten mit sudo systemctl start fridaydisco.timer
  • Musik abspielen mit mplayer </PFAD/ZU>/fridaydisco/fridaydisco-YYYY-MM-DD/*
  • Nach dem hören den Timer beenden mit sudo systemctl stop fridaydisco.timer

Zur Archivierung

  • cd fridaydisco
  • python fridaydisco.py Bei wiederholter Ausführung des Scripts werden lediglich neue Songs heruntergeladen

Funktion

  • es werden aktuell immer die X neuesten Toots abgefragt.
  • Als Api-Endpoint wird <Instanz-url>/api/v1/timelines/tag/<hashtag> verwendet.
  • es werden nur öffentliche Toots mit dem angegebenen Datum analysiert
  • es werden nur Links der Form https://www.youtube.com/watch?v= berücksichtigt
  • es werden keine vollständigen Playlists von YouTube heruntergeladen
  • es wird eine Datei mit Namen fridaydisco-YYYY-MM-DD.json erstellt, hier werden zu jedem Song Titel, Länge, Link und Dateiname gespeichert. Schlägt ein Download fehl wird sein Link in eine eigene Liste aufgenommen. So können fehlgeschlagene Downloads später manuell wiederholt werden.
  • alle Dateien werden in einem Ordner mit Namen fridaydisco-YYYY-MM-DD/ gespeichert

Optionen

Parameter Funktion erwarteter Wert Standardwert
-i= Mastodon Instanz https://sub.domain.tld https://mastodon.matrix.org
-t= Hashtag Hashtag ohne # fridaydisco
-n= Anzahl abgefragter Toots Zahl 80
-d= Datum YYYY-MM-DD < aktuelles-datum >

Fehlende Funktionen

  • Toots die nach Mitternacht getrötet werden sollten optional weiterhin im Ordner vom Vortag gespeichert werden. Insbesondere für den ‘Live-Modus’ nützlich.