pdr Konfiguration
pdr wird in der Datei .pdrxrc gemeinsam mit
pdx konfiguriert.
Generelle Optionen
Die Datei .pdrxrc kann
folgende generelle Einstellungen enthalten:
verbose = true |
lesbare Ausgaben
machen, wichtig, um zu verfolgen, was getan wird,
anderenfalls werden nur Fehlerausschriften gemacht
|
interactive = true
|
pdr immer in der interaktiven Betriebsart starten, nicht
ratsam
|
encoding = UTF-8 |
teilt pdr das Encoding der
Konsole mit, in der pdr und läuft, dieses Encoding wird
für alle Ein- und Ausgaben sowie immer dann benutzt,
wenn keine konkretere Angabe gemacht wird. Diese Option ist
dafür verantwortlich, daß Texte (z.B. Kommentare,
man denke insbesondere an deutsche Umlaute) korrekt in die
Datenbank gelangen und korrekt wieder ausgegeben werden. Auf
modernen Systemen wird man UTF-8 oder ISO-8859-1 anwenden. pdr erlaubt ASCII, UTF-8, UTF-16, ISO-8859-1, ISO-8859-15, Windows1252, ASCII/CP437 und ASCII/CP850.
|
Datenbankoptionen
Hier werden Typ und Zugang zur verwendeten Datenbank konfiguriert.
SQLite
database.type = sqlite
database.connect = ~/local/share/my_data.db
Die erste Zeile besagt, daß die konkrete Datenbank eine
SQLite-Datenbank ist. Die zweite Zeile enthält den
vollständigen connect string
zur Datenbank. Im Fall von SQLite ist dies schlicht der Name der
Datenbankdatei mit Pfad, damit die Programme die Datenbank finden.
Da es sich um persönliche Applikationen handelt, d.h. es keinen
Mehrbenutzerbetrieb auf der Datenbank gibt, sollte diese in einem
lokalen Benutzerverzeichnis liegen. Das Erzeugen der physischen
Datenbank ist nicht Aufgabe von pdr oder pdx. Der Benutzer muß
dies mit den Mitteln des jeweiligen Datenbank- bzw. Betriebssystems
selbst vornehmen.
MySQL
database.type = mysql
database.connect = user=my_db_user_name;password=my_db_user_password;db=my_db_name;compress=true;auto-reconnect=true
Die erste Zeile besagt, daß die konkrete Datenbank eine
MySQL-Datenbank ist. Die zweite Zeile enthält den
vollständigen connect string
zur Datenbank. Dieser enthält Paare der Form
Schlüssel=Wert, die Schlüssel sind oben fett gemacht.
Voraussetzungen zur Bildung dieses connect strings sind folgende:
- Die Datenbank muß existieren, d.h. sie muß zuvor
von einem Datenbankadministrator angelegt worden sein. Dieser
vergibt dabei einen Namen, der auf dem Datenbankserver eindeutig
ist, z.B. pdrx. Es
ist wahrscheinlich empfehlenswert, auf Servern, an denen mehrere
Benutzer arbeiten, mehrere benutzerspezifische Datenbanken
anzulegen und am Namen zu unterscheiden.
- Der Benutzer (ein Benutzer des Datenbankservers, nicht des
Betriebssystems) muß existieren und das Recht besitzen,
Tabellen anzulegen, zu löschen, zu selektieren und zu
manipulieren.
Spezifische Optionen
Die Datei .pdrxrc kann
folgende pdr-spezifische Einstellungen enthalten:
inputs = e-mail-postfach,
file1, file2, file3 |
Diese Zeile
definiert
Bezeichner für pdr-Datenquellen, nämlich e-mail-postfach, file1, file2 und file3, sowie die
Reihenfolge ihrer Abarbeitung
|
Im Fall der häufigen Verwendung immer gleicher
Datenquellen zur Eingabe können diese in die
Konfigurationsdatei eingetragen und administriert werden. Diese
Datenquellen werden dann bei jedem Aufruf von pdr automatisch
abgefragt.
Konfiguration eines POP3-Postfachs
Die Konfiguration eines POP3-Postfachs (e-mail-postfach) erfordert folgende
Einstellungen:
e-mail-postfach.type = pop3
e-mail-postfach.server =
pop.gmx.net
e-mail-postfach.account =
MyAccount@gmx.net
e-mail-postfach.password = MyPassword
e-mail-postfach.subject = Z
e-mail-postfach.keep = yes
Die erste Zeile legt fest, dass es sich bei e-mail-postfach um ein
Postfach handelt, das über POP3 abgefragt wird. Die
nächsten drei Zeilen sind selbsterklärend. Die vierte
Zeile benennt die Betreffzeile (subject),
an der pdr relevante e-mails in diesem Postfach erkennt. Nur mails
mit dieser Betreffzeile werden bearbeitet, alle anderen ignoriert.
Auf diese Weise muß man nicht zwingend ein neues Postfach
anlegen, man kann ein existierendes mitbenutzen. Hinweis: diese Betreffzeile
muß bei jedem mail angegeben werden. Wer viele Datenmails
verschickt, muß dies also ggf. sehr oft tun. Man halte sie
deshalb möglichst kurz, aber zweifelsfrei eindeutig. Die letzte
Zeile legt fest, ob ene e-mail-Nachricht nach erfolgreicher
Verarbeitung gelöscht werden soll. Die Option akzeptiert true, false, yes und no. Im Fall von true oder yes bleibt die
e-mail-Nachricht auf dem Server bestehen. Fehlt diese Option, wird
sie gelöscht.
Konfiguration eines IMAP-Postfachs
Die Konfiguration eines IMAP-Postfachs baut auf der eines
POP3-Postfachs auf, erweitert diese aber um einige IMAP-spezifische
Einstellungen:
e-mail-postfach.type = imap
e-mail-postfach.server =
mail.messagingengine.com
e-mail-postfach.port = 143
e-mail-postfach.account =
MyAccount@fastmail.fm
e-mail-postfach.password = MyPassword
e-mail-postfach.folder
= INBOX.pdr
e-mail-postfach.subject = Z
e-mail-postfach.keep = yes
e-mail-postfach.expunge = false
Die erste Zeile kennzeichnet den Bezeichner e-mail-postfach als
IMAP-Postfach. server
muß ein IMAP-Server sein, port läßt man normalerweise auf 143
(IMAP-Zugriff). Es ist beabsichtigt, später hier durch Angabe
von 993 auch SSL-Zugriff zu erlauben. account und password sind selbsterklärend. folder geht konzeptionell
über POP3 hinaus: auf einem IMAP-Server lassen sich
Verzeichnisse einrichten, in die der Server mit Hilfe von
Filterregeln eintreffende mails automatisch einsortiert. Es ist
klug, das tatsächlich zu machen, um pdr-mails von anderen mails
zu separieren. Das oberste Verzeichnis auf einem IMAP-Server
heißt normalerweise INBOX.
subject ist identisch
zu POP3. Über keep
und expunge kann
gesteuert werden, was mit den mails nach der Verarbeitung passieren
soll. Steht keep auf yes oder true, werden verarbeitete
mails als gelesen markiert und bleiben auf dem Server. Steht keep auf no oder false, werden sie als
gelöscht markiert, bleiben aber ebenfalls zunächst auf dem
Server. Steht nun aber noch expunge
auf yes oder true, werden sie
tatsächlich auf dem Server gelöscht.
Konfiguration eines Twitter feeds
Die Konfiguration eines Twitter feeds ist einfacher als die eines
e-mail-Postfachs:
my_twitter.type = twitter/rss
my_twitter.proxy = www.proxy.com:port
Die erste Zeile kennzeichnet den Bezeichner my_twitter als eine
Datenquelle, hinter der ein Twitter-Account steckt. Das ist alles,
mehr muß nicht konfiguriert werden, insbesondere muß
hier kein konkreter Twitter-Benutzeraccount o.ä. bekanntgegeben
werden, das geschieht anders (siehe hier). Die zweite Zeile
benennt einen HTTP-Proxyserver, falls der Zugriff über einen
Proxy erfolgen soll.
Konfiguration einer Textdatei
Die Verwendung einer Textdatei als Eingabe erfordert folgende
Konfiguration:
file1.type = txt
file1.filename =
~/my_file.txt
file1.encoding = ISO-8859-1
file1.keep = true
Die erste Zeile legt fest, daß es sich bei file1 um eine Textdatei mit
interpretierbaren Ausdrücken handelt. Die zweite Zeile gibt den
Dateinamen bekannt, die dritte Zeile ein Encoding. Fehlt sie, wird default_encoding benutzt.
Die letzte Zeile legt fest, ob die Textdatei nach erfolgreicher
Verarbeitung gelöscht werden soll. Die Option akzeptiert true, false, yes und no. Im Fall von true oder yes bleibt die Datei
bestehen. Fehlt diese Option, wird die Datei gelöscht.
filename erlaubt die
Verwendung von wildcards (* und ?) um eine Datei mit nur
unvollständig bekanntem oder wechselndem Namen oder gleich eine
ganze Gruppe von Dateien zu verarbeiten. Der enthaltene Pfad
muß vollständig sein, im Dateinamen kann man jedoch eine
Angabe wie *.txt
machen, um alle Dateien im angegebenen Verzeichnis zu verarbeiten.
Konfiguration einer CSV-Datei
Die Verwendung einer CSV-Datei als Eingabe erfordert folgende
Konfiguration:
file2.type = csv
file2.filename =
~/my_file.csv
file2.encoding =
ISO-8859-1
file2.ctrl_line = datetime, x, y, z
file2.keep
= false
Die erste Zeile legt fest, daß es sich bei file2 um eine CSV-Datei
handelt. Die zweite Zeile gibt den Dateinamen bekannt, die dritte
Zeile ein Encoding. Fehlt sie, wird die generelle Option encoding benutzt. Die
Option ctrl_line legt
bei Bedarf eine Steuerzeile für die CSV-Datei fest. Die
CSV-Datei selbst muß dann keine Steuerzeile enthalten. Die
letzte Zeile legt fest, ob die CSV-Datei nach erfolgreicher
Verarbeitung gelöscht werden soll. Die Option akzeptiert true, false, yes und no. Im Fall von true oder yes bleibt die Datei
bestehen. Fehlt diese Option, wird die Datei gelöscht.
filename erlaubt die
Verwendung von wildcards (* und ?) um eine Datei mit nur
unvollständig bekanntem oder wechselndem Namen oder gleich eine
ganze Gruppe von Dateien zu verarbeiten. Der enthaltene Pfad
muß vollständig sein, im Dateinamen kann man jedoch eine
Angabe wie *.csv
machen, um alle Dateien im angegebenen Verzeichnis zu verarbeiten.
Konfiguration einer XML-Datei
Die Verwendung einer XML-Datei als Eingabe erfordert folgende
Konfiguration:
file3.type = xml
file3.filename =
~/my_file.xml
file3.keep = no
Die erste Zeile legt fest, daß es sich bei file3 um eine XML-Datei
handelt. Die zweite Zeile gibt den Dateinamen bekannt. Eine Angabe
des Encodings fehlt hier, da die XML-Datei diese Information in sich
trägt. Die letzte Zeile legt fest, ob die XML-Datei nach
erfolgreicher Verarbeitung gelöscht werden soll. Die Option
akzeptiert true, false, yes und no. Im Fall von true oder yes bleibt die Datei
bestehen. Fehlt diese Option, wird die Datei gelöscht.
filename erlaubt die
Verwendung von wildcards (* und ?) um eine Datei mit nur
unvollständig bekanntem oder wechselndem Namen oder gleich eine
ganze Gruppe von Dateien zu verarbeiten. Der enthaltene Pfad
muß vollständig sein, im Dateinamen kann man jedoch eine
Angabe wie *.xml
machen, um alle Dateien im angegebenen Verzeichnis zu verarbeiten.