pdr Konfiguration
pdr wird in der Datei .pdrx
gemeinsam mit pdx konfiguriert. Diese Datei
liegt üblicherweise im HOME-Verzeichnis des Benutzers. Existiert
jedoch im aktuellen Verzeichnis eine Datei dieses Namens, so wird diese
benutzt.
Generelle Optionen
Die Datei .pdrx 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 |
legt das Encoding fest, das
immer dann benutzt wird, 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.
|
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 .pdrx 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 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.