pdr Configuration
pdr is configured in .pdrx
together with pdx. This file is normally located in the user's HOME
directory. But if there's a file of this name in the actual directory
this file is being used.
General options
The file .pdrx can
contain the following general options:
verbose
=
true |
produce readable
messages to see
what's going on, otherwise both programs will show only error messages
|
interactive
=
true
|
start pdr always in
interactive mode, not recommended
|
encoding
=
UTF-8 |
sets the default encoding which
is used if we don't have any better
specification. This option is responsible for handling text correctly
(for instance comments, especially text with german umlauts). On a
modern system you will use UTF-8 or ISO-8859-1, depending on what your
shell is using. pdr allows ASCII,
UTF-8, UTF-16, ISO-8859-1, ISO-8859-15, Windows1252.
|
Database options
Here we define everything related to the database.
SQLite
database.type
=
sqlite
database.connect =
~/local/share/my_data.db
The first line defines the database to be a SQLite database. The second
line contains the complete connection string to the database. In the
case of SQLite this is just the name of the database file. Because of
the applications are personal applications the database is intended to
be placed somewhere in the users home directory. The physical creation
of the database is not a task of pdr or
pdx.
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
The first line defines the database to be a MySQL database. The second
line contains the complete connection string to the database containing
key-value-pairs (the keys are bold). There are two preconditions:
- The database must exist, this means it has to be created by a
database administrator. He also gives it a name which is unique at the
database server, in example pdrx.
On
servers
used
by
several
users
it
would
be
wise
to
create
several
user
specific
databases
distinctable
by
name.
- The user (a user of the database server, not of the operating
system) must exist and must have the right to create, delete, select
and manipulate tables.
Specific options
The file .pdrx can
contain the following pdr specific settings:
inputs
= e-mail-mailbox,
file1,
file2,
file3 |
This line defines
input
identifiers
for pdr,
namely e-mail-mailbox, file1, file2 and file3, and the order in which
they are processed. |
If you want to query the
same data sources again and again it will be
useful to configure them in the configuration file.
Configuration
of
a
POP3-mailbox
To configure a POP3-mailbox
(named e-mail-mailbox
here) you need the following settings:
e-mail-mailbox.type = pop3
e-mail-mailbox.server
=
pop.gmx.net
e-mail-mailbox.account =
MyAccount@gmx.net
e-mail-mailbox.password = MyPassword
e-mail-mailbox.subject = Q
e-mail-mailbox.keep = yes
The first line defines that e-mail-mailbox is a POP3 mailbox. The
next three lines are self explaining. The fourth line names the e-mail
subject which is used by
pdr
to identify the relevant
e-mails on the server. Only
mails containing this subject are processed, all others will just be
ignored.
This way you don't have to allocate a special new mailbox for pdr, you
can use an
existing one. Note: you must
enter this subject in every mail. If you send a lot of data mails you
have to enter this very often. You should use a short subject,
one letter, but it has to be unique. The last line determines whether a
processed e-mail should be deleted or not. The option accepts true,
false, yes and no. In the case of true or yes the e-mail is not deleted
on the server. If you don't use this option processed mails will be
deleted.
Configuration
of
an
IMAP-mailbox
The configuration of an IMAP mailbox is based on a
POP3 mailbox but extends it by some IMAP specific lines:
e-mail-mailbox.type = imap
e-mail-mailbox.server
= mail.messagingengine.com
e-mail-mailbox.port = 143
e-mail-mailbox.account =
MyAccount@fastmail.fm
e-mail-mailbox.password = MyPassword
e-mail-mailbox.folder = INBOX.pdr
e-mail-mailbox.subject = Z
e-mail-mailbox.keep = yes
e-mail-mailbox.expunge = false
The first line declares the identifier e-mail-mailbox as an IMAP mailbox. server must be an IMAP server, port is normally 143 (IMAP
access). It is intended to allow SSL access here just by specifying
993. account and password speak for themselves. folder extends POP3 by concept:
you can configure directories on an IMAP server which are automatically
filled up with incoming mails
by server rules. It is clever to use this to separate pdr mails from
other incoming mails.
The top most folder on an IMAP server is normally called INBOX. subject is like on POP3. With keep and expunge you can control what is
to be done with the mails after processing. If keep is yes or true processed mails are marked
as read and remain on the server. If keep is no or false they are marked as
deleted but remain also on the server. If in this case expunge is yes or true they will truely be
deleted on the server.
Configuration of a text file
If you want to use a text file
for input you need the following configuration:
file1.type
=
txt
file1.filename = ~/my_file.txt
file1.encoding = ISO-8859-1
file1.keep = true
The first line defines file1
to be a text file input. The second line names the file, the third one
the encoding of the file. If you do not name an encoding here the
default encoding from the
general options will be used. The last line determines whether a
processed text file should be deleted or not. The option accepts true,
false, yes and no. In the case of true or yes the file is not deleted. If
you don't use this option processed files will be deleted.
filename allows the use of
wildcards (* and ?) to process a file with a not
completely known or frequently changing name or even an entire group of
files. The path must be complete but the file name can include
something like *.txt to
process all files of a directory at once.
Configuration of a
CSV file
If you want to use a CSV file
for input you need the following configuration:
file2.type
=
csv
file2.filename =
~/my_file.csv
file2.encoding = ISO-8859-1
file2.ctrl_line = datetime, x, y, z
file2.keep
=
false
The first line defines file2
to be a CSV file input. The second line names the file, the third one
the encoding of the file. If you do not name an encoding here the
default
encoding from the general
options will be used. The option ctrl_line
specifies if needed a control line for the entire CSV file. Then the
CSV file itself doesn't have to contain a control line. The last line
determines whether a processed CSV
file should be deleted or not. The option accepts true,
false, yes and no. In the case of true or yes the file is not deleted. If
you don't use this option processed files will be deleted.
filename allows the use of
wildcards (* and ?)
to process a file with a not completely known or frequently changing
name or even an entire
group of files. The path must be complete but the file name can include
something like *.csv to
process all files of a directory at once.
Configuration of a
XML file
If you want to use a XML file
for input you need the following configuration:
file3.type
=
xml
file3.filename = ~/my_file.xml
file3.keep = no
The first line defines file3
to be a XML file input. The second line names the file. we don't need
an encoding here, the XML file has it's own encoding specification. The
last line determines whether a processed XML
file should be deleted or not. The option accepts true,
false, yes and no. In the case of true or yes the file is not deleted. If
you don't use this option processed files will be deleted.
filename allows the use of
wildcards (* and ?)
to process a file with a not completely known or frequently changing
name or even an entire
group of files. The path must be complete but the file name can include
something like *.xml to
process all files of a directory at once.