Skip to content

Blogeinträge in Mastodon ankündigen

Das Teilen von Links nach Mastodon klappt mit der Firefox-Extension Mastodon Share schon sehr gut. Bei Feeds wäre es nur klasse, wenn das automatisch passiert.

Auf Anregung von Lioh habe ich mir feed2toot angeschaut, endlich einmal ein Tool mit ausführlicher Dokumentation.

Bei Python-Skripten, die nicht mit der eingesetzten Distribution mitgeliefert werden oder die man möglichst aktuell benutzen möchte, lohnt sich die Installation mit pip.

$ python3 -m venv ~/venv/feed2toot
$ source ~/venv/feed2toot/bin/activate

$ pip install --upgrade pip
$ pip install feed2toot

Im nächsten Schritt muss man feed2toot als App in Mastodon registrieren und bekommt nach Registrierung die Client- und User-Credentials zurück.

$ mkdir -p ~/workspace/feed2toot

$ register_feed2toot_app

$ mv feed2toot_clientcred.txt feed2toot_usercred.txt ~/workspace/feed2toot

Meine feed2toot.init-Datei sieht folgendermassen aus:

[mastodon]
instance_url=https://social.anoxinon.de
user_credentials=/home/dirk/workspace/feed2toot/feed2toot_usercred.txt
client_credentials=/home/dirk/workspace/feed2toot/feed2toot_clientcred.txt

[cache]
cachefile=/home/dirk/workspace/feed2toot/feed2toot.db
cache_limit=10000

[lock]
lock_file=/home/dirk/workspace/feed2toot/feed2toot.lock
lock_timeout=3600

[rss]
uri=https://www.deimeke.net/dirk/blog/index.php?/feeds/index.rss2
toot={title} - {link}\n{summary:400}
no_uri_pattern_no_global_pattern=true

[hashtaglist]

[feedparser]
accept_bozo_exceptions=true

[media]

Beim Aufbau des toot-Parameters haben mir die folgenden beiden Kommandos geholfen:

$ feed2toot --rss-sections -c ~/workspace/feed2toot/feed2toot.ini

$ feed2toot --dry-run -c ~/workspace/feed2toot/feed2toot.ini

Wenn alles in Ordnung ist, kann der Cache einmalig gefüllt werden, damit nicht gleich alle Feedartikel veräffentlicht werden.

$ feed2toot --populate-cache -c /home/dirk/workspace/feed2toot/feed2toot.ini

Wenn alles wie gewünscht funktioniert, baut man sich ein Miniskript, macht es ausführbar und führt es via Cron regelmässig aus.

#!/bin/bash
set -o errexit

source /home/dirk/venv/feed2toot/bin/activate

/home/dirk/venv/feed2toot/bin/feed2toot -c /home/dirk/workspace/feed2toot/feed2toot.ini

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

tux. am :

*Es besteht kein Anlass, hier die bash als Shell zu nutzen. POSIX-sh tut's auch und mit deutlich weniger Ressourcenlast.

Dirk Deimeke am :

*Das ändert bei mir rein gar nichts, da /bin/sh ein Link auf bash ist.

Ich habe das Skript mit der Bash getestet, also kommt sie auch in den Shebang ...

tux. am :

*Bei dir schon, bei anderen ist es so natürlich nicht nutzbar, obwohl es theoretisch gehen würde...

Naja, Linuxer und Portabilität. :p

Dirk Deimeke am :

*Das Skript ist hochportabel.

Wir hatten hier schon einmal eine Diskussion darüber, lass es gut sein.

Du wirst immer auf die gleichen Trigger aktiv.

Kommentar schreiben

Gravatar, Favatar, Pavatar, Identica, Twitter, MyBlogLog Autoren-Bilder werden unterstützt.
BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
:'(  :-)  :-|  :-O  :-(  8-)  :-D  :-P  ;-) 
Formular-Optionen