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.