from ..handler.pflogparse import PostfixLogfileParser
from ..xlate import XLATOR
-__version__ = '0.8.1'
+__version__ = '0.8.2'
LOG = logging.getLogger(__name__)
_ = XLATOR.gettext
action=OutputFileOptionAction,
help=_(
'The output YAML file for collecting and cummulating the results. '
- 'Dafault: {!r}.').format(str(self.totals_yaml_file))
+ 'Default: {!r}.').format(str(self.totals_yaml_file))
)
app_group.add_argument(
_ = XLATOR.gettext
ngettext = XLATOR.ngettext
-__version__ = '0.6.3'
+__version__ = '0.6.4'
# =============================================================================
def evaluate_logfiles(self, logfiles):
"""Evaluate and parse all given logfiles."""
if not is_sequence(logfiles):
- msg = _('Given parameter {p!r} for {f}() is not a sequential objects: {v!r}.').format(
+ msg = _('Given parameter {p!r} for {f}() is not a sequential object: {v!r}.').format(
p='logfiles', f='evaluate_logfiles', v=logfiles)
raise TypeError(msg)
_ = XLATOR.gettext
ngettext = XLATOR.ngettext
-__version__ = '0.6.0'
+__version__ = '0.6.1'
LOG = logging.getLogger(__name__)
tzname = _get_localzone_name(_root)
if tzname is None:
# No explicit setting existed. Use localtime
- LOG.debug(_('No explicit setting existed. Use localtime".'))
+ LOG.debug(_('No explicit setting existed. Use localtime.'))
for filename in ('etc/localtime', 'usr/local/etc/localtime'):
tzpath = os.path.join(_root, filename)
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.11.0\n"
+"Project-Id-Version: pp_admintools 1.1.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2024-02-06 15:10+0100\n"
-"PO-Revision-Date: 2024-02-06 15:15+0100\n"
+"POT-Creation-Date: 2024-07-30 17:28+0200\n"
+"PO-Revision-Date: 2024-07-30 17:30+0100\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: de_DE\n"
"Language-Team: de_DE <solution@pixelpark.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.14.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: lib/pp_admintools/app/__init__.py:51
+#: lib/pp_admintools/app/__init__.py:54
msgid "Cursor position:"
msgstr "Cursorposition:"
-#: lib/pp_admintools/app/__init__.py:158
+#: lib/pp_admintools/app/__init__.py:161
msgid "Using logfile {!r}."
msgstr "Verwende Logdatei {!r}."
-#: lib/pp_admintools/app/__init__.py:160
+#: lib/pp_admintools/app/__init__.py:163
msgid "Don't using a logfile."
msgstr "Verwende keine Logdatei."
+#: lib/pp_admintools/app/__init__.py:221
+msgid "The output file to check must not be None."
+msgstr "Die Ausgabedatei zum Überprüfen darf nicht None sein."
+
#: lib/pp_admintools/app/barracuda_sync.py:125
msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
msgstr ""
"Die DN des LDAP-Containers (meistens eine OU), in dem alle virtuellen Aliaseinträge geplegt "
"werden sollen. Vorgabe: {!r}"
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:463
-#: lib/pp_admintools/app/ldap.py:474 lib/pp_admintools/app/mirror_ldap.py:114
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:479 lib/pp_admintools/app/mirror_ldap.py:114
#: lib/pp_admintools/app/pdns.py:275
msgid "SECONDS"
msgstr "SEKUNDEN"
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:431 lib/pp_admintools/app/dns_deploy_zones.py:791
-#: lib/pp_admintools/app/ldap.py:1195 lib/pp_admintools/app/ldap.py:1322
-#: lib/pp_admintools/app/ldap.py:1370 lib/pp_admintools/app/ldap.py:1418
-#: lib/pp_admintools/app/ldap.py:1904 lib/pp_admintools/app/ldap.py:1935
-#: lib/pp_admintools/app/ldap.py:1966 lib/pp_admintools/app/ldap.py:1997
+#: lib/pp_admintools/app/ldap.py:1201 lib/pp_admintools/app/ldap.py:1328
+#: lib/pp_admintools/app/ldap.py:1376 lib/pp_admintools/app/ldap.py:1424
+#: lib/pp_admintools/app/ldap.py:1910 lib/pp_admintools/app/ldap.py:1941
+#: lib/pp_admintools/app/ldap.py:1972 lib/pp_admintools/app/ldap.py:2003
msgid "Result:"
msgstr "Ergebnis:"
msgid "LDAP Entries to modified:"
msgstr "Zu ändernde LDAP-Einträge:"
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2110
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2116
msgid "Values to add to attribute {!r}:"
msgstr "Werte, die zu Attribut {!r} hinzugefügt werden:"
msgid "Values to be removed from attribute {!r}:"
msgstr "Werte, die von Attribut {!r} gelöscht werden sollen:"
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2131
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2137
msgid "Changes for attribute {!r}:"
msgstr "Änedrungen für Attribut {!r}:"
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2134
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2140
msgid "No changes to attribute {!r}."
msgstr "Keine Änderungen an Attribut {!r}."
msgid "Script options"
msgstr "Skript-Optionen"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91 lib/pp_admintools/app/get_from_addr.py:139
+#: lib/pp_admintools/app/get_from_addr.py:147 lib/pp_admintools/app/get_from_addr.py:157
msgid "FILE"
msgstr "DATEI"
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:210
#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:180
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:224
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr "Gefundene Attribute:"
msgid "Found entry DNs:"
msgstr "Gefundener Eintrag-DNs:"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:66
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:52
+msgid "The base DN used as the root for the LDAP search."
+msgstr "Die Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet werden soll."
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:68
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
"Löscht alle LDAP-Gruppen, die keine Mitglieder haben. Das heißt, sie haben eine der folgenden "
"Objektklassen: {ocl}, und sie besitzen keines der folgenden Attribute: {atl}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:115 lib/pp_admintools/app/remove_ldap_user.py:127
-msgid "Removing options"
-msgstr "Lösch-Optionen"
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:117 lib/pp_admintools/app/dns_deploy_zones.py:247
+#: lib/pp_admintools/app/get_from_addr.py:122 lib/pp_admintools/app/mk_ldap_passwd.py:78
+#: lib/pp_admintools/app/set_ldap_password.py:117
+msgid "Options for {}"
+msgstr "Optionen für {}"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:119
-msgid "The base DN used as the root for the LDAP search."
-msgstr "Die Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet werden soll."
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:122
+msgid "Delete only the first found empty group and exit."
+msgstr "Nur die erste gefundene leere Gruppe löschen und sich dann beenden."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:145 lib/pp_admintools/app/remove_ldap_user.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:150 lib/pp_admintools/app/remove_ldap_user.py:195
msgid "Checking given instances for admin and read/write access."
msgstr "Überprüfe die gegebenen Instanzen nach Admin- und Schreib-/Lesezugriffsrechten."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:152 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:157 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "LDAP instance {!r} not found in configuration."
msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:160 lib/pp_admintools/app/remove_ldap_user.py:210
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} has only readonly access."
msgstr "Die LDAP-Instanz {!r} besitzt nur Lesezugriffsrechte."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:215
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:215
msgid "No admin access to LDAP instance {!r}."
msgstr "Keine Admin-Zugriffsrechte bei LDAP-Instanz {!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:180
msgid "Searching for empty groups ..."
msgstr "Suche nach leeren Gruppen …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:182
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:187
msgid "No more empty groups left for removing."
msgstr "Keine weitern Gruppen zu Löschen."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:190
msgid "Lap {} on searching for empty groups to remove."
msgstr "Runde {} bei der Suche nach zu löschenden leeren Gruppen."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:220
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr "Suche nach Mitglieds-Attributen von {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr "Fand Attribut {at!r} in Gruppe {g!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr "Die Gruppe {!r} ist nicht leer!"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr "Lösche Gruppe {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr "Kein Löschen der Gruppe {!r}."
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:249
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr "Möchten Sie die Gruppe '{}' wirklich löschen"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr "[{yes}/{no}]?"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/ldap.py:331
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:338
#: lib/pp_admintools/app/mirror_ldap.py:246 lib/pp_admintools/app/remove_ldap_user.py:301
#: lib/pp_admintools/app/set_ldap_password.py:481
msgid "No"
msgstr "Nein"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/mirror_ldap.py:246
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:246
#: lib/pp_admintools/app/remove_ldap_user.py:301 lib/pp_admintools/app/set_ldap_password.py:481
msgid "yes"
msgstr "ja"
msgid "Generation of the BIND9 configuration file for slave zones."
msgstr "Generierung der BIND9-Konfigurationsdatei für Slave-Zonen."
-#: lib/pp_admintools/app/dns_deploy_zones.py:247 lib/pp_admintools/app/mk_ldap_passwd.py:78
-#: lib/pp_admintools/app/set_ldap_password.py:117
-msgid "Options for {}"
-msgstr "Optionen für {}"
-
#: lib/pp_admintools/app/dns_deploy_zones.py:252
msgid "Keep a backup file for each changed configuration file."
msgstr "Eine Backup-Datei für jede geänderte Konfigurationsdatei aufbewahren."
msgid "Checking for dependend unique attribute '"
msgstr "Überprüfe abhängig eindeutiges Attribut '"
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:617
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:622
msgid "Used filter:"
msgstr "Verwendeter Filter:"
msgid "No duplicates for attribute {!r} found."
msgstr "Keine Duplikate für das Attribut {!r} gefunden."
-#: lib/pp_admintools/app/ldap.py:241
+#: lib/pp_admintools/app/get_from_addr.py:105
+msgid ""
+"This script collects all envelop-From-addresses from /var/log/maillog*, which are used for "
+"outbound mails. "
+msgstr ""
+"Das Skript sammelt Frm-Adressen der Envelopes aus /var/log/maillog* zusammen, die für ausgehende"
+" Mails verwendet wurden."
+
+#: lib/pp_admintools/app/get_from_addr.py:108
+msgid ""
+"Please note, that these addresses are those from the mail envelope. They may not be the same "
+"like the From addresses in the mail headers."
+msgstr ""
+"Bitte beachten, dass diese Adressen aus den Mail-Envelopes stammen. Diese müssen nicht mit den "
+"From-Adressen aus den Mail-Headern übereinstimmen."
+
+#: lib/pp_admintools/app/get_from_addr.py:127
+msgid "Show also results for particular mail addresses."
+msgstr "Zeige auch Ergebnisse von einzelenen Mail-Adressen an."
+
+#: lib/pp_admintools/app/get_from_addr.py:131 lib/pp_admintools/app/ldap.py:459
+msgid "COUNT"
+msgstr "ANZAHL"
+
+#: lib/pp_admintools/app/get_from_addr.py:133
+msgid ""
+"Limit the output of domains and addresses to those with a count of at least this value. Default:"
+" {}"
+msgstr "Begrenzung der Domänen und Adressen auf die mit einer Anzahl von wenigstens diesem Wert. Vorgabe:"
+
+#: lib/pp_admintools/app/get_from_addr.py:141
+msgid "The output YAML file for collecting and cummulating the results. Default: {!r}."
+msgstr "Die Ausgabe-YAML-Datei zum Sammeln und Kummulieren der Ergebnisse. Vorgabe: {!r}."
+
+#: lib/pp_admintools/app/get_from_addr.py:149
+msgid ""
+"The output CSV file about the domains of found FROM addresses for importing in a spread sheet or"
+" into a database. Default: {!r}"
+msgstr ""
+"aDie Ausgabe-CSV-Datei über die Domänen der gefundenen FROM-Adressen zum Import in eine "
+"Tabellenkalkulation oder in eine Datenbank. Vorgabe: {!r}"
+
+#: lib/pp_admintools/app/get_from_addr.py:158
+msgid "The logfiles, which should be inspected. Default: {!r}"
+msgstr "Die LOgdateien, die inspiziert werden sollen. Vorgabe: {!r}"
+
+#: lib/pp_admintools/app/get_from_addr.py:208 lib/pp_admintools/app/get_from_addr.py:222
+#: lib/pp_admintools/app/get_from_addr.py:233
+msgid "File {!r} is not a regular file."
+msgstr "Die Datei {!r} ist keine reguläre Datei-"
+
+#: lib/pp_admintools/app/get_from_addr.py:214
+msgid "Path {!r} is not a directory."
+msgstr "Der Pfad {!r} ist kein Verzeichnis."
+
+#: lib/pp_admintools/app/get_from_addr.py:239
+msgid "Sorting logfiles ..."
+msgstr "Sortiere Logdateien …"
+
+#: lib/pp_admintools/app/get_from_addr.py:263
+msgid "Collecting results ..."
+msgstr "Sammle Ergebnisse …"
+
+#: lib/pp_admintools/app/get_from_addr.py:374
+msgid "No logfiles for evaluating found."
+msgstr "Keine Logdateien zum Untersuchen gefunden."
+
+#: lib/pp_admintools/app/get_from_addr.py:379
+msgid "Evaluating Postfix log files:"
+msgstr "Untersuche Postfix-Logdataeien:"
+
+#: lib/pp_admintools/app/get_from_addr.py:390 lib/pp_admintools/app/get_from_addr.py:563
+msgid "Results per domain:"
+msgstr "Ergebnisse per Domain:"
+
+#: lib/pp_admintools/app/get_from_addr.py:393 lib/pp_admintools/app/get_from_addr.py:511
+msgid "Results per address:"
+msgstr "Ergebnisse per Adresse:"
+
+#: lib/pp_admintools/app/get_from_addr.py:401
+msgid "Start of oldest found Postfix transaction:"
+msgstr "Beginn der ältesten gefundenen Postfix-Transaktion:"
+
+#: lib/pp_admintools/app/get_from_addr.py:405
+msgid "Start of newest found Postfix transaction:"
+msgstr "Beginn der jüngsten gefundenen Postfix-Transaktion:"
+
+#: lib/pp_admintools/app/get_from_addr.py:418
+msgid "Using totals YAML file {!r}."
+msgstr "Verwende YAML-Datei {!r} für die Ergebnisse."
+
+#: lib/pp_admintools/app/get_from_addr.py:433
+msgid "Results total:"
+msgstr "Gesamtergebnisse:"
+
+#: lib/pp_admintools/app/get_from_addr.py:436
+msgid "Writing file {!r} ..."
+msgstr "Schreibe Datei {!r} …"
+
+#: lib/pp_admintools/app/get_from_addr.py:452
+msgid "Reading file {!r} ..."
+msgstr "Lese Datei {!r} …"
+
+#: lib/pp_admintools/app/get_from_addr.py:461
+msgid "Preparing CSV table for domains ..."
+msgstr "Bereite CSV-Tabelle für die Domänen vor …"
+
+#: lib/pp_admintools/app/get_from_addr.py:488
+msgid "Prepared domains CSV table:"
+msgstr "Vorbereitete CSV-Tabelle der Domänen:"
+
+#: lib/pp_admintools/app/get_from_addr.py:489
+msgid "Writing CSV file {!r} ..."
+msgstr "Schreibe CSVDatei {!r} …"
+
+#: lib/pp_admintools/app/ldap.py:116
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+"Überschreibt die konfigurierte Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet "
+"werden soll."
+
+#: lib/pp_admintools/app/ldap.py:248
msgid "The value {v} for {n} must be greater than zero."
msgstr "Der Wert {v} für {n} muss größer als Null sein."
-#: lib/pp_admintools/app/ldap.py:245 lib/pp_admintools/app/ldap.py:267
+#: lib/pp_admintools/app/ldap.py:252 lib/pp_admintools/app/ldap.py:274
msgid "The value {v} for {n} must not be greater than {m}."
msgstr "Der Wert {v} für {n} darf nicht größer als {m} sein."
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:270
msgid "The value {v} for {n} must be equal to or greater than zero."
msgstr "Der Wert {v} für {n} muss größer als oder gleich Null sein."
-#: lib/pp_admintools/app/ldap.py:320
+#: lib/pp_admintools/app/ldap.py:327
msgid "LDAP options"
msgstr "LDAP-Optionen"
-#: lib/pp_admintools/app/ldap.py:322
+#: lib/pp_admintools/app/ldap.py:329
msgid "Options for the default LDAP connection"
msgstr "Optionen für die Vorgabe-LDAP-Verbindung"
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:331
msgid "Options fo LDAP connections"
msgstr "Optionen für die LDAP-Verbindungen"
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:340
msgid "Yes"
msgstr "Ja"
-#: lib/pp_admintools/app/ldap.py:339 lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:346 lib/pp_admintools/app/ldap.py:442
msgid "HOST"
msgstr "HOST"
-#: lib/pp_admintools/app/ldap.py:340
+#: lib/pp_admintools/app/ldap.py:347
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr "Der Hostname oder die Adresse des zu verwendenden LDAP-Servers. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:347
+#: lib/pp_admintools/app/ldap.py:354
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr "Soll ldaps zum Verbinden mit dem LDAP-Server verwendet werden? Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:352 lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:359 lib/pp_admintools/app/ldap.py:448
#: lib/pp_admintools/app/mail.py:243 lib/pp_admintools/app/pdns.py:264
msgid "PORT"
msgstr "PORT"
-#: lib/pp_admintools/app/ldap.py:354
+#: lib/pp_admintools/app/ldap.py:361
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr "Welcher Port soll verwendet werden, um sich mit dem LDAP-Server zu verbinden? Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:360
+#: lib/pp_admintools/app/ldap.py:367
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr "Die Basis-DN, die als Ausgangspunkt bei LDAP-Suchen verwendet werden soll. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:374
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr "Die Bind-DN, die zur Verbindung mit dem LDAP-Server verwendet werden soll. Vorgabe: {!r}"
-#: lib/pp_admintools/app/ldap.py:375 lib/pp_admintools/app/mk_ldap_passwd.py:123
+#: lib/pp_admintools/app/ldap.py:382 lib/pp_admintools/app/mk_ldap_passwd.py:123
#: lib/pp_admintools/app/set_ldap_password.py:123 lib/pp_admintools/app/set_ldap_password.py:124
#: lib/pp_admintools/app/set_ldap_password.py:141 lib/pp_admintools/app/set_ldap_password.py:144
msgid "PASSWORD"
msgstr "PASSWORT"
-#: lib/pp_admintools/app/ldap.py:376
+#: lib/pp_admintools/app/ldap.py:383
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr "Verwende PASSWORT als Passwort für die einfache Authentifizierung."
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:388
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
"Nachfrage nach dem Passwort für eine einfache LDAP-Authentifizierung. Dies wird anstelle der "
"Angabe des Passwortes an der Kommandozeile verwendet."
-#: lib/pp_admintools/app/ldap.py:387 lib/pp_admintools/app/set_ldap_password.py:135
+#: lib/pp_admintools/app/ldap.py:394 lib/pp_admintools/app/set_ldap_password.py:135
#: lib/pp_admintools/app/set_ldap_password.py:137
msgid "PASSWORD_FILE"
msgstr "PASSWORT_DATEI"
-#: lib/pp_admintools/app/ldap.py:389
+#: lib/pp_admintools/app/ldap.py:396
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr "Verwende den Inhalt der PASSWORT_DATEI als das Passort für eine einfache LDAP-Authentifizierung."
-#: lib/pp_admintools/app/ldap.py:397 lib/pp_admintools/app/pdns.py:238
+#: lib/pp_admintools/app/ldap.py:404 lib/pp_admintools/app/pdns.py:238
msgid "INSTANCE"
msgstr "INSTANZ"
-#: lib/pp_admintools/app/ldap.py:400
+#: lib/pp_admintools/app/ldap.py:407
msgid "If not given, then the instance {!r} will be used."
msgstr "Wenn nicht angegeben, dann wird die Instanz {!r} verwendet."
-#: lib/pp_admintools/app/ldap.py:404
+#: lib/pp_admintools/app/ldap.py:411
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
"Die LDAP-Instanz (das LDAP-Cluster) aus der Konfiguration, in welcher das Skript ausgeführt "
"werden soll."
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:415
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
" außer {default!r} verwendet. Es ist ebenfalls möglich, den Wert {val_list!r} anzugeben, in "
"diesem Fall werden alle LDAP-Instanzen ausgegeben, und das Skript beendet sich."
-#: lib/pp_admintools/app/ldap.py:436
+#: lib/pp_admintools/app/ldap.py:443
msgid "Override configured hostname or address of the LDAP server."
msgstr "Überschreibt den konfigurierten Hostnamen oder die Adresse des zu verwendenden LDAP-Servers."
-#: lib/pp_admintools/app/ldap.py:443
+#: lib/pp_admintools/app/ldap.py:450
msgid "Override the configured port number to connect to the LDAP server."
msgstr "Überschreibt den konfigurierten TCP Port für die Verbindung mit dem LDAP-Server."
-#: lib/pp_admintools/app/ldap.py:448
-msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
-msgstr ""
-"Überschreibt die konfigurierte Basis-DN, die als Ausgangspunkt bei der LDAP-Suche verwendet "
-"werden soll."
-
-#: lib/pp_admintools/app/ldap.py:454
-msgid "COUNT"
-msgstr "ANZAHL"
-
-#: lib/pp_admintools/app/ldap.py:457
+#: lib/pp_admintools/app/ldap.py:462
msgid ""
"The number of retries for executing a LDAP request, which was failing because of a connection "
"problem. Default: {}"
"Die Anzahl der Versuche zum Ausführen einer LDAP-Abfrage, welche wegen einem Verbindungsproblem "
"misslang. Vorgabe: {}"
-#: lib/pp_admintools/app/ldap.py:466
+#: lib/pp_admintools/app/ldap.py:471
msgid ""
"The time in seconds after a failed LDAP request, which was failing because of a connection "
"problem, for the next try. Default: {}"
"Die Wartezeit in Sekunden nach einer misslungenen LDAP-Abfrage, was von einem Verbindungsproblem"
" verursacht wurde. Vorgabe: {}"
-#: lib/pp_admintools/app/ldap.py:476
+#: lib/pp_admintools/app/ldap.py:481
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr "Der Timeout in Sekunden für alle LDAP-Operationen. Vorgabe: {}."
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:516
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
"Begrenze wegen des LDAP-Zeitüberschreitungslimits das Zeitüberschreitungslimit der Konsole auf "
"{} Sekunden."
-#: lib/pp_admintools/app/ldap.py:522
+#: lib/pp_admintools/app/ldap.py:527
msgid "Checking given instances."
msgstr "Überprüfe die übergebenen Instanzen."
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:531
msgid "Given insts:"
msgstr "Übergebene Instanzen:"
-#: lib/pp_admintools/app/ldap.py:583
+#: lib/pp_admintools/app/ldap.py:588
msgid "Configured LDAP instances:"
msgstr "Konfigurierte LDAP-Instanzen:"
-#: lib/pp_admintools/app/ldap.py:604
+#: lib/pp_admintools/app/ldap.py:609
msgid "Verifying given instances ..."
msgstr "Überprüfe Instanzen …"
-#: lib/pp_admintools/app/ldap.py:642
+#: lib/pp_admintools/app/ldap.py:647
msgid "Filtered instances:"
msgstr "Gefilterte Instanzen:"
-#: lib/pp_admintools/app/ldap.py:650
+#: lib/pp_admintools/app/ldap.py:655
msgid "LDAP instances to use:"
msgstr "Verwendete LDAP-Instanzen:"
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:671
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden oder ist nicht verwendbar."
-#: lib/pp_admintools/app/ldap.py:746
+#: lib/pp_admintools/app/ldap.py:751
msgid "Preparations ..."
msgstr "Vorbereitungen …"
-#: lib/pp_admintools/app/ldap.py:750
+#: lib/pp_admintools/app/ldap.py:755
msgid "Open all necessary LDAP connections ..."
msgstr "Öffne alle notwendigen LDAP-Verbindungen …"
-#: lib/pp_admintools/app/ldap.py:764
+#: lib/pp_admintools/app/ldap.py:769
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr "Passwort des Nutzers {usr} der LDAP-Instanz {inst}:"
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:781
msgid "Info about LDAP server {}:"
msgstr "Informationen zu LDAP-Server {}:"
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:794
msgid "Trying to get LDAP server object for {} ..."
msgstr "Versuche ein LDAP-Server-Objekt für {} zu bekommen …"
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:801
msgid "Already resolved hostname {h!r} to {a!r}."
msgstr "Hostname {h!r} wurde bereits zu {a!r} aufgelöst."
-#: lib/pp_admintools/app/ldap.py:799
+#: lib/pp_admintools/app/ldap.py:805
msgid "Resolving hostname {!r} to an IP address ..."
msgstr "Löse Hostnamen {!r} zu einer IP-Adresse auf …"
-#: lib/pp_admintools/app/ldap.py:803
+#: lib/pp_admintools/app/ldap.py:809
msgid "Could not resolve hostname {!r}:"
msgstr "Konnte Hostnamen nicht auflösen."
-#: lib/pp_admintools/app/ldap.py:807
+#: lib/pp_admintools/app/ldap.py:813
msgid "Could not resolve hostname {!r}."
msgstr "Konnte Hostnamen {!r} nicht auflösen."
-#: lib/pp_admintools/app/ldap.py:825
+#: lib/pp_admintools/app/ldap.py:831
msgid "Connect options to server {!r}:"
msgstr "Verbindungs-Optionen zu Server {!r}:"
-#: lib/pp_admintools/app/ldap.py:832
+#: lib/pp_admintools/app/ldap.py:838
msgid "LDAP server {s}: {re}"
msgstr "LDAP-Server {s}: {re}"
-#: lib/pp_admintools/app/ldap.py:854
+#: lib/pp_admintools/app/ldap.py:860
msgid "Connecting to LDAP server {url} ({addr}) as {dn!r} ..."
msgstr "Verbinde mit LDAP-Server {url} ({addr}) als {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:867
msgid "Try number {nr} for connecting to LDAP server instance {i!r} ..."
msgstr "Versuch Nummer {nr} zum Verbinden mit der LDAP-Serverinstanz {i!r} …"
-#: lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:879
msgid "Got a {cls} on connecting to LDAP instance {i!r}:"
msgstr "Habe einen {cls} bei der Verbindung zur LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:877
+#: lib/pp_admintools/app/ldap.py:883
msgid "Waiting #{nr} on connecting to instance {i!r} because of a {cls}:"
msgstr "Warten Nummer {nr} bei der Verbindung zur Instanz {i!r} wegen einem {cls}:"
-#: lib/pp_admintools/app/ldap.py:883
+#: lib/pp_admintools/app/ldap.py:889
msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
msgstr "Konnte keine Verbindung zum LDAP-Server {url!r} als Nutzer {url!r} herstellen: {e}"
-#: lib/pp_admintools/app/ldap.py:888
+#: lib/pp_admintools/app/ldap.py:894
msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
msgstr "{c} beim Verbinden mit LDAP-Server {url} als {user!r}: {e}"
-#: lib/pp_admintools/app/ldap.py:898
+#: lib/pp_admintools/app/ldap.py:904
msgid "Finishing ..."
msgstr "Beende …"
-#: lib/pp_admintools/app/ldap.py:909
+#: lib/pp_admintools/app/ldap.py:915
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr "Trenne Verbindung zu allen verbleibenden LDAP-Instanzen …"
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
msgid "Unbinding from LDAP server {!r} ..."
msgstr "Trenne Bindung zu LDAP-Server {!r} …"
-#: lib/pp_admintools/app/ldap.py:934
+#: lib/pp_admintools/app/ldap.py:940
msgid "Try number {nr} for disconnecting from LDAP server instance {i!r} ..."
msgstr "Versuch Nummer {nr} zum Trennen der Verbindung zur LDAP-Serverinstanz {i!r} …"
-#: lib/pp_admintools/app/ldap.py:946
+#: lib/pp_admintools/app/ldap.py:952
msgid "Got a {cls} on disconnecting from LDAP instance {i!r}:"
msgstr "Habe einen {cls} beim Trennen der Verbindung zur LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:956
msgid "Waiting #{nr} on disconnecting from instance {i!r} because of a {cls}:"
msgstr "Warten Nummer {nr} beim Trennen der Verbindung zur Instanz {i!r} wegen einem {cls}:"
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:962
msgid "{c} on disconnecting from LDAP server instance {i!r}: {e}"
msgstr "{c} beim Trennen der Verbindung zur LDAP-Serverinstanz {i!r}: {e}"
-#: lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:970
msgid "Removing LDAP server connection data {!r} ..."
msgstr "Entferne LDAP-Server-Verbindung {!r} …"
-#: lib/pp_admintools/app/ldap.py:987
+#: lib/pp_admintools/app/ldap.py:993
msgid "recursive"
msgstr "rekursuv"
-#: lib/pp_admintools/app/ldap.py:1003
+#: lib/pp_admintools/app/ldap.py:1009
msgid "Searching in {uri}/{bdn} {rec}for all entries with filter {fltr!r}, giving attributes:"
msgstr ""
"Suche in {uri}/{bdn} {rec}nach allen Einträgen mit dem Filter {fltr!r} und den angegebenen "
"Attributen:"
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1039
msgid "Result of searching:"
msgstr "Ergebnis der Suche:"
-#: lib/pp_admintools/app/ldap.py:1035 lib/pp_admintools/app/ldap.py:1180
-#: lib/pp_admintools/app/ldap.py:1225 lib/pp_admintools/app/ldap.py:1367
-#: lib/pp_admintools/app/ldap.py:1415 lib/pp_admintools/app/ldap.py:1901
-#: lib/pp_admintools/app/ldap.py:1932 lib/pp_admintools/app/ldap.py:1963
-#: lib/pp_admintools/app/ldap.py:1994
+#: lib/pp_admintools/app/ldap.py:1041 lib/pp_admintools/app/ldap.py:1186
+#: lib/pp_admintools/app/ldap.py:1231 lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1421 lib/pp_admintools/app/ldap.py:1907
+#: lib/pp_admintools/app/ldap.py:1938 lib/pp_admintools/app/ldap.py:1969
+#: lib/pp_admintools/app/ldap.py:2000
msgid "Got a response entry:"
msgstr "Erhaltener Antwort-Eintrag:"
-#: lib/pp_admintools/app/ldap.py:1039
+#: lib/pp_admintools/app/ldap.py:1045
msgid "Search was not successful."
msgstr "Die Suche war nicht erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1055
+#: lib/pp_admintools/app/ldap.py:1061
msgid "Try number {} for searching ..."
msgstr "Versuch Nummer {} zur Suche …"
-#: lib/pp_admintools/app/ldap.py:1071 lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1077 lib/pp_admintools/app/ldap.py:1092
msgid "Got a {cls} on searching in LDAP instance {i!r}:"
msgstr "Habe einen {cls} bei der Suche in der LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:1074
+#: lib/pp_admintools/app/ldap.py:1080
msgid "Waiting #{nr} on searching in instance {i!r} because of a {cls}:"
msgstr "Warten Nummer {nr} bei der Suche in Instanz {i!r} wegen einem {cls}:"
-#: lib/pp_admintools/app/ldap.py:1081
+#: lib/pp_admintools/app/ldap.py:1087
msgid "Session terminated by server on searching on instance {i!r}:"
msgstr "Die Sitzung wurde vom Server bei der Suche in der Instanz {i!r} unterbrochen:"
-#: lib/pp_admintools/app/ldap.py:1122 lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1128 lib/pp_admintools/app/ldap.py:1325
msgid "Found entry {!r}."
msgstr "Gefundener Eintrag {!r}."
-#: lib/pp_admintools/app/ldap.py:1129 lib/pp_admintools/app/ldap.py:1172
+#: lib/pp_admintools/app/ldap.py:1135 lib/pp_admintools/app/ldap.py:1178
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] "Fand einen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn}."
msgstr[1] "Fand {nr} Einträge mit dem Filter {fltr!r} in {uri}/{bdn}."
-#: lib/pp_admintools/app/ldap.py:1133
+#: lib/pp_admintools/app/ldap.py:1139
msgid "Got response entries:"
msgstr "Erhaltene Antworteinträge:"
-#: lib/pp_admintools/app/ldap.py:1137 lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1143 lib/pp_admintools/app/ldap.py:1190
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr "Keinen Eintrag mit dem Filter {fltr!r} in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1161 lib/pp_admintools/app/ldap.py:1214
+#: lib/pp_admintools/app/ldap.py:1167 lib/pp_admintools/app/ldap.py:1220
msgid "Using LDAP filter: {!r}"
msgstr "Verwende LDAP-Filter: {!r}."
-#: lib/pp_admintools/app/ldap.py:1176 lib/pp_admintools/app/ldap.py:1221
+#: lib/pp_admintools/app/ldap.py:1182 lib/pp_admintools/app/ldap.py:1227
msgid "Result of searching for DNs of all entries:"
msgstr "Ergebnis der Suche nach den DNs aller Einträge:"
-#: lib/pp_admintools/app/ldap.py:1210
+#: lib/pp_admintools/app/ldap.py:1216
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr "Hole DNs aller Einträge der LDAP-Instanz {i!r} unterhalb von {b!r}."
-#: lib/pp_admintools/app/ldap.py:1237
+#: lib/pp_admintools/app/ldap.py:1243
msgid "Got no entry DNs."
msgstr "Keine Eintrag-DNs gefunden."
-#: lib/pp_admintools/app/ldap.py:1247
+#: lib/pp_admintools/app/ldap.py:1253
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr "Versuche den DN des Nutzer {user!r} auf der LDAP-Instanz {inst} zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1252
+#: lib/pp_admintools/app/ldap.py:1258
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr "Versuche den DN des Nutzer {u!r} als Mailadresse zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1259
+#: lib/pp_admintools/app/ldap.py:1265
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1266
+#: lib/pp_admintools/app/ldap.py:1272
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr "Versuche den DN des Nutzer {u!r} als UID (POSIX Benutzername) zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1275 lib/pp_admintools/app/remove_ldap_user.py:311
+#: lib/pp_admintools/app/ldap.py:1281 lib/pp_admintools/app/remove_ldap_user.py:311
msgid "Empty user given."
msgstr "Leere Nutzername übergeben."
-#: lib/pp_admintools/app/ldap.py:1278
+#: lib/pp_admintools/app/ldap.py:1284
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr "Versuche den DN des Nutzer {u!r} als CN ({c}) zu ermitteln …"
-#: lib/pp_admintools/app/ldap.py:1308 lib/pp_admintools/app/ldap.py:1356
-#: lib/pp_admintools/app/ldap.py:1404 lib/pp_admintools/app/ldap.py:1891
-#: lib/pp_admintools/app/ldap.py:1922 lib/pp_admintools/app/ldap.py:1953
-#: lib/pp_admintools/app/ldap.py:1984
+#: lib/pp_admintools/app/ldap.py:1314 lib/pp_admintools/app/ldap.py:1362
+#: lib/pp_admintools/app/ldap.py:1410 lib/pp_admintools/app/ldap.py:1897
+#: lib/pp_admintools/app/ldap.py:1928 lib/pp_admintools/app/ldap.py:1959
+#: lib/pp_admintools/app/ldap.py:1990
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr "Suche in {uri}/{bdn} mit dem Filter: {fltr}"
-#: lib/pp_admintools/app/ldap.py:1325
+#: lib/pp_admintools/app/ldap.py:1331
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit der Mailadresse {m!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1379
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit der UID {u!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1421
+#: lib/pp_admintools/app/ldap.py:1427
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr "Ein Nutzer mit dem CN {cn!r} wurde nicht in {uri}/{bdn} gefunden."
-#: lib/pp_admintools/app/ldap.py:1438 lib/pp_admintools/app/set_ldap_password.py:401
+#: lib/pp_admintools/app/ldap.py:1444 lib/pp_admintools/app/set_ldap_password.py:401
msgid "User with DN {dn!r} not found in {uri}."
msgstr "Ein Nutzer mit dem DN {dn!r} wurde nicht in {uri} gefunden."
-#: lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1462
msgid "ObjectClasses of {dn!r}:"
msgstr "ObjectClasses von {dn!r}:"
-#: lib/pp_admintools/app/ldap.py:1466
+#: lib/pp_admintools/app/ldap.py:1472
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr "Der Eintrag {dn!r} in {uri} scheint kein Nutzerkonto zu sein."
-#: lib/pp_admintools/app/ldap.py:1479
+#: lib/pp_admintools/app/ldap.py:1485
msgid "Searching DN {dn!r} in {uri}."
msgstr "Suche DN {dn!r} in {uri}."
-#: lib/pp_admintools/app/ldap.py:1492
+#: lib/pp_admintools/app/ldap.py:1498
msgid "Entry with DN {dn!r} not found in {i!r} ({uri})."
msgstr "Ein Eintrag bit dem DN {dn!r} wurde nicht in {i!r} ({uri}) gefunden."
-#: lib/pp_admintools/app/ldap.py:1543
+#: lib/pp_admintools/app/ldap.py:1549
msgid "Creating entry {dn!r} on {uri}:"
msgstr "Erstelle Eintrag {dn!r} in {uri} …"
-#: lib/pp_admintools/app/ldap.py:1549
+#: lib/pp_admintools/app/ldap.py:1555
msgid "Simulation mode - entry will not be created."
msgstr "Simulationsmodus - der Eintrag wird nicht erstellt."
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1579
msgid "Creation status: {!r}."
msgstr "Erstellungsstatus: {!r}"
-#: lib/pp_admintools/app/ldap.py:1575
+#: lib/pp_admintools/app/ldap.py:1581
msgid "Result of creating:"
msgstr "Ergebnis der Erstellung:"
-#: lib/pp_admintools/app/ldap.py:1578
+#: lib/pp_admintools/app/ldap.py:1584
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Die Erstellung des Eintrags {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1586
+#: lib/pp_admintools/app/ldap.py:1592
msgid "Creation successful."
msgstr "Die Erstellung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1601
+#: lib/pp_admintools/app/ldap.py:1607
msgid "Try number {} for adding entry ..."
msgstr "Versuch Nummer {} zum Hinzufügen eines Eintrags …"
-#: lib/pp_admintools/app/ldap.py:1618
+#: lib/pp_admintools/app/ldap.py:1624
msgid "Got a {cls} on adding LDAP entry {dn!r} to instance {i!r}:"
msgstr "Habe einen {cls} beim Hinzufügen des Eintrags {dn!r} in die LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:1621
+#: lib/pp_admintools/app/ldap.py:1627
msgid "Waiting #{nr} on inserting LDAP entry {dn!r} to instance {i!r} because of a {cls}:"
msgstr ""
"Warten Nummer #{nr} beim Hinzufügen des Eintrags {dn!r} in die LDAP-Instanz {i!r} wegen einem "
"{cls}:"
-#: lib/pp_admintools/app/ldap.py:1632
+#: lib/pp_admintools/app/ldap.py:1638
msgid "Creation of entry {dn!r} in instance {i!r} was NOT successfull - {c}: {e}"
msgstr "Die Erstellung des Eintrags {dn!r} in die LDAP-Instanz {i!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:1665
+#: lib/pp_admintools/app/ldap.py:1671
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr "Wende Änderungen in {uri} an DN {dn!r} an:"
-#: lib/pp_admintools/app/ldap.py:1670
+#: lib/pp_admintools/app/ldap.py:1676
msgid "Simulation mode - changes are not applied."
msgstr "Simulationsmodus - hier wird jetzt nichts geändert."
-#: lib/pp_admintools/app/ldap.py:1694
+#: lib/pp_admintools/app/ldap.py:1700
msgid "Modification status: {!r}."
msgstr "Änderungsstatus: {!r}."
-#: lib/pp_admintools/app/ldap.py:1696
+#: lib/pp_admintools/app/ldap.py:1702
msgid "Result of modifying:"
msgstr "Ergebnis der Änderung:"
-#: lib/pp_admintools/app/ldap.py:1699
+#: lib/pp_admintools/app/ldap.py:1705
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1703 lib/pp_admintools/app/ldap.py:1753
+#: lib/pp_admintools/app/ldap.py:1709 lib/pp_admintools/app/ldap.py:1759
#: lib/pp_admintools/app/remove_ldap_user.py:442 lib/pp_admintools/app/remove_ldap_user.py:469
#: lib/pp_admintools/app/remove_ldap_user.py:496 lib/pp_admintools/app/remove_ldap_user.py:527
#: lib/pp_admintools/app/remove_ldap_user.py:558 lib/pp_admintools/app/remove_ldap_user.py:674
msgid "Changes:"
msgstr "Änderungen:"
-#: lib/pp_admintools/app/ldap.py:1706
+#: lib/pp_admintools/app/ldap.py:1712
msgid "Modification successful."
msgstr "Die Änderung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1720
+#: lib/pp_admintools/app/ldap.py:1726
msgid "Try number {} for modifying an entry ..."
msgstr "Versuch Nummer {} zur Änderung eines Eintrages …"
-#: lib/pp_admintools/app/ldap.py:1736
+#: lib/pp_admintools/app/ldap.py:1742
msgid "Got a {cls} on modifying LDAP entry {dn!r} on instance {i!r}:"
msgstr "Habe einen {cls} bei der Änderung des Eintrages {dn!r} in der LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:1739
+#: lib/pp_admintools/app/ldap.py:1745
msgid "Waiting #{nr} on modifying LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr "Warten Nummer #{nr} beim Ändern des Eintrags {dn!r} in der LDAP-Instanz {i!r} wegen einem {cls}:"
-#: lib/pp_admintools/app/ldap.py:1750
+#: lib/pp_admintools/app/ldap.py:1756
msgid "Modification of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr "Die Änderung von des Eintrags {dn!r} in der LDAP-Instanz {i!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:1781
+#: lib/pp_admintools/app/ldap.py:1787
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr "Lösche LDAP-Eintrag {dn!r} in {uri} …"
-#: lib/pp_admintools/app/ldap.py:1786
+#: lib/pp_admintools/app/ldap.py:1792
msgid "Simulation mode - deletion will not be executed."
msgstr "Simulationsmodus - hier wird jetzt nichts gelöscht."
-#: lib/pp_admintools/app/ldap.py:1810
+#: lib/pp_admintools/app/ldap.py:1816
msgid "Deletion status: {!r}."
msgstr "Löschstatus: {!r}"
-#: lib/pp_admintools/app/ldap.py:1812
+#: lib/pp_admintools/app/ldap.py:1818
msgid "Result of deletion:"
msgstr "Ergebnis der Löschung:"
-#: lib/pp_admintools/app/ldap.py:1815
+#: lib/pp_admintools/app/ldap.py:1821
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr "Das Löschen von {dn!r} war NICHT erfolgreich - {desc}: {msg}"
-#: lib/pp_admintools/app/ldap.py:1821
+#: lib/pp_admintools/app/ldap.py:1827
msgid "Deletion successful."
msgstr "Die Löschung war erfolgreich."
-#: lib/pp_admintools/app/ldap.py:1836
+#: lib/pp_admintools/app/ldap.py:1842
msgid "Try number {i} for deleting entry {dn!r} ..."
msgstr "Versuch Nummer {} zum Löschen des Eintrags {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:1852
+#: lib/pp_admintools/app/ldap.py:1858
msgid "Got a {cls} on deleting LDAP entry {dn!r} on instance {i!r}:"
msgstr "Habe einen {cls} beim Löschen es Eintrags {dn!r} in der LDAP-Instanz {i!r} erhalten:"
-#: lib/pp_admintools/app/ldap.py:1855
+#: lib/pp_admintools/app/ldap.py:1861
msgid "Waiting #{nr} on deleting LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr "Warten Nummer #{nr} beim Löschen des Eintrags {dn!r} in der LDAP-Instanz {i!r} wegen einem {cls}:"
-#: lib/pp_admintools/app/ldap.py:1866
+#: lib/pp_admintools/app/ldap.py:1872
msgid "Deleting of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr "Das Löschen des Eintrags {dn!r} in der LDAP-Instanz {i!r} war NICHT erfolgreich - {c}: {e}"
-#: lib/pp_admintools/app/ldap.py:2010
+#: lib/pp_admintools/app/ldap.py:2016
msgid "Reading password file {!r} ..."
msgstr "Lese Passwortdatei {!r} …"
-#: lib/pp_admintools/app/ldap.py:2041
+#: lib/pp_admintools/app/ldap.py:2047
msgid "Could not detect RDN from DN {!r}."
msgstr "Konnte RDN nich aus {!r} ermitteln."
-#: lib/pp_admintools/app/ldap.py:2045
+#: lib/pp_admintools/app/ldap.py:2051
msgid "Found RDN attribute {!r}."
msgstr "Fand RDN-Attribut {!r}."
-#: lib/pp_admintools/app/ldap.py:2051
+#: lib/pp_admintools/app/ldap.py:2057
msgid "RDN attribute {!r} will not be touched."
msgstr "Das RDN-Attribut {!r} wird nicht angefasst."
-#: lib/pp_admintools/app/ldap.py:2057 lib/pp_admintools/app/ldap.py:2076
-#: lib/pp_admintools/app/ldap.py:2154
+#: lib/pp_admintools/app/ldap.py:2063 lib/pp_admintools/app/ldap.py:2082
+#: lib/pp_admintools/app/ldap.py:2160
msgid "Attribute {!r} will not be touched."
msgstr "Das Attribut {!r} wird nicht angefasst."
-#: lib/pp_admintools/app/ldap.py:2114
+#: lib/pp_admintools/app/ldap.py:2120
msgid "Values to removed from attribute {!r}:"
msgstr "Werte, die von Attribut {!r} gelöscht werden."
"auf {inact!r}, Zuweisen von {shell!r} als Login-Shell und Löschen des Nutzers aus allen Gruppen "
"deaktiviert. Beim Löschen wird der Nutzer tatsächlich im LDAP gelöscht."
+#: lib/pp_admintools/app/remove_ldap_user.py:127
+msgid "Removing options"
+msgstr "Lösch-Optionen"
+
#: lib/pp_admintools/app/remove_ldap_user.py:130
msgid "This is the default."
msgstr "Dieses ist die Vorgabe."
msgid "The option must be less than {m} (given: {v})."
msgstr "Die Option muss kleiner als {m} sein (gegeben: {v})."
-#: lib/pp_admintools/app/ldap.py:214 lib/pp_admintools/argparse_actions.py:268
+#: lib/pp_admintools/app/__init__.py:226 lib/pp_admintools/app/ldap.py:221
+#: lib/pp_admintools/argparse_actions.py:268 lib/pp_admintools/argparse_actions.py:307
msgid "The path {!r} must be an absolute path."
msgstr "Der Pfad {!r} muss ein absoluter Pfad sein."
-#: lib/pp_admintools/app/ldap.py:218 lib/pp_admintools/app/ldap.py:2013
-#: lib/pp_admintools/argparse_actions.py:274
+#: lib/pp_admintools/app/ldap.py:225 lib/pp_admintools/app/ldap.py:2019
+#: lib/pp_admintools/argparse_actions.py:274 lib/pp_admintools/argparse_actions.py:313
msgid "The file {!r} does not exists."
msgstr "Die Datei {!r} existiert nicht."
-#: lib/pp_admintools/app/ldap.py:222 lib/pp_admintools/app/ldap.py:2018
-#: lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/app/__init__.py:232 lib/pp_admintools/app/ldap.py:229
+#: lib/pp_admintools/app/ldap.py:2024 lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/argparse_actions.py:318
msgid "The given path {!r} exists, but is not a regular file."
msgstr "Der angegebene Pfad {!r} existiert, ist aber keine reguläre Datei."
-#: lib/pp_admintools/app/ldap.py:226 lib/pp_admintools/app/ldap.py:2023
-#: lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/app/__init__.py:237 lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:2029 lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/argparse_actions.py:322
msgid "The given file {!r} is not readable."
-msgstr "Die angegebene Datei {} ist nicht lesbar."
+msgstr "Die angegebene Datei {!r} ist nicht lesbar."
+
+#: lib/pp_admintools/app/__init__.py:241 lib/pp_admintools/argparse_actions.py:326
+msgid "The given file {!r} is not writeable."
+msgstr "Die angegebene Datei {!r} ist nicht beschreibbar."
+
+#: lib/pp_admintools/app/__init__.py:248 lib/pp_admintools/app/get_from_addr.py:212
+#: lib/pp_admintools/argparse_actions.py:332
+msgid "Directory {!r} does not exists."
+msgstr "Das Verzeichnis {!r} existiert nicht."
+
+#: lib/pp_admintools/app/__init__.py:252 lib/pp_admintools/argparse_actions.py:336
+msgid "Path {!r} exists, bu is not a directory."
+msgstr "Der Pfad {!r} existiert, ist aber kein Verzeichnis."
-#: lib/pp_admintools/argparse_actions.py:304
+#: lib/pp_admintools/app/__init__.py:256 lib/pp_admintools/argparse_actions.py:340
+msgid "The directory {!r} is not writeable."
+msgstr "Das Verzeichnis {!r} ist nicht beschreibbar."
+
+#: lib/pp_admintools/argparse_actions.py:362
msgid "a port number must be greater than zero and less or equal to {}."
msgstr "ein Port muss größer als Null und kleiner oder gleich {} sein."
-#: lib/pp_admintools/argparse_actions.py:309
+#: lib/pp_admintools/argparse_actions.py:367
msgid "Wrong port number {!r}:"
msgstr "Ungültige Portnummer {!r}."
+#: lib/pp_admintools/common.py:73
+msgid "Could not interprete {!r} as a timezone offset."
+msgstr "Konnte {!r} nicht als Zeitzonen-Offset interpretieren."
+
#: lib/pp_admintools/config/dns_deploy_zones.py:202 lib/pp_admintools/config/dns_deploy_zones.py:515
#: lib/pp_admintools/config/mail.py:138 lib/pp_admintools/config/pdns.py:182
msgid "Evaluating config section {!r}:"
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr "Fand API-Schlüssel für PowerDNS-Instanz {inst!r}: {key!r}."
+#: lib/pp_admintools/errors.py:168
+msgid "The date string {!r} could not be interpreted as an ISO date."
+msgstr "Der Datums-String {!r} konnte nicht als ISO-Datum interpretiert werden."
+
#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr "Das Verschlüsselungs-Schema {!r} wurde nicht gefunden."
msgid "Quality of the new password is not sufficient:"
msgstr "Die Qualität des neuen Passwortes ist nicht ausreichend:"
+#: lib/pp_admintools/handler/pflogparse.py:170
+msgid "Resetting all resulting data structures."
+msgstr "Zurücksetzen aller Ergebnis-Datenstrrukturen."
+
+#: lib/pp_admintools/handler/pflogparse.py:184
+msgid "Given parameter {p!r} for {f}() is not a sequential object: {v!r}."
+msgstr "Der übergebene Parameter {p!r} für {f}() ist kein sequentielles Objekt: {v!r}."
+
+#: lib/pp_admintools/handler/pflogparse.py:197
+msgid "Parameter {p!r} for {f}() is not a {what} object: {v!r}."
+msgstr "Der Parameter {p!r} für {f}() ist kein {what}-Objekt: {v!r}."
+
+#: lib/pp_admintools/handler/pflogparse.py:202
+msgid "Logfile {!r} does not exists."
+msgstr "Die Logdatei {!r} existiert micht."
+
+#: lib/pp_admintools/handler/pflogparse.py:206
+msgid "Logfile {!r} is not a regular file."
+msgstr "Die Logdatei {!r} ist keine reguläre Datei-"
+
+#: lib/pp_admintools/handler/pflogparse.py:210
+msgid "No read access to logfile {!r}."
+msgstr "Kein Lesezugriff auf Logdatei {!r}."
+
+#: lib/pp_admintools/handler/pflogparse.py:213
+msgid "Evaluating logfile {!r} ..."
+msgstr "Untersuche Logdatei {!r} …"
+
+#: lib/pp_admintools/handler/pflogparse.py:217 lib/pp_admintools/handler/pflogparse.py:222
+#: lib/pp_admintools/handler/pflogparse.py:227
+msgid "Reading file {f!r} as a {what} compressed file."
+msgstr "Lese Datei {f!r} als eine {what}-komprimierte Datei."
+
+#: lib/pp_admintools/handler/pflogparse.py:232
+msgid "Reading file {!r} as an uncompressed file."
+msgstr "Lese Datei {!r} als eine unkomprimierte Datei."
+
+#: lib/pp_admintools/handler/pflogparse.py:239
+msgid "Closing file {!r}."
+msgstr "Schließe Datei {!r}."
+
+#: lib/pp_admintools/handler/pflogparse.py:245
+msgid "Start parsing postfix logfile ..."
+msgstr "Beginne mit Parsen der Postfix-Logdatei …"
+
+#: lib/pp_admintools/handler/pflogparse.py:475
+msgid "Postfix transaction {!r} for delivering does not exists."
+msgstr "Die Postfix Transaktion {!r} zum Ausliefern existiert nicht."
+
+#: lib/pp_admintools/handler/pflogparse.py:510
+msgid "Did not found Postfix ID {pfid!r} for Message Id {mid!r}."
+msgstr "Postfix-ID {pfid!r} für Message-ID {mid!r} nicht gefunden."
+
+#: lib/pp_admintools/handler/pflogparse.py:552
+msgid "Did not found Postfix ID {pfid!r} for OpenDKIM log entry."
+msgstr "Postfix-ID {pfid!r} für OpenDKIM-Logeintrag nicht gefunden."
+
+#: lib/pp_admintools/handler/pflogparse.py:574
+msgid "Did not found Postfix ID {pfid!r} for Bounce ID {bid!r}."
+msgstr "Postfix-ID {pfid!r} für Bounce-ID {bid!r} nicht gefunden."
+
+#: lib/pp_admintools/postfix_chain.py:73 lib/pp_admintools/postfix_deliver_action.py:86
+msgid "Unknown parameter {p!r} on calling {c}.__init__()."
+msgstr "Unbekannter Parameter {p!r} beim Aufruf von {c}.__init__()."
+
+#: lib/pp_admintools/postfix_chain.py:95
+msgid "You may not append a None value as a DeliverAction to the list deliver_actions."
+msgstr "Ein None-Wert darf nicht als DeliverAction an die Liste der Liefer-Aktionen angehängt werden."
+
+#: lib/pp_admintools/postfix_chain.py:108
+msgid "Wrong type {c!r} for creating a {w} object from: {a!r}"
+msgstr "Falscher Typ {c!r} beim Erstellen eine {w}-Obkekts aus: {a!r}"
+
+#: lib/pp_admintools/postfix_chain.py:116
+msgid "You may not append a None value as a Bounce Id."
+msgstr "Ein None-Wert darf nicht als Bounce-ID angehängt werden."
+
+#: lib/pp_admintools/postfix_chain.py:121
+msgid "You may not append an empty value as a Bounce Id."
+msgstr "Ein leere Wert darf nicht als Bounce-ID angehängt werden."
+
+#: lib/pp_admintools/postfix_chain.py:184
+msgid "Could not interprete client address {a!r}: {e}"
+msgstr "Konnte Client-Adresse {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_chain.py:354 lib/pp_admintools/postfix_chain.py:637
+#: lib/pp_admintools/postfix_deliver_action.py:133
+msgid "Could not interprete date {!r}:"
+msgstr "Konnte Datum {!r} nicht interpretieren:"
+
+#: lib/pp_admintools/postfix_chain.py:402
+msgid "Could not interprete from address {a!r}: {e}"
+msgstr "Konnte From-Adresse {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_chain.py:507
+msgid "Could not interprete the Uid of a picked up mail {a!r}: {e}"
+msgstr "Konnte Uid der aufgegriffenen Mail {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_chain.py:606
+msgid "Could not interprete PID of smtpd {a!r}: {e}"
+msgstr "Konnte die PID des smtpd {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_chain.py:728
+msgid "Could not interprete mail size {a!r}: {e}"
+msgstr "Konnte die Mailgröße {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_chain.py:754
+msgid "Could not interprete number of recipients {a!r}: {e}"
+msgstr "Konnte die Anzahl der Empfänger {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_data_pair.py:39
+msgid "The first value {v!r} of {c} must be greater than or equal to null."
+msgstr "Der erste Wert {v!r} von {c} muss grüßer oder gleich Null sein."
+
+#: lib/pp_admintools/postfix_data_pair.py:48
+msgid "The total value {t!r} must be greater than or equal to the value {v}."
+msgstr "Der Gesamtwert {t!r} muss grüßer oder gleich dem Wert {v} sein."
+
+#: lib/pp_admintools/postfix_data_pair.py:59
+msgid "Invalid value {v!r} of a {c}."
+msgstr "Ungültiger Wert {v!r} für ein {c}."
+
+#: lib/pp_admintools/postfix_deliver_action.py:167
+msgid "Could not interprete total delay {a!r}: {e}"
+msgstr "Konnte di eGesamtverzögerung {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:233 lib/pp_admintools/postfix_deliver_action.py:496
+msgid "Could not interprete to address {a!r}: {e}"
+msgstr "Konnte die To-Adresse {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:273
+msgid "Could not interprete relay address {a!r}: {e}"
+msgstr "Konnte die Relay-Adresse {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:323
+msgid "Could not interprete PID of deliverer {a!r}: {e}"
+msgstr "Kinnte die PID des Auslieferers {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:371
+msgid "Could not interprete time before queueing {a!r}: {e}"
+msgstr "Konnte die Zeit bis zum Queueing {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:405
+msgid "Could not interprete smtp connection setup time {a!r}: {e}"
+msgstr "Konnte die SMTP-Verbindungs-Setupzeit {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:436
+msgid "Could not interprete time in queue {a!r}: {e}"
+msgstr "Konnte die Zeit in der Queue {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/postfix_deliver_action.py:466
+msgid "Could not interprete smtp transmission time {a!r}: {e}"
+msgstr "Konnte die SMTP-Übertragungszeit {a!r} nicht interpretieren: {e}"
+
+#: lib/pp_admintools/tzlocal.py:797
+msgid ""
+"Timezone offset does not match system offset: {tz_offset} != {system_offset}. Please, check your"
+" config files."
+msgstr ""
+"Der Zeitzonen-Offset stimmt nicht mit dem System-Offset überein: {tz_offset} != {system_offset}."
+" Bitte Konfigurationsdateien überprüfen."
+
+#: lib/pp_admintools/tzlocal.py:814
+msgid "Found a TZ environment: {}"
+msgstr "Fan eine TZ-Umgebung: {}"
+
+#: lib/pp_admintools/tzlocal.py:838
+msgid "Environment variable TZ does not contain a time zone name."
+msgstr "Die Umgebungsvariable TZ enthält keinen Zeitzonennamen."
+
+#: lib/pp_admintools/tzlocal.py:871
+msgid "tzlocal() does not support non-zoneinfo timezones like {!r}."
+msgstr "tzlocal() unterstützt keine Nicht-Zoneninfo Zeitzone wie {!r}."
+
+#: lib/pp_admintools/tzlocal.py:872
+msgid "Please use a timezone in the form of Continent/City."
+msgstr "Bitte eine Zeitzone in der Form Kontinent/Stadt verwenden."
+
+#: lib/pp_admintools/tzlocal.py:878
+msgid "This looks like {}."
+msgstr "Das sieht aus wie {}."
+
+#: lib/pp_admintools/tzlocal.py:891
+msgid "It's not {}?"
+msgstr "Ist e nicht {}?"
+
+#: lib/pp_admintools/tzlocal.py:901 lib/pp_admintools/tzlocal.py:931
+msgid "{!r} found, contents:"
+msgstr "{!r} gefunden, Inhalt:"
+
+#: lib/pp_admintools/tzlocal.py:1001
+msgid "{!r} found."
+msgstr "{!r} gefunden."
+
+#: lib/pp_admintools/tzlocal.py:1017
+msgid "{} found:"
+msgstr "{} gefunden."
+
+#: lib/pp_admintools/tzlocal.py:1034
+msgid "Multiple conflicting time zone configurations found:"
+msgstr "Mehrere widersprüchliche Zeitzonen-Konfigurationen gefunden:"
+
+#: lib/pp_admintools/tzlocal.py:1037
+msgid "Fix the configuration, or set the time zone in a TZ environment variable."
+msgstr "Reparier die Konfiguration, oder setze die Zeitzone in der TZ-Umgebungsvariable."
+
+#: lib/pp_admintools/tzlocal.py:1066
+msgid "No explicit setting existed. Use localtime."
+msgstr "Es existiert keine explizite Einstellung. Verwende localtime."
+
+#: lib/pp_admintools/tzlocal.py:1076
+msgid "Can not find any timezone configuration, defaulting to UTC."
+msgstr "Kann keine Zeitzonenkonfiguration finden, gehe auf UTC zurück."
+
#: lib/pp_admintools/xlate.py:113
msgid "Module directory: {!r}"
msgstr "Modul-Verzeichnis: {!r}"
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.11.0\n"
+"Project-Id-Version: pp_admintools 1.1.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2024-02-06 15:10+0100\n"
-"PO-Revision-Date: 2024-02-06 15:15+0100\n"
+"POT-Creation-Date: 2024-07-30 17:28+0200\n"
+"PO-Revision-Date: 2024-07-30 17:30+0100\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: en_US\n"
"Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.14.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: lib/pp_admintools/app/__init__.py:51
+#: lib/pp_admintools/app/__init__.py:54
msgid "Cursor position:"
msgstr ""
-#: lib/pp_admintools/app/__init__.py:158
+#: lib/pp_admintools/app/__init__.py:161
msgid "Using logfile {!r}."
msgstr ""
-#: lib/pp_admintools/app/__init__.py:160
+#: lib/pp_admintools/app/__init__.py:163
msgid "Don't using a logfile."
msgstr ""
+#: lib/pp_admintools/app/__init__.py:221
+msgid "The output file to check must not be None."
+msgstr ""
+
#: lib/pp_admintools/app/barracuda_sync.py:125
msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
msgstr ""
"Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:463
-#: lib/pp_admintools/app/ldap.py:474 lib/pp_admintools/app/mirror_ldap.py:114
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:479 lib/pp_admintools/app/mirror_ldap.py:114
#: lib/pp_admintools/app/pdns.py:275
msgid "SECONDS"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:431 lib/pp_admintools/app/dns_deploy_zones.py:791
-#: lib/pp_admintools/app/ldap.py:1195 lib/pp_admintools/app/ldap.py:1322
-#: lib/pp_admintools/app/ldap.py:1370 lib/pp_admintools/app/ldap.py:1418
-#: lib/pp_admintools/app/ldap.py:1904 lib/pp_admintools/app/ldap.py:1935
-#: lib/pp_admintools/app/ldap.py:1966 lib/pp_admintools/app/ldap.py:1997
+#: lib/pp_admintools/app/ldap.py:1201 lib/pp_admintools/app/ldap.py:1328
+#: lib/pp_admintools/app/ldap.py:1376 lib/pp_admintools/app/ldap.py:1424
+#: lib/pp_admintools/app/ldap.py:1910 lib/pp_admintools/app/ldap.py:1941
+#: lib/pp_admintools/app/ldap.py:1972 lib/pp_admintools/app/ldap.py:2003
msgid "Result:"
msgstr ""
msgid "LDAP Entries to modified:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2110
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2116
msgid "Values to add to attribute {!r}:"
msgstr ""
msgid "Values to be removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2131
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2137
msgid "Changes for attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2134
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2140
msgid "No changes to attribute {!r}."
msgstr ""
msgid "Script options"
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91 lib/pp_admintools/app/get_from_addr.py:139
+#: lib/pp_admintools/app/get_from_addr.py:147 lib/pp_admintools/app/get_from_addr.py:157
msgid "FILE"
msgstr ""
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:210
#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:180
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:224
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr ""
msgid "Found entry DNs:"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:66
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:52
+msgid "The base DN used as the root for the LDAP search."
+msgstr ""
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:68
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:115 lib/pp_admintools/app/remove_ldap_user.py:127
-msgid "Removing options"
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:117 lib/pp_admintools/app/dns_deploy_zones.py:247
+#: lib/pp_admintools/app/get_from_addr.py:122 lib/pp_admintools/app/mk_ldap_passwd.py:78
+#: lib/pp_admintools/app/set_ldap_password.py:117
+msgid "Options for {}"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:119
-msgid "The base DN used as the root for the LDAP search."
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:122
+msgid "Delete only the first found empty group and exit."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:145 lib/pp_admintools/app/remove_ldap_user.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:150 lib/pp_admintools/app/remove_ldap_user.py:195
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:152 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:157 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:160 lib/pp_admintools/app/remove_ldap_user.py:210
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:215
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:215
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:180
msgid "Searching for empty groups ..."
msgstr "Searching for empty groups …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:182
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:187
msgid "No more empty groups left for removing."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:190
msgid "Lap {} on searching for empty groups to remove."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:220
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr "Searching for member attributes of {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr "Removing group {!r} …"
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:249
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/ldap.py:331
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:338
#: lib/pp_admintools/app/mirror_ldap.py:246 lib/pp_admintools/app/remove_ldap_user.py:301
#: lib/pp_admintools/app/set_ldap_password.py:481
msgid "No"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/mirror_ldap.py:246
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:246
#: lib/pp_admintools/app/remove_ldap_user.py:301 lib/pp_admintools/app/set_ldap_password.py:481
msgid "yes"
msgstr ""
msgid "Generation of the BIND9 configuration file for slave zones."
msgstr ""
-#: lib/pp_admintools/app/dns_deploy_zones.py:247 lib/pp_admintools/app/mk_ldap_passwd.py:78
-#: lib/pp_admintools/app/set_ldap_password.py:117
-msgid "Options for {}"
-msgstr ""
-
#: lib/pp_admintools/app/dns_deploy_zones.py:252
msgid "Keep a backup file for each changed configuration file."
msgstr ""
msgid "Checking for dependend unique attribute '"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:617
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:622
msgid "Used filter:"
msgstr ""
msgid "No duplicates for attribute {!r} found."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:241
+#: lib/pp_admintools/app/get_from_addr.py:105
+msgid ""
+"This script collects all envelop-From-addresses from /var/log/maillog*, which are used for "
+"outbound mails. "
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:108
+msgid ""
+"Please note, that these addresses are those from the mail envelope. They may not be the same "
+"like the From addresses in the mail headers."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:127
+msgid "Show also results for particular mail addresses."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:131 lib/pp_admintools/app/ldap.py:459
+msgid "COUNT"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:133
+msgid ""
+"Limit the output of domains and addresses to those with a count of at least this value. Default:"
+" {}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:141
+msgid "The output YAML file for collecting and cummulating the results. Default: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:149
+msgid ""
+"The output CSV file about the domains of found FROM addresses for importing in a spread sheet or"
+" into a database. Default: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:158
+msgid "The logfiles, which should be inspected. Default: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:208 lib/pp_admintools/app/get_from_addr.py:222
+#: lib/pp_admintools/app/get_from_addr.py:233
+msgid "File {!r} is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:214
+msgid "Path {!r} is not a directory."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:239
+msgid "Sorting logfiles ..."
+msgstr "Sorting logfiles …"
+
+#: lib/pp_admintools/app/get_from_addr.py:263
+msgid "Collecting results ..."
+msgstr "Collecting results …"
+
+#: lib/pp_admintools/app/get_from_addr.py:374
+msgid "No logfiles for evaluating found."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:379
+msgid "Evaluating Postfix log files:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:390 lib/pp_admintools/app/get_from_addr.py:563
+msgid "Results per domain:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:393 lib/pp_admintools/app/get_from_addr.py:511
+msgid "Results per address:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:401
+msgid "Start of oldest found Postfix transaction:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:405
+msgid "Start of newest found Postfix transaction:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:418
+msgid "Using totals YAML file {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:433
+msgid "Results total:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:436
+msgid "Writing file {!r} ..."
+msgstr "Writing file {!r} …"
+
+#: lib/pp_admintools/app/get_from_addr.py:452
+msgid "Reading file {!r} ..."
+msgstr "Reading file {!r} …"
+
+#: lib/pp_admintools/app/get_from_addr.py:461
+msgid "Preparing CSV table for domains ..."
+msgstr "Preparing CSV table for domains …"
+
+#: lib/pp_admintools/app/get_from_addr.py:488
+msgid "Prepared domains CSV table:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:489
+msgid "Writing CSV file {!r} ..."
+msgstr "Writing CSV file {!r} …"
+
+#: lib/pp_admintools/app/ldap.py:116
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:248
msgid "The value {v} for {n} must be greater than zero."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:245 lib/pp_admintools/app/ldap.py:267
+#: lib/pp_admintools/app/ldap.py:252 lib/pp_admintools/app/ldap.py:274
msgid "The value {v} for {n} must not be greater than {m}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:270
msgid "The value {v} for {n} must be equal to or greater than zero."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:320
+#: lib/pp_admintools/app/ldap.py:327
msgid "LDAP options"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:322
+#: lib/pp_admintools/app/ldap.py:329
msgid "Options for the default LDAP connection"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:331
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:340
msgid "Yes"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:339 lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:346 lib/pp_admintools/app/ldap.py:442
msgid "HOST"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:340
+#: lib/pp_admintools/app/ldap.py:347
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:347
+#: lib/pp_admintools/app/ldap.py:354
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:352 lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:359 lib/pp_admintools/app/ldap.py:448
#: lib/pp_admintools/app/mail.py:243 lib/pp_admintools/app/pdns.py:264
msgid "PORT"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:354
+#: lib/pp_admintools/app/ldap.py:361
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:360
+#: lib/pp_admintools/app/ldap.py:367
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:374
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:375 lib/pp_admintools/app/mk_ldap_passwd.py:123
+#: lib/pp_admintools/app/ldap.py:382 lib/pp_admintools/app/mk_ldap_passwd.py:123
#: lib/pp_admintools/app/set_ldap_password.py:123 lib/pp_admintools/app/set_ldap_password.py:124
#: lib/pp_admintools/app/set_ldap_password.py:141 lib/pp_admintools/app/set_ldap_password.py:144
msgid "PASSWORD"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:376
+#: lib/pp_admintools/app/ldap.py:383
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:388
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:387 lib/pp_admintools/app/set_ldap_password.py:135
+#: lib/pp_admintools/app/ldap.py:394 lib/pp_admintools/app/set_ldap_password.py:135
#: lib/pp_admintools/app/set_ldap_password.py:137
msgid "PASSWORD_FILE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:389
+#: lib/pp_admintools/app/ldap.py:396
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:397 lib/pp_admintools/app/pdns.py:238
+#: lib/pp_admintools/app/ldap.py:404 lib/pp_admintools/app/pdns.py:238
msgid "INSTANCE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:400
+#: lib/pp_admintools/app/ldap.py:407
msgid "If not given, then the instance {!r} will be used."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:404
+#: lib/pp_admintools/app/ldap.py:411
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:415
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
"are shown, and the application is exiting."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:436
+#: lib/pp_admintools/app/ldap.py:443
msgid "Override configured hostname or address of the LDAP server."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:443
+#: lib/pp_admintools/app/ldap.py:450
msgid "Override the configured port number to connect to the LDAP server."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:448
-msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:454
-msgid "COUNT"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:457
+#: lib/pp_admintools/app/ldap.py:462
msgid ""
"The number of retries for executing a LDAP request, which was failing because of a connection "
"problem. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:466
+#: lib/pp_admintools/app/ldap.py:471
msgid ""
"The time in seconds after a failed LDAP request, which was failing because of a connection "
"problem, for the next try. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:476
+#: lib/pp_admintools/app/ldap.py:481
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:516
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:522
+#: lib/pp_admintools/app/ldap.py:527
msgid "Checking given instances."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:531
msgid "Given insts:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:583
+#: lib/pp_admintools/app/ldap.py:588
msgid "Configured LDAP instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:604
+#: lib/pp_admintools/app/ldap.py:609
msgid "Verifying given instances ..."
msgstr "Verifying given instances …"
-#: lib/pp_admintools/app/ldap.py:642
+#: lib/pp_admintools/app/ldap.py:647
msgid "Filtered instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:650
+#: lib/pp_admintools/app/ldap.py:655
msgid "LDAP instances to use:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:671
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:746
+#: lib/pp_admintools/app/ldap.py:751
msgid "Preparations ..."
msgstr "Preparations …"
-#: lib/pp_admintools/app/ldap.py:750
+#: lib/pp_admintools/app/ldap.py:755
msgid "Open all necessary LDAP connections ..."
msgstr "Open all necessary LDAP connections …"
-#: lib/pp_admintools/app/ldap.py:764
+#: lib/pp_admintools/app/ldap.py:769
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr "Password of user {usr} on LDAP instance {inst}:"
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:781
msgid "Info about LDAP server {}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:794
msgid "Trying to get LDAP server object for {} ..."
msgstr "Trying to get LDAP server object for {} …"
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:801
msgid "Already resolved hostname {h!r} to {a!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:799
+#: lib/pp_admintools/app/ldap.py:805
msgid "Resolving hostname {!r} to an IP address ..."
msgstr "Resolving hostname {!r} to an IP address …"
-#: lib/pp_admintools/app/ldap.py:803
+#: lib/pp_admintools/app/ldap.py:809
msgid "Could not resolve hostname {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:807
+#: lib/pp_admintools/app/ldap.py:813
msgid "Could not resolve hostname {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:825
+#: lib/pp_admintools/app/ldap.py:831
msgid "Connect options to server {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:832
+#: lib/pp_admintools/app/ldap.py:838
msgid "LDAP server {s}: {re}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:854
+#: lib/pp_admintools/app/ldap.py:860
msgid "Connecting to LDAP server {url} ({addr}) as {dn!r} ..."
msgstr "Connecting to LDAP server {url} ({addr}) as {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:867
msgid "Try number {nr} for connecting to LDAP server instance {i!r} ..."
msgstr "Try number {nr} for connecting to LDAP server instance {i!r} …"
-#: lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:879
msgid "Got a {cls} on connecting to LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:877
+#: lib/pp_admintools/app/ldap.py:883
msgid "Waiting #{nr} on connecting to instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:883
+#: lib/pp_admintools/app/ldap.py:889
msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:888
+#: lib/pp_admintools/app/ldap.py:894
msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:898
+#: lib/pp_admintools/app/ldap.py:904
msgid "Finishing ..."
msgstr "Finishing …"
-#: lib/pp_admintools/app/ldap.py:909
+#: lib/pp_admintools/app/ldap.py:915
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr "Disconnecting from all remaining LDAP instances …"
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
msgid "Unbinding from LDAP server {!r} ..."
msgstr "Unbinding from LDAP server {!r} …"
-#: lib/pp_admintools/app/ldap.py:934
+#: lib/pp_admintools/app/ldap.py:940
msgid "Try number {nr} for disconnecting from LDAP server instance {i!r} ..."
msgstr "Try number {nr} for disconnecting from LDAP server instance {i!r} …"
-#: lib/pp_admintools/app/ldap.py:946
+#: lib/pp_admintools/app/ldap.py:952
msgid "Got a {cls} on disconnecting from LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:956
msgid "Waiting #{nr} on disconnecting from instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:962
msgid "{c} on disconnecting from LDAP server instance {i!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:970
msgid "Removing LDAP server connection data {!r} ..."
msgstr "Removing LDAP server connection data {!r} …"
-#: lib/pp_admintools/app/ldap.py:987
+#: lib/pp_admintools/app/ldap.py:993
msgid "recursive"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1003
+#: lib/pp_admintools/app/ldap.py:1009
msgid "Searching in {uri}/{bdn} {rec}for all entries with filter {fltr!r}, giving attributes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1039
msgid "Result of searching:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1035 lib/pp_admintools/app/ldap.py:1180
-#: lib/pp_admintools/app/ldap.py:1225 lib/pp_admintools/app/ldap.py:1367
-#: lib/pp_admintools/app/ldap.py:1415 lib/pp_admintools/app/ldap.py:1901
-#: lib/pp_admintools/app/ldap.py:1932 lib/pp_admintools/app/ldap.py:1963
-#: lib/pp_admintools/app/ldap.py:1994
+#: lib/pp_admintools/app/ldap.py:1041 lib/pp_admintools/app/ldap.py:1186
+#: lib/pp_admintools/app/ldap.py:1231 lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1421 lib/pp_admintools/app/ldap.py:1907
+#: lib/pp_admintools/app/ldap.py:1938 lib/pp_admintools/app/ldap.py:1969
+#: lib/pp_admintools/app/ldap.py:2000
msgid "Got a response entry:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1039
+#: lib/pp_admintools/app/ldap.py:1045
msgid "Search was not successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1055
+#: lib/pp_admintools/app/ldap.py:1061
msgid "Try number {} for searching ..."
msgstr "Try number {} for searching …"
-#: lib/pp_admintools/app/ldap.py:1071 lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1077 lib/pp_admintools/app/ldap.py:1092
msgid "Got a {cls} on searching in LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1074
+#: lib/pp_admintools/app/ldap.py:1080
msgid "Waiting #{nr} on searching in instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1081
+#: lib/pp_admintools/app/ldap.py:1087
msgid "Session terminated by server on searching on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1122 lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1128 lib/pp_admintools/app/ldap.py:1325
msgid "Found entry {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1129 lib/pp_admintools/app/ldap.py:1172
+#: lib/pp_admintools/app/ldap.py:1135 lib/pp_admintools/app/ldap.py:1178
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/ldap.py:1133
+#: lib/pp_admintools/app/ldap.py:1139
msgid "Got response entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1137 lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1143 lib/pp_admintools/app/ldap.py:1190
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1161 lib/pp_admintools/app/ldap.py:1214
+#: lib/pp_admintools/app/ldap.py:1167 lib/pp_admintools/app/ldap.py:1220
msgid "Using LDAP filter: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1176 lib/pp_admintools/app/ldap.py:1221
+#: lib/pp_admintools/app/ldap.py:1182 lib/pp_admintools/app/ldap.py:1227
msgid "Result of searching for DNs of all entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1210
+#: lib/pp_admintools/app/ldap.py:1216
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1237
+#: lib/pp_admintools/app/ldap.py:1243
msgid "Got no entry DNs."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1247
+#: lib/pp_admintools/app/ldap.py:1253
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr "Trying to evaluate DN of user {user!r} in LDAP instance {inst} …"
-#: lib/pp_admintools/app/ldap.py:1252
+#: lib/pp_admintools/app/ldap.py:1258
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr "Trying to evaluate DN of user {u!r} as a mail address …"
-#: lib/pp_admintools/app/ldap.py:1259
+#: lib/pp_admintools/app/ldap.py:1265
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …"
-#: lib/pp_admintools/app/ldap.py:1266
+#: lib/pp_admintools/app/ldap.py:1272
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr "Trying to evaluate DN of user {u!r} as a UID (Posix user name) …"
-#: lib/pp_admintools/app/ldap.py:1275 lib/pp_admintools/app/remove_ldap_user.py:311
+#: lib/pp_admintools/app/ldap.py:1281 lib/pp_admintools/app/remove_ldap_user.py:311
msgid "Empty user given."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1278
+#: lib/pp_admintools/app/ldap.py:1284
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr "Trying to evaluate DN of user {u!r} as a CN ({c}) …"
-#: lib/pp_admintools/app/ldap.py:1308 lib/pp_admintools/app/ldap.py:1356
-#: lib/pp_admintools/app/ldap.py:1404 lib/pp_admintools/app/ldap.py:1891
-#: lib/pp_admintools/app/ldap.py:1922 lib/pp_admintools/app/ldap.py:1953
-#: lib/pp_admintools/app/ldap.py:1984
+#: lib/pp_admintools/app/ldap.py:1314 lib/pp_admintools/app/ldap.py:1362
+#: lib/pp_admintools/app/ldap.py:1410 lib/pp_admintools/app/ldap.py:1897
+#: lib/pp_admintools/app/ldap.py:1928 lib/pp_admintools/app/ldap.py:1959
+#: lib/pp_admintools/app/ldap.py:1990
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1325
+#: lib/pp_admintools/app/ldap.py:1331
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1379
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1421
+#: lib/pp_admintools/app/ldap.py:1427
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1438 lib/pp_admintools/app/set_ldap_password.py:401
+#: lib/pp_admintools/app/ldap.py:1444 lib/pp_admintools/app/set_ldap_password.py:401
msgid "User with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1462
msgid "ObjectClasses of {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1466
+#: lib/pp_admintools/app/ldap.py:1472
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1479
+#: lib/pp_admintools/app/ldap.py:1485
msgid "Searching DN {dn!r} in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1492
+#: lib/pp_admintools/app/ldap.py:1498
msgid "Entry with DN {dn!r} not found in {i!r} ({uri})."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1543
+#: lib/pp_admintools/app/ldap.py:1549
msgid "Creating entry {dn!r} on {uri}:"
msgstr "Creating entry {dn!r} on {uri}:"
-#: lib/pp_admintools/app/ldap.py:1549
+#: lib/pp_admintools/app/ldap.py:1555
msgid "Simulation mode - entry will not be created."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1579
msgid "Creation status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1575
+#: lib/pp_admintools/app/ldap.py:1581
msgid "Result of creating:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1578
+#: lib/pp_admintools/app/ldap.py:1584
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1586
+#: lib/pp_admintools/app/ldap.py:1592
msgid "Creation successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1601
+#: lib/pp_admintools/app/ldap.py:1607
msgid "Try number {} for adding entry ..."
msgstr "Try number {} for dding entry …"
-#: lib/pp_admintools/app/ldap.py:1618
+#: lib/pp_admintools/app/ldap.py:1624
msgid "Got a {cls} on adding LDAP entry {dn!r} to instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1621
+#: lib/pp_admintools/app/ldap.py:1627
msgid "Waiting #{nr} on inserting LDAP entry {dn!r} to instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1632
+#: lib/pp_admintools/app/ldap.py:1638
msgid "Creation of entry {dn!r} in instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1665
+#: lib/pp_admintools/app/ldap.py:1671
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1670
+#: lib/pp_admintools/app/ldap.py:1676
msgid "Simulation mode - changes are not applied."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1694
+#: lib/pp_admintools/app/ldap.py:1700
msgid "Modification status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1696
+#: lib/pp_admintools/app/ldap.py:1702
msgid "Result of modifying:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1699
+#: lib/pp_admintools/app/ldap.py:1705
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1703 lib/pp_admintools/app/ldap.py:1753
+#: lib/pp_admintools/app/ldap.py:1709 lib/pp_admintools/app/ldap.py:1759
#: lib/pp_admintools/app/remove_ldap_user.py:442 lib/pp_admintools/app/remove_ldap_user.py:469
#: lib/pp_admintools/app/remove_ldap_user.py:496 lib/pp_admintools/app/remove_ldap_user.py:527
#: lib/pp_admintools/app/remove_ldap_user.py:558 lib/pp_admintools/app/remove_ldap_user.py:674
msgid "Changes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1706
+#: lib/pp_admintools/app/ldap.py:1712
msgid "Modification successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1720
+#: lib/pp_admintools/app/ldap.py:1726
msgid "Try number {} for modifying an entry ..."
msgstr "Try number {} for modifying an entry …"
-#: lib/pp_admintools/app/ldap.py:1736
+#: lib/pp_admintools/app/ldap.py:1742
msgid "Got a {cls} on modifying LDAP entry {dn!r} on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1739
+#: lib/pp_admintools/app/ldap.py:1745
msgid "Waiting #{nr} on modifying LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1750
+#: lib/pp_admintools/app/ldap.py:1756
msgid "Modification of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1781
+#: lib/pp_admintools/app/ldap.py:1787
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr "Deleting LDAP entry {dn!r} on {uri} …"
-#: lib/pp_admintools/app/ldap.py:1786
+#: lib/pp_admintools/app/ldap.py:1792
msgid "Simulation mode - deletion will not be executed."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1810
+#: lib/pp_admintools/app/ldap.py:1816
msgid "Deletion status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1812
+#: lib/pp_admintools/app/ldap.py:1818
msgid "Result of deletion:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1815
+#: lib/pp_admintools/app/ldap.py:1821
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1821
+#: lib/pp_admintools/app/ldap.py:1827
msgid "Deletion successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1836
+#: lib/pp_admintools/app/ldap.py:1842
msgid "Try number {i} for deleting entry {dn!r} ..."
msgstr "Try number {} for deleting entry {dn!r} …"
-#: lib/pp_admintools/app/ldap.py:1852
+#: lib/pp_admintools/app/ldap.py:1858
msgid "Got a {cls} on deleting LDAP entry {dn!r} on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1855
+#: lib/pp_admintools/app/ldap.py:1861
msgid "Waiting #{nr} on deleting LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1866
+#: lib/pp_admintools/app/ldap.py:1872
msgid "Deleting of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2010
+#: lib/pp_admintools/app/ldap.py:2016
msgid "Reading password file {!r} ..."
msgstr "Reading password file {!r} …"
-#: lib/pp_admintools/app/ldap.py:2041
+#: lib/pp_admintools/app/ldap.py:2047
msgid "Could not detect RDN from DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2045
+#: lib/pp_admintools/app/ldap.py:2051
msgid "Found RDN attribute {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2051
+#: lib/pp_admintools/app/ldap.py:2057
msgid "RDN attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2057 lib/pp_admintools/app/ldap.py:2076
-#: lib/pp_admintools/app/ldap.py:2154
+#: lib/pp_admintools/app/ldap.py:2063 lib/pp_admintools/app/ldap.py:2082
+#: lib/pp_admintools/app/ldap.py:2160
msgid "Attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2114
+#: lib/pp_admintools/app/ldap.py:2120
msgid "Values to removed from attribute {!r}:"
msgstr ""
"user will be really removed from LDAP."
msgstr ""
+#: lib/pp_admintools/app/remove_ldap_user.py:127
+msgid "Removing options"
+msgstr ""
+
#: lib/pp_admintools/app/remove_ldap_user.py:130
msgid "This is the default."
msgstr ""
msgid "The option must be less than {m} (given: {v})."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:214 lib/pp_admintools/argparse_actions.py:268
+#: lib/pp_admintools/app/__init__.py:226 lib/pp_admintools/app/ldap.py:221
+#: lib/pp_admintools/argparse_actions.py:268 lib/pp_admintools/argparse_actions.py:307
msgid "The path {!r} must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:218 lib/pp_admintools/app/ldap.py:2013
-#: lib/pp_admintools/argparse_actions.py:274
+#: lib/pp_admintools/app/ldap.py:225 lib/pp_admintools/app/ldap.py:2019
+#: lib/pp_admintools/argparse_actions.py:274 lib/pp_admintools/argparse_actions.py:313
msgid "The file {!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:222 lib/pp_admintools/app/ldap.py:2018
-#: lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/app/__init__.py:232 lib/pp_admintools/app/ldap.py:229
+#: lib/pp_admintools/app/ldap.py:2024 lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/argparse_actions.py:318
msgid "The given path {!r} exists, but is not a regular file."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:226 lib/pp_admintools/app/ldap.py:2023
-#: lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/app/__init__.py:237 lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:2029 lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/argparse_actions.py:322
msgid "The given file {!r} is not readable."
msgstr ""
-#: lib/pp_admintools/argparse_actions.py:304
+#: lib/pp_admintools/app/__init__.py:241 lib/pp_admintools/argparse_actions.py:326
+msgid "The given file {!r} is not writeable."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:248 lib/pp_admintools/app/get_from_addr.py:212
+#: lib/pp_admintools/argparse_actions.py:332
+msgid "Directory {!r} does not exists."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:252 lib/pp_admintools/argparse_actions.py:336
+msgid "Path {!r} exists, bu is not a directory."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:256 lib/pp_admintools/argparse_actions.py:340
+msgid "The directory {!r} is not writeable."
+msgstr ""
+
+#: lib/pp_admintools/argparse_actions.py:362
msgid "a port number must be greater than zero and less or equal to {}."
msgstr ""
-#: lib/pp_admintools/argparse_actions.py:309
+#: lib/pp_admintools/argparse_actions.py:367
msgid "Wrong port number {!r}:"
msgstr ""
+#: lib/pp_admintools/common.py:73
+msgid "Could not interprete {!r} as a timezone offset."
+msgstr ""
+
#: lib/pp_admintools/config/dns_deploy_zones.py:202 lib/pp_admintools/config/dns_deploy_zones.py:515
#: lib/pp_admintools/config/mail.py:138 lib/pp_admintools/config/pdns.py:182
msgid "Evaluating config section {!r}:"
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr ""
+#: lib/pp_admintools/errors.py:168
+msgid "The date string {!r} could not be interpreted as an ISO date."
+msgstr ""
+
#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr ""
msgid "Quality of the new password is not sufficient:"
msgstr ""
+#: lib/pp_admintools/handler/pflogparse.py:170
+msgid "Resetting all resulting data structures."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:184
+msgid "Given parameter {p!r} for {f}() is not a sequential object: {v!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:197
+msgid "Parameter {p!r} for {f}() is not a {what} object: {v!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:202
+msgid "Logfile {!r} does not exists."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:206
+msgid "Logfile {!r} is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:210
+msgid "No read access to logfile {!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:213
+msgid "Evaluating logfile {!r} ..."
+msgstr "Evaluating logfile {!r} …"
+
+#: lib/pp_admintools/handler/pflogparse.py:217 lib/pp_admintools/handler/pflogparse.py:222
+#: lib/pp_admintools/handler/pflogparse.py:227
+msgid "Reading file {f!r} as a {what} compressed file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:232
+msgid "Reading file {!r} as an uncompressed file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:239
+msgid "Closing file {!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:245
+msgid "Start parsing postfix logfile ..."
+msgstr "Start parsing postfix logfile …"
+
+#: lib/pp_admintools/handler/pflogparse.py:475
+msgid "Postfix transaction {!r} for delivering does not exists."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:510
+msgid "Did not found Postfix ID {pfid!r} for Message Id {mid!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:552
+msgid "Did not found Postfix ID {pfid!r} for OpenDKIM log entry."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:574
+msgid "Did not found Postfix ID {pfid!r} for Bounce ID {bid!r}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:73 lib/pp_admintools/postfix_deliver_action.py:86
+msgid "Unknown parameter {p!r} on calling {c}.__init__()."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:95
+msgid "You may not append a None value as a DeliverAction to the list deliver_actions."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:108
+msgid "Wrong type {c!r} for creating a {w} object from: {a!r}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:116
+msgid "You may not append a None value as a Bounce Id."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:121
+msgid "You may not append an empty value as a Bounce Id."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:184
+msgid "Could not interprete client address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:354 lib/pp_admintools/postfix_chain.py:637
+#: lib/pp_admintools/postfix_deliver_action.py:133
+msgid "Could not interprete date {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:402
+msgid "Could not interprete from address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:507
+msgid "Could not interprete the Uid of a picked up mail {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:606
+msgid "Could not interprete PID of smtpd {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:728
+msgid "Could not interprete mail size {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:754
+msgid "Could not interprete number of recipients {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:39
+msgid "The first value {v!r} of {c} must be greater than or equal to null."
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:48
+msgid "The total value {t!r} must be greater than or equal to the value {v}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:59
+msgid "Invalid value {v!r} of a {c}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:167
+msgid "Could not interprete total delay {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:233 lib/pp_admintools/postfix_deliver_action.py:496
+msgid "Could not interprete to address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:273
+msgid "Could not interprete relay address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:323
+msgid "Could not interprete PID of deliverer {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:371
+msgid "Could not interprete time before queueing {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:405
+msgid "Could not interprete smtp connection setup time {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:436
+msgid "Could not interprete time in queue {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:466
+msgid "Could not interprete smtp transmission time {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:797
+msgid ""
+"Timezone offset does not match system offset: {tz_offset} != {system_offset}. Please, check your"
+" config files."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:814
+msgid "Found a TZ environment: {}"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:838
+msgid "Environment variable TZ does not contain a time zone name."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:871
+msgid "tzlocal() does not support non-zoneinfo timezones like {!r}."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:872
+msgid "Please use a timezone in the form of Continent/City."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:878
+msgid "This looks like {}."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:891
+msgid "It's not {}?"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:901 lib/pp_admintools/tzlocal.py:931
+msgid "{!r} found, contents:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1001
+msgid "{!r} found."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1017
+msgid "{} found:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1034
+msgid "Multiple conflicting time zone configurations found:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1037
+msgid "Fix the configuration, or set the time zone in a TZ environment variable."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1066
+msgid "No explicit setting existed. Use localtime."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1076
+msgid "Can not find any timezone configuration, defaulting to UTC."
+msgstr ""
+
#: lib/pp_admintools/xlate.py:113
msgid "Module directory: {!r}"
msgstr ""
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.11.0\n"
+"Project-Id-Version: pp_admintools 1.1.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2024-02-06 15:10+0100\n"
+"POT-Creation-Date: 2024-07-30 17:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.14.0\n"
+"Generated-By: Babel 2.8.0\n"
-#: lib/pp_admintools/app/__init__.py:51
+#: lib/pp_admintools/app/__init__.py:54
msgid "Cursor position:"
msgstr ""
-#: lib/pp_admintools/app/__init__.py:158
+#: lib/pp_admintools/app/__init__.py:161
msgid "Using logfile {!r}."
msgstr ""
-#: lib/pp_admintools/app/__init__.py:160
+#: lib/pp_admintools/app/__init__.py:163
msgid "Don't using a logfile."
msgstr ""
+#: lib/pp_admintools/app/__init__.py:221
+msgid "The output file to check must not be None."
+msgstr ""
+
#: lib/pp_admintools/app/barracuda_sync.py:125
msgid "Synchronization of existing virtual aliases with alias definitions in LDAP for Barracuda."
msgstr ""
"Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:463
-#: lib/pp_admintools/app/ldap.py:474 lib/pp_admintools/app/mirror_ldap.py:114
+#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:468
+#: lib/pp_admintools/app/ldap.py:479 lib/pp_admintools/app/mirror_ldap.py:114
#: lib/pp_admintools/app/pdns.py:275
msgid "SECONDS"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:231 lib/pp_admintools/app/barracuda_sync.py:427
#: lib/pp_admintools/app/dns_deploy_zones.py:431 lib/pp_admintools/app/dns_deploy_zones.py:791
-#: lib/pp_admintools/app/ldap.py:1195 lib/pp_admintools/app/ldap.py:1322
-#: lib/pp_admintools/app/ldap.py:1370 lib/pp_admintools/app/ldap.py:1418
-#: lib/pp_admintools/app/ldap.py:1904 lib/pp_admintools/app/ldap.py:1935
-#: lib/pp_admintools/app/ldap.py:1966 lib/pp_admintools/app/ldap.py:1997
+#: lib/pp_admintools/app/ldap.py:1201 lib/pp_admintools/app/ldap.py:1328
+#: lib/pp_admintools/app/ldap.py:1376 lib/pp_admintools/app/ldap.py:1424
+#: lib/pp_admintools/app/ldap.py:1910 lib/pp_admintools/app/ldap.py:1941
+#: lib/pp_admintools/app/ldap.py:1972 lib/pp_admintools/app/ldap.py:2003
msgid "Result:"
msgstr ""
msgid "LDAP Entries to modified:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2110
+#: lib/pp_admintools/app/barracuda_sync.py:756 lib/pp_admintools/app/ldap.py:2116
msgid "Values to add to attribute {!r}:"
msgstr ""
msgid "Values to be removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2131
+#: lib/pp_admintools/app/barracuda_sync.py:777 lib/pp_admintools/app/ldap.py:2137
msgid "Changes for attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2134
+#: lib/pp_admintools/app/barracuda_sync.py:780 lib/pp_admintools/app/ldap.py:2140
msgid "No changes to attribute {!r}."
msgstr ""
msgid "Script options"
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:91 lib/pp_admintools/app/get_from_addr.py:139
+#: lib/pp_admintools/app/get_from_addr.py:147 lib/pp_admintools/app/get_from_addr.py:157
msgid "FILE"
msgstr ""
#: lib/pp_admintools/app/check_ldap_dn_attributes.py:210
#: lib/pp_admintools/app/check_ldap_pwd_schemes.py:180
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:224
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
msgid "Got attributes:"
msgstr ""
msgid "Found entry DNs:"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:66
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:52
+msgid "The base DN used as the root for the LDAP search."
+msgstr ""
+
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:68
msgid ""
"Removes all LDAP groups, which does not have any members, that means, they are one of the "
"following objectClasses: {ocl}, and they have none of the following attributes: {atl}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:115 lib/pp_admintools/app/remove_ldap_user.py:127
-msgid "Removing options"
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:117 lib/pp_admintools/app/dns_deploy_zones.py:247
+#: lib/pp_admintools/app/get_from_addr.py:122 lib/pp_admintools/app/mk_ldap_passwd.py:78
+#: lib/pp_admintools/app/set_ldap_password.py:117
+msgid "Options for {}"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:119
-msgid "The base DN used as the root for the LDAP search."
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:122
+msgid "Delete only the first found empty group and exit."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:145 lib/pp_admintools/app/remove_ldap_user.py:195
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:150 lib/pp_admintools/app/remove_ldap_user.py:195
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:152 lib/pp_admintools/app/remove_ldap_user.py:202
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:157 lib/pp_admintools/app/remove_ldap_user.py:202
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:160 lib/pp_admintools/app/remove_ldap_user.py:210
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:165 lib/pp_admintools/app/remove_ldap_user.py:215
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:170 lib/pp_admintools/app/remove_ldap_user.py:215
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:175
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:180
msgid "Searching for empty groups ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:182
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:187
msgid "No more empty groups left for removing."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:185
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:190
msgid "Lap {} on searching for empty groups to remove."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:220
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:229
msgid "Searching for member attributes of {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:230
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:239
msgid "Found attribute {at!r} in group {g!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:233
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
msgid "Group {!r} is not empty!"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:238
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:247
msgid "Removing group {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:242
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
msgid "Dont't removing group {!r}."
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:249
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:258
msgid "Do you really want to remove the group '{}'"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:251
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:260
msgid "[{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/ldap.py:331
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/ldap.py:338
#: lib/pp_admintools/app/mirror_ldap.py:246 lib/pp_admintools/app/remove_ldap_user.py:301
#: lib/pp_admintools/app/set_ldap_password.py:481
msgid "No"
msgstr ""
-#: lib/pp_admintools/app/clean_empty_ldap_groups.py:252 lib/pp_admintools/app/mirror_ldap.py:246
+#: lib/pp_admintools/app/clean_empty_ldap_groups.py:261 lib/pp_admintools/app/mirror_ldap.py:246
#: lib/pp_admintools/app/remove_ldap_user.py:301 lib/pp_admintools/app/set_ldap_password.py:481
msgid "yes"
msgstr ""
msgid "Generation of the BIND9 configuration file for slave zones."
msgstr ""
-#: lib/pp_admintools/app/dns_deploy_zones.py:247 lib/pp_admintools/app/mk_ldap_passwd.py:78
-#: lib/pp_admintools/app/set_ldap_password.py:117
-msgid "Options for {}"
-msgstr ""
-
#: lib/pp_admintools/app/dns_deploy_zones.py:252
msgid "Keep a backup file for each changed configuration file."
msgstr ""
msgid "Checking for dependend unique attribute '"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:617
+#: lib/pp_admintools/app/duplicate_attribs.py:172 lib/pp_admintools/app/ldap.py:622
msgid "Used filter:"
msgstr ""
msgid "No duplicates for attribute {!r} found."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:241
+#: lib/pp_admintools/app/get_from_addr.py:105
+msgid ""
+"This script collects all envelop-From-addresses from /var/log/maillog*, which are used for "
+"outbound mails. "
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:108
+msgid ""
+"Please note, that these addresses are those from the mail envelope. They may not be the same "
+"like the From addresses in the mail headers."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:127
+msgid "Show also results for particular mail addresses."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:131 lib/pp_admintools/app/ldap.py:459
+msgid "COUNT"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:133
+msgid ""
+"Limit the output of domains and addresses to those with a count of at least this value. Default:"
+" {}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:141
+msgid "The output YAML file for collecting and cummulating the results. Default: {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:149
+msgid ""
+"The output CSV file about the domains of found FROM addresses for importing in a spread sheet or"
+" into a database. Default: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:158
+msgid "The logfiles, which should be inspected. Default: {!r}"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:208 lib/pp_admintools/app/get_from_addr.py:222
+#: lib/pp_admintools/app/get_from_addr.py:233
+msgid "File {!r} is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:214
+msgid "Path {!r} is not a directory."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:239
+msgid "Sorting logfiles ..."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:263
+msgid "Collecting results ..."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:374
+msgid "No logfiles for evaluating found."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:379
+msgid "Evaluating Postfix log files:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:390 lib/pp_admintools/app/get_from_addr.py:563
+msgid "Results per domain:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:393 lib/pp_admintools/app/get_from_addr.py:511
+msgid "Results per address:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:401
+msgid "Start of oldest found Postfix transaction:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:405
+msgid "Start of newest found Postfix transaction:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:418
+msgid "Using totals YAML file {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:433
+msgid "Results total:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:436
+msgid "Writing file {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:452
+msgid "Reading file {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:461
+msgid "Preparing CSV table for domains ..."
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:488
+msgid "Prepared domains CSV table:"
+msgstr ""
+
+#: lib/pp_admintools/app/get_from_addr.py:489
+msgid "Writing CSV file {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:116
+msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:248
msgid "The value {v} for {n} must be greater than zero."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:245 lib/pp_admintools/app/ldap.py:267
+#: lib/pp_admintools/app/ldap.py:252 lib/pp_admintools/app/ldap.py:274
msgid "The value {v} for {n} must not be greater than {m}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:270
msgid "The value {v} for {n} must be equal to or greater than zero."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:320
+#: lib/pp_admintools/app/ldap.py:327
msgid "LDAP options"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:322
+#: lib/pp_admintools/app/ldap.py:329
msgid "Options for the default LDAP connection"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:331
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:333
+#: lib/pp_admintools/app/ldap.py:340
msgid "Yes"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:339 lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:346 lib/pp_admintools/app/ldap.py:442
msgid "HOST"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:340
+#: lib/pp_admintools/app/ldap.py:347
msgid "Hostname or address of the LDAP server to use. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:347
+#: lib/pp_admintools/app/ldap.py:354
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:352 lib/pp_admintools/app/ldap.py:441
+#: lib/pp_admintools/app/ldap.py:359 lib/pp_admintools/app/ldap.py:448
#: lib/pp_admintools/app/mail.py:243 lib/pp_admintools/app/pdns.py:264
msgid "PORT"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:354
+#: lib/pp_admintools/app/ldap.py:361
msgid "The port number to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:360
+#: lib/pp_admintools/app/ldap.py:367
msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:367
+#: lib/pp_admintools/app/ldap.py:374
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:375 lib/pp_admintools/app/mk_ldap_passwd.py:123
+#: lib/pp_admintools/app/ldap.py:382 lib/pp_admintools/app/mk_ldap_passwd.py:123
#: lib/pp_admintools/app/set_ldap_password.py:123 lib/pp_admintools/app/set_ldap_password.py:124
#: lib/pp_admintools/app/set_ldap_password.py:141 lib/pp_admintools/app/set_ldap_password.py:144
msgid "PASSWORD"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:376
+#: lib/pp_admintools/app/ldap.py:383
msgid "Use PASSWORD as the password for simple LDAP authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:381
+#: lib/pp_admintools/app/ldap.py:388
msgid ""
"Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
"command line."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:387 lib/pp_admintools/app/set_ldap_password.py:135
+#: lib/pp_admintools/app/ldap.py:394 lib/pp_admintools/app/set_ldap_password.py:135
#: lib/pp_admintools/app/set_ldap_password.py:137
msgid "PASSWORD_FILE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:389
+#: lib/pp_admintools/app/ldap.py:396
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:397 lib/pp_admintools/app/pdns.py:238
+#: lib/pp_admintools/app/ldap.py:404 lib/pp_admintools/app/pdns.py:238
msgid "INSTANCE"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:400
+#: lib/pp_admintools/app/ldap.py:407
msgid "If not given, then the instance {!r} will be used."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:404
+#: lib/pp_admintools/app/ldap.py:411
msgid "The LDAP instance (LDAP cluster) from configuration, where to execute this script."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:408
+#: lib/pp_admintools/app/ldap.py:415
msgid ""
"The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
"possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
"are shown, and the application is exiting."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:436
+#: lib/pp_admintools/app/ldap.py:443
msgid "Override configured hostname or address of the LDAP server."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:443
+#: lib/pp_admintools/app/ldap.py:450
msgid "Override the configured port number to connect to the LDAP server."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:448
-msgid "Override the configured base DN of the instance used as the root for the LDAP searches."
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:454
-msgid "COUNT"
-msgstr ""
-
-#: lib/pp_admintools/app/ldap.py:457
+#: lib/pp_admintools/app/ldap.py:462
msgid ""
"The number of retries for executing a LDAP request, which was failing because of a connection "
"problem. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:466
+#: lib/pp_admintools/app/ldap.py:471
msgid ""
"The time in seconds after a failed LDAP request, which was failing because of a connection "
"problem, for the next try. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:476
+#: lib/pp_admintools/app/ldap.py:481
msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:511
+#: lib/pp_admintools/app/ldap.py:516
msgid "Limiting console timeout to {} seconds due to LDAP timeout."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:522
+#: lib/pp_admintools/app/ldap.py:527
msgid "Checking given instances."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:526
+#: lib/pp_admintools/app/ldap.py:531
msgid "Given insts:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:583
+#: lib/pp_admintools/app/ldap.py:588
msgid "Configured LDAP instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:604
+#: lib/pp_admintools/app/ldap.py:609
msgid "Verifying given instances ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:642
+#: lib/pp_admintools/app/ldap.py:647
msgid "Filtered instances:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:650
+#: lib/pp_admintools/app/ldap.py:655
msgid "LDAP instances to use:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:666
+#: lib/pp_admintools/app/ldap.py:671
msgid "LDAP instance {!r} not found in configuration or is not usable."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:746
+#: lib/pp_admintools/app/ldap.py:751
msgid "Preparations ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:750
+#: lib/pp_admintools/app/ldap.py:755
msgid "Open all necessary LDAP connections ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:764
+#: lib/pp_admintools/app/ldap.py:769
msgid "Password of user {usr} on LDAP instance {inst}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:776
+#: lib/pp_admintools/app/ldap.py:781
msgid "Info about LDAP server {}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:794
msgid "Trying to get LDAP server object for {} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:796
+#: lib/pp_admintools/app/ldap.py:801
msgid "Already resolved hostname {h!r} to {a!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:799
+#: lib/pp_admintools/app/ldap.py:805
msgid "Resolving hostname {!r} to an IP address ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:803
+#: lib/pp_admintools/app/ldap.py:809
msgid "Could not resolve hostname {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:807
+#: lib/pp_admintools/app/ldap.py:813
msgid "Could not resolve hostname {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:825
+#: lib/pp_admintools/app/ldap.py:831
msgid "Connect options to server {!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:832
+#: lib/pp_admintools/app/ldap.py:838
msgid "LDAP server {s}: {re}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:854
+#: lib/pp_admintools/app/ldap.py:860
msgid "Connecting to LDAP server {url} ({addr}) as {dn!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:861
+#: lib/pp_admintools/app/ldap.py:867
msgid "Try number {nr} for connecting to LDAP server instance {i!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:873
+#: lib/pp_admintools/app/ldap.py:879
msgid "Got a {cls} on connecting to LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:877
+#: lib/pp_admintools/app/ldap.py:883
msgid "Waiting #{nr} on connecting to instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:883
+#: lib/pp_admintools/app/ldap.py:889
msgid "Could not connect to LDAP server {url!r} as {user!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:888
+#: lib/pp_admintools/app/ldap.py:894
msgid "{c} on connecting to LDAP server {url!r} as {user!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:898
+#: lib/pp_admintools/app/ldap.py:904
msgid "Finishing ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:909
+#: lib/pp_admintools/app/ldap.py:915
msgid "Disconnecting from all remaining LDAP instances ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
msgid "Unbinding from LDAP server {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:934
+#: lib/pp_admintools/app/ldap.py:940
msgid "Try number {nr} for disconnecting from LDAP server instance {i!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:946
+#: lib/pp_admintools/app/ldap.py:952
msgid "Got a {cls} on disconnecting from LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:950
+#: lib/pp_admintools/app/ldap.py:956
msgid "Waiting #{nr} on disconnecting from instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:956
+#: lib/pp_admintools/app/ldap.py:962
msgid "{c} on disconnecting from LDAP server instance {i!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:964
+#: lib/pp_admintools/app/ldap.py:970
msgid "Removing LDAP server connection data {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:987
+#: lib/pp_admintools/app/ldap.py:993
msgid "recursive"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1003
+#: lib/pp_admintools/app/ldap.py:1009
msgid "Searching in {uri}/{bdn} {rec}for all entries with filter {fltr!r}, giving attributes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1033
+#: lib/pp_admintools/app/ldap.py:1039
msgid "Result of searching:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1035 lib/pp_admintools/app/ldap.py:1180
-#: lib/pp_admintools/app/ldap.py:1225 lib/pp_admintools/app/ldap.py:1367
-#: lib/pp_admintools/app/ldap.py:1415 lib/pp_admintools/app/ldap.py:1901
-#: lib/pp_admintools/app/ldap.py:1932 lib/pp_admintools/app/ldap.py:1963
-#: lib/pp_admintools/app/ldap.py:1994
+#: lib/pp_admintools/app/ldap.py:1041 lib/pp_admintools/app/ldap.py:1186
+#: lib/pp_admintools/app/ldap.py:1231 lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1421 lib/pp_admintools/app/ldap.py:1907
+#: lib/pp_admintools/app/ldap.py:1938 lib/pp_admintools/app/ldap.py:1969
+#: lib/pp_admintools/app/ldap.py:2000
msgid "Got a response entry:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1039
+#: lib/pp_admintools/app/ldap.py:1045
msgid "Search was not successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1055
+#: lib/pp_admintools/app/ldap.py:1061
msgid "Try number {} for searching ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1071 lib/pp_admintools/app/ldap.py:1086
+#: lib/pp_admintools/app/ldap.py:1077 lib/pp_admintools/app/ldap.py:1092
msgid "Got a {cls} on searching in LDAP instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1074
+#: lib/pp_admintools/app/ldap.py:1080
msgid "Waiting #{nr} on searching in instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1081
+#: lib/pp_admintools/app/ldap.py:1087
msgid "Session terminated by server on searching on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1122 lib/pp_admintools/app/ldap.py:1319
+#: lib/pp_admintools/app/ldap.py:1128 lib/pp_admintools/app/ldap.py:1325
msgid "Found entry {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1129 lib/pp_admintools/app/ldap.py:1172
+#: lib/pp_admintools/app/ldap.py:1135 lib/pp_admintools/app/ldap.py:1178
msgid "Found one entry with filter {fltr!r} in {uri}/{bdn}."
msgid_plural "Found {nr} enries with filter {fltr!r} in {uri}/{bdn}."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/ldap.py:1133
+#: lib/pp_admintools/app/ldap.py:1139
msgid "Got response entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1137 lib/pp_admintools/app/ldap.py:1184
+#: lib/pp_admintools/app/ldap.py:1143 lib/pp_admintools/app/ldap.py:1190
msgid "No entry found with filter {fltr!r} in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1161 lib/pp_admintools/app/ldap.py:1214
+#: lib/pp_admintools/app/ldap.py:1167 lib/pp_admintools/app/ldap.py:1220
msgid "Using LDAP filter: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1176 lib/pp_admintools/app/ldap.py:1221
+#: lib/pp_admintools/app/ldap.py:1182 lib/pp_admintools/app/ldap.py:1227
msgid "Result of searching for DNs of all entries:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1210
+#: lib/pp_admintools/app/ldap.py:1216
msgid "Getting all Entry DNs of LDAP instance {i!r} below {b!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1237
+#: lib/pp_admintools/app/ldap.py:1243
msgid "Got no entry DNs."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1247
+#: lib/pp_admintools/app/ldap.py:1253
msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1252
+#: lib/pp_admintools/app/ldap.py:1258
msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1259
+#: lib/pp_admintools/app/ldap.py:1265
msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1266
+#: lib/pp_admintools/app/ldap.py:1272
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1275 lib/pp_admintools/app/remove_ldap_user.py:311
+#: lib/pp_admintools/app/ldap.py:1281 lib/pp_admintools/app/remove_ldap_user.py:311
msgid "Empty user given."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1278
+#: lib/pp_admintools/app/ldap.py:1284
msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1308 lib/pp_admintools/app/ldap.py:1356
-#: lib/pp_admintools/app/ldap.py:1404 lib/pp_admintools/app/ldap.py:1891
-#: lib/pp_admintools/app/ldap.py:1922 lib/pp_admintools/app/ldap.py:1953
-#: lib/pp_admintools/app/ldap.py:1984
+#: lib/pp_admintools/app/ldap.py:1314 lib/pp_admintools/app/ldap.py:1362
+#: lib/pp_admintools/app/ldap.py:1410 lib/pp_admintools/app/ldap.py:1897
+#: lib/pp_admintools/app/ldap.py:1928 lib/pp_admintools/app/ldap.py:1959
+#: lib/pp_admintools/app/ldap.py:1990
msgid "Searching in {uri}/{bdn} with filter: {fltr}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1325
+#: lib/pp_admintools/app/ldap.py:1331
msgid "User with mail address {m!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1373
+#: lib/pp_admintools/app/ldap.py:1379
msgid "User with uid {u!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1421
+#: lib/pp_admintools/app/ldap.py:1427
msgid "User with cn {cn!r} not found in {uri}/{bdn}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1438 lib/pp_admintools/app/set_ldap_password.py:401
+#: lib/pp_admintools/app/ldap.py:1444 lib/pp_admintools/app/set_ldap_password.py:401
msgid "User with DN {dn!r} not found in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1456
+#: lib/pp_admintools/app/ldap.py:1462
msgid "ObjectClasses of {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1466
+#: lib/pp_admintools/app/ldap.py:1472
msgid "Entry {dn!r} in {uri} seems not to be an account."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1479
+#: lib/pp_admintools/app/ldap.py:1485
msgid "Searching DN {dn!r} in {uri}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1492
+#: lib/pp_admintools/app/ldap.py:1498
msgid "Entry with DN {dn!r} not found in {i!r} ({uri})."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1543
+#: lib/pp_admintools/app/ldap.py:1549
msgid "Creating entry {dn!r} on {uri}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1549
+#: lib/pp_admintools/app/ldap.py:1555
msgid "Simulation mode - entry will not be created."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1573
+#: lib/pp_admintools/app/ldap.py:1579
msgid "Creation status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1575
+#: lib/pp_admintools/app/ldap.py:1581
msgid "Result of creating:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1578
+#: lib/pp_admintools/app/ldap.py:1584
msgid "Creation of entry {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1586
+#: lib/pp_admintools/app/ldap.py:1592
msgid "Creation successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1601
+#: lib/pp_admintools/app/ldap.py:1607
msgid "Try number {} for adding entry ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1618
+#: lib/pp_admintools/app/ldap.py:1624
msgid "Got a {cls} on adding LDAP entry {dn!r} to instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1621
+#: lib/pp_admintools/app/ldap.py:1627
msgid "Waiting #{nr} on inserting LDAP entry {dn!r} to instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1632
+#: lib/pp_admintools/app/ldap.py:1638
msgid "Creation of entry {dn!r} in instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1665
+#: lib/pp_admintools/app/ldap.py:1671
msgid "Applying changes on {uri} to DN {dn!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1670
+#: lib/pp_admintools/app/ldap.py:1676
msgid "Simulation mode - changes are not applied."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1694
+#: lib/pp_admintools/app/ldap.py:1700
msgid "Modification status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1696
+#: lib/pp_admintools/app/ldap.py:1702
msgid "Result of modifying:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1699
+#: lib/pp_admintools/app/ldap.py:1705
msgid "Modification of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1703 lib/pp_admintools/app/ldap.py:1753
+#: lib/pp_admintools/app/ldap.py:1709 lib/pp_admintools/app/ldap.py:1759
#: lib/pp_admintools/app/remove_ldap_user.py:442 lib/pp_admintools/app/remove_ldap_user.py:469
#: lib/pp_admintools/app/remove_ldap_user.py:496 lib/pp_admintools/app/remove_ldap_user.py:527
#: lib/pp_admintools/app/remove_ldap_user.py:558 lib/pp_admintools/app/remove_ldap_user.py:674
msgid "Changes:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1706
+#: lib/pp_admintools/app/ldap.py:1712
msgid "Modification successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1720
+#: lib/pp_admintools/app/ldap.py:1726
msgid "Try number {} for modifying an entry ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1736
+#: lib/pp_admintools/app/ldap.py:1742
msgid "Got a {cls} on modifying LDAP entry {dn!r} on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1739
+#: lib/pp_admintools/app/ldap.py:1745
msgid "Waiting #{nr} on modifying LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1750
+#: lib/pp_admintools/app/ldap.py:1756
msgid "Modification of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1781
+#: lib/pp_admintools/app/ldap.py:1787
msgid "Deleting LDAP entry {dn!r} on {uri} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1786
+#: lib/pp_admintools/app/ldap.py:1792
msgid "Simulation mode - deletion will not be executed."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1810
+#: lib/pp_admintools/app/ldap.py:1816
msgid "Deletion status: {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1812
+#: lib/pp_admintools/app/ldap.py:1818
msgid "Result of deletion:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1815
+#: lib/pp_admintools/app/ldap.py:1821
msgid "Deletion of {dn!r} was NOT successful: {desc} - {msg}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1821
+#: lib/pp_admintools/app/ldap.py:1827
msgid "Deletion successful."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1836
+#: lib/pp_admintools/app/ldap.py:1842
msgid "Try number {i} for deleting entry {dn!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1852
+#: lib/pp_admintools/app/ldap.py:1858
msgid "Got a {cls} on deleting LDAP entry {dn!r} on instance {i!r}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1855
+#: lib/pp_admintools/app/ldap.py:1861
msgid "Waiting #{nr} on deleting LDAP entry {dn!r} on instance {i!r} because of a {cls}:"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:1866
+#: lib/pp_admintools/app/ldap.py:1872
msgid "Deleting of entry {dn!r} on instance {i!r} was NOT successfull - {c}: {e}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2010
+#: lib/pp_admintools/app/ldap.py:2016
msgid "Reading password file {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2041
+#: lib/pp_admintools/app/ldap.py:2047
msgid "Could not detect RDN from DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2045
+#: lib/pp_admintools/app/ldap.py:2051
msgid "Found RDN attribute {!r}."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2051
+#: lib/pp_admintools/app/ldap.py:2057
msgid "RDN attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2057 lib/pp_admintools/app/ldap.py:2076
-#: lib/pp_admintools/app/ldap.py:2154
+#: lib/pp_admintools/app/ldap.py:2063 lib/pp_admintools/app/ldap.py:2082
+#: lib/pp_admintools/app/ldap.py:2160
msgid "Attribute {!r} will not be touched."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:2114
+#: lib/pp_admintools/app/ldap.py:2120
msgid "Values to removed from attribute {!r}:"
msgstr ""
"user will be really removed from LDAP."
msgstr ""
+#: lib/pp_admintools/app/remove_ldap_user.py:127
+msgid "Removing options"
+msgstr ""
+
#: lib/pp_admintools/app/remove_ldap_user.py:130
msgid "This is the default."
msgstr ""
msgid "The option must be less than {m} (given: {v})."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:214 lib/pp_admintools/argparse_actions.py:268
+#: lib/pp_admintools/app/__init__.py:226 lib/pp_admintools/app/ldap.py:221
+#: lib/pp_admintools/argparse_actions.py:268 lib/pp_admintools/argparse_actions.py:307
msgid "The path {!r} must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:218 lib/pp_admintools/app/ldap.py:2013
-#: lib/pp_admintools/argparse_actions.py:274
+#: lib/pp_admintools/app/ldap.py:225 lib/pp_admintools/app/ldap.py:2019
+#: lib/pp_admintools/argparse_actions.py:274 lib/pp_admintools/argparse_actions.py:313
msgid "The file {!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:222 lib/pp_admintools/app/ldap.py:2018
-#: lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/app/__init__.py:232 lib/pp_admintools/app/ldap.py:229
+#: lib/pp_admintools/app/ldap.py:2024 lib/pp_admintools/argparse_actions.py:278
+#: lib/pp_admintools/argparse_actions.py:318
msgid "The given path {!r} exists, but is not a regular file."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:226 lib/pp_admintools/app/ldap.py:2023
-#: lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/app/__init__.py:237 lib/pp_admintools/app/ldap.py:233
+#: lib/pp_admintools/app/ldap.py:2029 lib/pp_admintools/argparse_actions.py:282
+#: lib/pp_admintools/argparse_actions.py:322
msgid "The given file {!r} is not readable."
msgstr ""
-#: lib/pp_admintools/argparse_actions.py:304
+#: lib/pp_admintools/app/__init__.py:241 lib/pp_admintools/argparse_actions.py:326
+msgid "The given file {!r} is not writeable."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:248 lib/pp_admintools/app/get_from_addr.py:212
+#: lib/pp_admintools/argparse_actions.py:332
+msgid "Directory {!r} does not exists."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:252 lib/pp_admintools/argparse_actions.py:336
+msgid "Path {!r} exists, bu is not a directory."
+msgstr ""
+
+#: lib/pp_admintools/app/__init__.py:256 lib/pp_admintools/argparse_actions.py:340
+msgid "The directory {!r} is not writeable."
+msgstr ""
+
+#: lib/pp_admintools/argparse_actions.py:362
msgid "a port number must be greater than zero and less or equal to {}."
msgstr ""
-#: lib/pp_admintools/argparse_actions.py:309
+#: lib/pp_admintools/argparse_actions.py:367
msgid "Wrong port number {!r}:"
msgstr ""
+#: lib/pp_admintools/common.py:73
+msgid "Could not interprete {!r} as a timezone offset."
+msgstr ""
+
#: lib/pp_admintools/config/dns_deploy_zones.py:202 lib/pp_admintools/config/dns_deploy_zones.py:515
#: lib/pp_admintools/config/mail.py:138 lib/pp_admintools/config/pdns.py:182
msgid "Evaluating config section {!r}:"
msgid "Found API key of PDNS instance {inst!r}: {key!r}."
msgstr ""
+#: lib/pp_admintools/errors.py:168
+msgid "The date string {!r} could not be interpreted as an ISO date."
+msgstr ""
+
#: lib/pp_admintools/handler/ldap_password.py:61
msgid "Encryption schema {!r} not found."
msgstr ""
msgid "Quality of the new password is not sufficient:"
msgstr ""
+#: lib/pp_admintools/handler/pflogparse.py:170
+msgid "Resetting all resulting data structures."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:184
+msgid "Given parameter {p!r} for {f}() is not a sequential object: {v!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:197
+msgid "Parameter {p!r} for {f}() is not a {what} object: {v!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:202
+msgid "Logfile {!r} does not exists."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:206
+msgid "Logfile {!r} is not a regular file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:210
+msgid "No read access to logfile {!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:213
+msgid "Evaluating logfile {!r} ..."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:217 lib/pp_admintools/handler/pflogparse.py:222
+#: lib/pp_admintools/handler/pflogparse.py:227
+msgid "Reading file {f!r} as a {what} compressed file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:232
+msgid "Reading file {!r} as an uncompressed file."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:239
+msgid "Closing file {!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:245
+msgid "Start parsing postfix logfile ..."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:475
+msgid "Postfix transaction {!r} for delivering does not exists."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:510
+msgid "Did not found Postfix ID {pfid!r} for Message Id {mid!r}."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:552
+msgid "Did not found Postfix ID {pfid!r} for OpenDKIM log entry."
+msgstr ""
+
+#: lib/pp_admintools/handler/pflogparse.py:574
+msgid "Did not found Postfix ID {pfid!r} for Bounce ID {bid!r}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:73 lib/pp_admintools/postfix_deliver_action.py:86
+msgid "Unknown parameter {p!r} on calling {c}.__init__()."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:95
+msgid "You may not append a None value as a DeliverAction to the list deliver_actions."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:108
+msgid "Wrong type {c!r} for creating a {w} object from: {a!r}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:116
+msgid "You may not append a None value as a Bounce Id."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:121
+msgid "You may not append an empty value as a Bounce Id."
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:184
+msgid "Could not interprete client address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:354 lib/pp_admintools/postfix_chain.py:637
+#: lib/pp_admintools/postfix_deliver_action.py:133
+msgid "Could not interprete date {!r}:"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:402
+msgid "Could not interprete from address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:507
+msgid "Could not interprete the Uid of a picked up mail {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:606
+msgid "Could not interprete PID of smtpd {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:728
+msgid "Could not interprete mail size {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_chain.py:754
+msgid "Could not interprete number of recipients {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:39
+msgid "The first value {v!r} of {c} must be greater than or equal to null."
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:48
+msgid "The total value {t!r} must be greater than or equal to the value {v}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_data_pair.py:59
+msgid "Invalid value {v!r} of a {c}."
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:167
+msgid "Could not interprete total delay {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:233 lib/pp_admintools/postfix_deliver_action.py:496
+msgid "Could not interprete to address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:273
+msgid "Could not interprete relay address {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:323
+msgid "Could not interprete PID of deliverer {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:371
+msgid "Could not interprete time before queueing {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:405
+msgid "Could not interprete smtp connection setup time {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:436
+msgid "Could not interprete time in queue {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/postfix_deliver_action.py:466
+msgid "Could not interprete smtp transmission time {a!r}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:797
+msgid ""
+"Timezone offset does not match system offset: {tz_offset} != {system_offset}. Please, check your"
+" config files."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:814
+msgid "Found a TZ environment: {}"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:838
+msgid "Environment variable TZ does not contain a time zone name."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:871
+msgid "tzlocal() does not support non-zoneinfo timezones like {!r}."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:872
+msgid "Please use a timezone in the form of Continent/City."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:878
+msgid "This looks like {}."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:891
+msgid "It's not {}?"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:901 lib/pp_admintools/tzlocal.py:931
+msgid "{!r} found, contents:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1001
+msgid "{!r} found."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1017
+msgid "{} found:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1034
+msgid "Multiple conflicting time zone configurations found:"
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1037
+msgid "Fix the configuration, or set the time zone in a TZ environment variable."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1066
+msgid "No explicit setting existed. Use localtime."
+msgstr ""
+
+#: lib/pp_admintools/tzlocal.py:1076
+msgid "Can not find any timezone configuration, defaulting to UTC."
+msgstr ""
+
#: lib/pp_admintools/xlate.py:113
msgid "Module directory: {!r}"
msgstr ""