HandleFeedinput

Aus OpenNewsNetwork

Wechseln zu: Navigation, Suche

Diese Seite beschreibt beispielhaft eine Möglichkeit, eintreffende Nachrichten nach Bedarf weiterzubearbeiten. Gepostet von Ullrich von Bassewitz.

Ein passendes Skript habe ich nicht, aber ein paar Hinweise fuer das Vorgehen, die Du natuerlich anpassen und ueberpruefen musst:

In /etc/news/newsfeeds einen outgoing Feed einrichten:

         news.musoftware.de\
                :!*,opennews.control/!local\
                :Tc,Wn:/usr/local/opennews/docontrol
       

Das bedeutet: Alle Artikel, die nicht bereits durch news.musoftware.de gegangen sind, und deren Newsgroup opennews.control ist werden an das Programm /usr/local/opennews/docontrol weitergegeben. Wobei "Artikel" falsch ist, es wird nur das Token weitergegeben (jeweils eins pro Zeile). Das Programm muss sich mit

          sm token 
den Artikel holen.

dcontrol

Ein einfaches(!) docontrol Skript, das so - ausser zum Testen - aber auf gar keinen Fall(!) verwendet werden sollte, weil es keinerlei Fehlerpruefungen hat(!), besteht dann aus:

        #!/bin/sh
        while read token; do
            sm $token > /usr/local/opennews/passwd
        done

Wenn Du zum Testen mal folgendes machst (Pathtoken anpassen!):

  /etc/news/newsfeeds:

        news.musoftware.de\
                :*/!local\
                :Tc,Wn:/tmp/docontrol
  /tmp/docontrol:
 
        #!/bin/sh
        while read token; do
            sm $token > /tmp/passwd
        done

Dann hast Du nach

        chmod +x /tmp/docontrol
        ctlinnd reload newsfeeds test

in der Datei /tmp/passwd staendig wechselnde Artikel, so wie sie eben gerade von Deinen Feeds reinkommen. Wenn Du jetzt noch die Newsgroups einschraenkst, und docontrol durch was ersetzt, was Headers usw. vom Artikel strippt und auf ein paar offensichtliche Fehler prueft, dann hast Du zumindest mal was zum rumspielen. Das docontrol Skript kann uebrigens nicht nur die Passwort-Datei ersetzen, sondern auch

   * PGP Headers pruefen,
   * Unterscheiden zwischen neuer passwd Datei, internem ONN checkgroup, oder was auch immer.
Persönliche Werkzeuge