from ldap3 import MODIFY_REPLACE, MODIFY_ADD, MODIFY_DELETE
# Own modules
+from fb_tools.collections import CIStringSet
from fb_tools.common import to_bool, is_sequence
+from fb_tools.xlate import format_list
from .. import pp
from .ldap import LdapAppError, FatalLDAPError
from .ldap import BaseLdapApplication
-__version__ = '0.5.10'
+__version__ = '0.6.0'
LOG = logging.getLogger(__name__)
_ = XLATOR.gettext
self.use_multiple_ldap_connections = True
self.show_cmdline_ldap_timeout = True
+ self._del_mails = True
+
self.dns = {}
self.wrong_users = False
self.empty_passwd = '{SSHA256}' + crypt.crypt(
@property
def deactivate(self):
"""Defines, that the given users will not be removed, bur deactivated instaed."""
-
return self._deactivate
@deactivate.setter
def deactivate(self, value):
self._deactivate = to_bool(value)
+ # -------------------------------------------
+ @property
+ def del_mails(self):
+ """Return the need to delete all mail addresses from mailing lists."""
+ return self._del_mails
+
+ @del_mails.setter
+ def del_mails(self, value):
+ if value is None:
+ self._del_mails = True
+ self._del_mails = to_bool(value)
+
# -------------------------------------------------------------------------
def as_dict(self, short=True):
"""
res = super(RemoveLdapUserApplication, self).as_dict(short=short)
res['deactivate'] = self.deactivate
+ res['del_mails'] = self.del_mails
return res
remove_mode_group.add_argument(
'-R', '--remove', dest="remove", action='store_true', help=help_txt)
+ help_txt = _(
+ "Don't remove all mail addresses of the users to remove from all "
+ "mailing lists.")
+ remove_group.add_argument(
+ '-N', '--no-del-mail-addresses-from-lists', dest='no_del_mails',
+ action='store_true', help=help_txt)
+
remove_group.add_argument(
'users', nargs='*', metavar=_('USER'),
help=_(
if remove:
self.deactivate = False
+ if getattr(self.args, 'no_del_mails', False):
+ self.del_mails = False
+
self.given_users = given_users
self.check_instances()
if not self.remove_all_unique_memberships(inst, dn):
return False
+ if self.del_mails:
+ self.del_mails_from_lists(inst, dn, attributes)
+
if 'uid' in attributes:
for uid in attributes['uid']:
if not self.remove_all_posixgroup_memberships(inst, uid):
return True
+ # -------------------------------------------------------------------------
+ def del_mails_from_lists(self, inst, dn, attributes):
+ """Remove mail addresses of users from all mailing lists."""
+ connect_info = self.cfg.ldap_connection[inst]
+
+ mail_addresses = CIStringSet()
+ for attr in attributes.keys():
+ if attr.lower() in ('mail', 'mailalternateaddress', 'mailequivalentaddress'):
+ values = attributes[attr]
+ if is_sequence(values):
+ for address in values:
+ mail_addresses.add(address)
+ else:
+ mail_addresses.add(values)
+
+ if not len(mail_addresses):
+ msg = _("No mail addresses found to remove for user {!r}.").format(dn)
+ LOG.debug(msg)
+ return
+
+ msg = _('Trying to remove the following mail addresses from mailing lists:')
+ msg += ' ' + format_list(mail_addresses.as_list(), do_repr=True)
+ LOG.info(msg)
+
# =============================================================================
if __name__ == "__main__":
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.8.8\n"
+"Project-Id-Version: pp_admintools 0.9.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-31 10:50+0200\n"
+"POT-Creation-Date: 2023-06-12 11:53+0200\n"
"PO-Revision-Date: 2023-05-31 10:55+0200\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: de_DE\n"
"werden sollen. Vorgabe: {!r}"
#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
-#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr "SEKUNDEN"
msgid "Get all necessary data from LDAP and static virtual aliases table ..."
msgstr "Hole alle notwendigen Daten aus dem LDAP und aus der statische Tabelle der virtuellen Aliase …"
-#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:317
+#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:311
msgid "Finished."
msgstr "Beendet."
msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
msgstr "Beginne mit der Überprüfung aller Attribute mit DN-Syntax in der LDAP-Instanz {inst!r} ({url}) …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:154
msgid "Found one entry to check."
msgid_plural "Found {} entries to check."
msgstr[0] "Fand einen Eintrag, der überprüft werden muss."
msgstr[1] "Fand {} Einträge, die überprüft werden müssen."
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:158
msgid "Found no to check."
msgstr "Fand nichts zum überprüfen."
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:178
msgid "Got an inconsistent entry."
msgid_plural "Got {} inconsistent entries."
msgstr[0] "Habe einen inkonsistenten Eintrag gefunden."
msgstr[1] "Habe {} inkonsistente Einträge gefunden."
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:181
msgid "There is one inconsistent attribute."
msgid_plural "There are {} inconsistent attributes."
msgstr[0] "Es gibt ein inkonsistentes Attribut."
msgstr[1] "Es gibt {} inkonsistente Attribute."
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:186
msgid "Writing export file {!r} ..."
msgstr "Schreibe Export-Datei {!r} …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:193
msgid "Did not found any inconsistent entries."
msgstr "Keine inkonsistente Attribute gefunden."
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:214
msgid "Checking DN-like attributes of entry {!r} ..."
msgstr "Überprüfe Attribute mit DN-Syntax von Eintrag {!r} …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
msgid "Got attributes:"
msgstr "Gefindene Attribute:"
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:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:86
#: lib/pp_admintools/app/set_ldap_password.py:124
msgid "Options for {}"
msgstr "Optionen für {}"
#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
-#: lib/pp_admintools/app/mail.py:328
+#: lib/pp_admintools/app/mail.py:317
msgid "Executing: {}"
msgstr "Führe aus: {}"
msgid "Reloading {} ..."
msgstr "Reload {} …"
-#: lib/pp_admintools/app/duplicate_attribs.py:58
+#: lib/pp_admintools/app/duplicate_attribs.py:61
msgid "Evaluating all LDAP entries, which are using duplicate attributes, which should be unique."
msgstr "Ermittelt alle LDAP-Einträge, die Duplikat-Attribute haben, welche aber eindeutig sein sollten."
-#: lib/pp_admintools/app/duplicate_attribs.py:71
+#: lib/pp_admintools/app/duplicate_attribs.py:74
msgid "Evaluation options"
msgstr "Evaluationsoptionen"
-#: lib/pp_admintools/app/duplicate_attribs.py:74 lib/pp_admintools/app/duplicate_attribs.py:82
+#: lib/pp_admintools/app/duplicate_attribs.py:77 lib/pp_admintools/app/duplicate_attribs.py:85
msgid "ATTRIBUTE"
msgstr "ATTRIBUT"
-#: lib/pp_admintools/app/duplicate_attribs.py:75
+#: lib/pp_admintools/app/duplicate_attribs.py:78
msgid ""
"All attribute types, which should be unique over the complete LDAP tree. Per default the "
"following attribute types should be unique:"
"Alle Attributtypen, die eindeutig über den gesamten LDAP-Baum sein sollten. Per Vorgabe sollen "
"die folgenden Attributtypen eindeutig sein:"
-#: lib/pp_admintools/app/duplicate_attribs.py:83
+#: lib/pp_admintools/app/duplicate_attribs.py:86
msgid ""
"All attribute types, where their uniqueness depends on an additional LDAP filter. For instance, "
"the attribute 'gidNumber' should be unique for all entries, which are using the objectClass "
msgid "Options fo LDAP connections"
msgstr "Optionen für die LDAP-Verbindungen"
-#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:244
-#: lib/pp_admintools/app/remove_ldap_user.py:283 lib/pp_admintools/app/set_ldap_password.py:492
+#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/remove_ldap_user.py:309 lib/pp_admintools/app/set_ldap_password.py:492
msgid "No"
msgstr "Nein"
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:356 lib/pp_admintools/app/mail.py:261
-#: lib/pp_admintools/app/pdns.py:275
+#: lib/pp_admintools/app/ldap.py:356 lib/pp_admintools/app/mail.py:250
+#: lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr "PORT"
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:379 lib/pp_admintools/app/mk_ldap_passwd.py:134
+#: lib/pp_admintools/app/ldap.py:379 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:130 lib/pp_admintools/app/set_ldap_password.py:131
#: lib/pp_admintools/app/set_ldap_password.py:148 lib/pp_admintools/app/set_ldap_password.py:151
msgid "PASSWORD"
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:401 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:401 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr "INSTANZ"
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:958 lib/pp_admintools/app/remove_ldap_user.py:293
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:319
msgid "Empty user given."
msgstr "Leere Nutzername übergeben."
msgstr "Die Änderung von {dn!r} war NICHT erfolgreich - {c}: {e}"
#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
-#: lib/pp_admintools/app/remove_ldap_user.py:420 lib/pp_admintools/app/remove_ldap_user.py:447
-#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:505
-#: lib/pp_admintools/app/remove_ldap_user.py:536 lib/pp_admintools/app/set_ldap_password.py:521
+#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
+#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/set_ldap_password.py:521
msgid "Changes:"
msgstr "Änderungen:"
msgid "Values to removed from attribute {!r}:"
msgstr "Werte, die von Attribut {!r} gelöscht werden."
-#: lib/pp_admintools/app/mail.py:103
+#: lib/pp_admintools/app/mail.py:95
msgid "Got invalid SMTP port number {!r}."
msgstr "Ungültige SMTP-Port-Nummer {!r} erhalten."
-#: lib/pp_admintools/app/mail.py:121
+#: lib/pp_admintools/app/mail.py:113
msgid "Got invalid mail from address {!r}."
msgstr "Ungültige Absender-Mailadresse {!r} erhalten."
-#: lib/pp_admintools/app/mail.py:144
+#: lib/pp_admintools/app/mail.py:136
msgid "Got invalid recipient mail addresses:"
msgstr "Ungültige Empfänger-Mailadressen erhalten:"
-#: lib/pp_admintools/app/mail.py:172
+#: lib/pp_admintools/app/mail.py:164
msgid "Got invalid cc mail addresses:"
msgstr "Ungültige CC-Mailadressen erhalten:"
-#: lib/pp_admintools/app/mail.py:187
+#: lib/pp_admintools/app/mail.py:179
msgid "Got invalid reply mail address {!r}."
msgstr "Ungültige CC-Mailadresse {!r} erhalten."
-#: lib/pp_admintools/app/mail.py:201
+#: lib/pp_admintools/app/mail.py:190
msgid "Mailing options"
msgstr "E-Mail-Optionen"
-#: lib/pp_admintools/app/mail.py:216 lib/pp_admintools/app/mail.py:224
-#: lib/pp_admintools/app/mail.py:230 lib/pp_admintools/app/mail.py:236
+#: lib/pp_admintools/app/mail.py:205 lib/pp_admintools/app/mail.py:213
+#: lib/pp_admintools/app/mail.py:219 lib/pp_admintools/app/mail.py:225
msgid "ADDRESS"
msgstr "ADRESSE"
-#: lib/pp_admintools/app/mail.py:217
+#: lib/pp_admintools/app/mail.py:206
msgid "Sender mail address for mails generated by this script. Default: {!r}"
msgstr "Absender-Mailadresse von Mails, die von diesem Skript generiert werden. Vorgabe: {!r}"
-#: lib/pp_admintools/app/mail.py:225
+#: lib/pp_admintools/app/mail.py:214
msgid "Mail addresses of all recipients for mails generated by this script."
msgstr "Mailadressen aller Empfänger von Mails, die von diesem Skript generiert werden."
-#: lib/pp_admintools/app/mail.py:231
+#: lib/pp_admintools/app/mail.py:220
msgid "Mail addresses of all CC recipients for mails generated by this script."
msgstr "Mailadressen aller CC-Empfänger von Mails, die von diesem Skript generiert werden."
-#: lib/pp_admintools/app/mail.py:237
+#: lib/pp_admintools/app/mail.py:226
msgid "Reply mail address for mails generated by this script."
msgstr "Antwort-Mailadresse von Mails, die von diesem Skript generiert werden."
-#: lib/pp_admintools/app/mail.py:244
+#: lib/pp_admintools/app/mail.py:233
msgid "METHOD"
msgstr "METHODE"
-#: lib/pp_admintools/app/mail.py:245
+#: lib/pp_admintools/app/mail.py:234
msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
msgstr ""
"Methode zum Senden von Mails, die von diesem Skript generiert werden. Gültige Werte: {v}, "
"Vorgabe: {d!r}."
-#: lib/pp_admintools/app/mail.py:253
+#: lib/pp_admintools/app/mail.py:242
msgid "SERVER"
msgstr "SERVER"
-#: lib/pp_admintools/app/mail.py:254
+#: lib/pp_admintools/app/mail.py:243
msgid ""
"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
" Default: {!r}."
"Der Mailserver zur Übermittlung der von diesem Skript generierten Mails, wenn die Mail-Methode "
"'smtp' ist. Vorgabe: {!r}."
-#: lib/pp_admintools/app/mail.py:263
+#: lib/pp_admintools/app/mail.py:252
msgid ""
"The port to use for submitting generated by this script if the mail method of this script is "
"'smtp'. Default: {}."
"Der zu verwendende Port zur Übermittlung der von diesem Skript generierten Mails, wenn die Mail-"
"Methode 'smtp' ist. Vorgabe: {}."
-#: lib/pp_admintools/app/mail.py:272
+#: lib/pp_admintools/app/mail.py:261
msgid "Got command line arguments:"
msgstr "Kommandozeilen-Argumente erhalten:"
-#: lib/pp_admintools/app/mail.py:289
+#: lib/pp_admintools/app/mail.py:278
msgid "Mail to send:"
msgstr "Die zu sendende Mail:"
-#: lib/pp_admintools/app/mail.py:322
+#: lib/pp_admintools/app/mail.py:311
msgid "Did not found sendmail executable."
msgstr "Kein ausführbares Programm 'sendmail' gefunden."
-#: lib/pp_admintools/app/mirror_ldap.py:101
+#: lib/pp_admintools/app/mirror_ldap.py:96
msgid ""
"Mirror the content of a complete LDAP instance (server or cluster) to another instance. This "
"will be done first by clearing the target instance, then copying structural entries from the "
"dessen werden einige Transformationen ausgeführt, wie die Erssetzung der Inhalte bestimmter "
"Attribute durch andere Werte."
-#: lib/pp_admintools/app/mirror_ldap.py:109
+#: lib/pp_admintools/app/mirror_ldap.py:104
msgid "Do not execute a countdown before starting the application."
msgstr "Keinen Countdown vor dem Start der Anwendung ausführen."
-#: lib/pp_admintools/app/mirror_ldap.py:120
+#: lib/pp_admintools/app/mirror_ldap.py:115
msgid "Miroring options"
msgstr "Spiegelungs--Optionen"
-#: lib/pp_admintools/app/mirror_ldap.py:125
+#: lib/pp_admintools/app/mirror_ldap.py:120
msgid ""
"Number of seconds to wait after each write operation. Given as a float value, and if set to "
"zero, there is no waiting after a write. (default: {:.1f})"
"angegeben, und wenn sie auf Null gesetzt werden, erfolgt kein Warten nach dem Schreiben. "
"(Vorgabe: {:.1f})"
-#: lib/pp_admintools/app/mirror_ldap.py:132 lib/pp_admintools/app/mk_ldap_passwd.py:124
+#: lib/pp_admintools/app/mirror_ldap.py:127 lib/pp_admintools/app/mk_ldap_passwd.py:121
msgid "NUMBER"
msgstr "ANZAHL"
-#: lib/pp_admintools/app/mirror_ldap.py:134
+#: lib/pp_admintools/app/mirror_ldap.py:129
msgid "Limiting the mirroring to the first NUMBER entries. This option is valid only in simulation mode."
msgstr ""
"Begrenzung der Spiegelung auf die erste ANZAHL Einträge. Diese Option ist nur im Simulations-"
"Modus gültig."
-#: lib/pp_admintools/app/mirror_ldap.py:141
+#: lib/pp_admintools/app/mirror_ldap.py:136
msgid "Mirror only structural entries (entries with childs)."
msgstr "Nur strukturelle Einträge (Einträge mit Child-Einträgen) spiegeln."
-#: lib/pp_admintools/app/mirror_ldap.py:163
+#: lib/pp_admintools/app/mirror_ldap.py:157
msgid "Limiting the number of entries for mirroring to {} entries."
msgstr "Begrenze die Anzahl der Einträge zum Spiegeln auf {}."
-#: lib/pp_admintools/app/mirror_ldap.py:167
+#: lib/pp_admintools/app/mirror_ldap.py:161
msgid "Limition the number of entries for mirroring may only be done in simulation mode."
msgstr "Die Begrenzung der Anzahl der Einträge zum Spiegeln ist nur im Simulationsmodus erlaubt."
-#: lib/pp_admintools/app/mirror_ldap.py:184
+#: lib/pp_admintools/app/mirror_ldap.py:178
msgid "Did not found {tgt!r} in {e}:"
msgstr "Fand {tgt!r} nicht in {e}:"
-#: lib/pp_admintools/app/mirror_ldap.py:196
+#: lib/pp_admintools/app/mirror_ldap.py:190
msgid "Checking mirror source instance for target instance {!r} ..."
msgstr "Überprüfe die Quell-Instanz für Spiegelung zur Ziel-Instanz {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:200
+#: lib/pp_admintools/app/mirror_ldap.py:194
msgid "Got {!r} as the mirror source instance."
msgstr "Habe {!r} als Quell-Instanz für die Spiegelung erhalten."
-#: lib/pp_admintools/app/mirror_ldap.py:203 lib/pp_admintools/app/mirror_ldap.py:212
-#: lib/pp_admintools/app/mirror_ldap.py:223
+#: lib/pp_admintools/app/mirror_ldap.py:197 lib/pp_admintools/app/mirror_ldap.py:206
+#: lib/pp_admintools/app/mirror_ldap.py:217
msgid "Error in configuration:"
msgstr "Fehler in der Konfiguration:"
-#: lib/pp_admintools/app/mirror_ldap.py:204
+#: lib/pp_admintools/app/mirror_ldap.py:198
msgid "the source LDAP instance {src!r} for mirroring to {tgt!r} does not exists."
msgstr "die Quell-LDAP-Instanz {src!r} für die Spiegelung nach {tgt!r} existiert nicht."
-#: lib/pp_admintools/app/mirror_ldap.py:213
+#: lib/pp_admintools/app/mirror_ldap.py:207
msgid "the source LDAP instance {src!r} must not be the same like the target instance."
msgstr "die Quell-LDAP-Instanz {src!r} darf nicht identisch mit der Ziel-Instanz sein."
-#: lib/pp_admintools/app/mirror_ldap.py:224
+#: lib/pp_admintools/app/mirror_ldap.py:218
msgid ""
"the base DN {src_dn!r} of the source instance {src!r} does not match the base DN {tgt_dn!r} of "
"the target instance {tgt!r}."
"die Basis-DN {src_dn!r} der Quell-Instanz {src!r} stimmt nicht mit der Basis-DN {tgt_dn!r} der "
"Ziel-Instanz {tgt!r} überein."
-#: lib/pp_admintools/app/mirror_ldap.py:240
+#: lib/pp_admintools/app/mirror_ldap.py:234
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) [{yes}/{no}]?"
msgstr ""
"Starte Spiegelung der LDAP-Instanz {src!r} ({src_url}) zur Instanz {tgt!r} ({tgt_url}) "
"[{yes}/{no}]?"
-#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/remove_ldap_user.py:283
+#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:309
#: lib/pp_admintools/app/set_ldap_password.py:492
msgid "yes"
msgstr "ja"
-#: lib/pp_admintools/app/mirror_ldap.py:250 lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/mirror_ldap.py:306
msgid "Interrupted on demand."
msgstr "Abbruch auf Verlangen."
-#: lib/pp_admintools/app/mirror_ldap.py:255
+#: lib/pp_admintools/app/mirror_ldap.py:249
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) ..."
msgstr "Starte Spiegelung der LDAP-Instanz {src!r} ({src_url}) zur Instanz {tgt!r} ({tgt_url}) …"
-#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:294
+#: lib/pp_admintools/app/mirror_ldap.py:270 lib/pp_admintools/app/mirror_ldap.py:288
msgid "{:>5} entry deleted."
msgid_plural "{:>5} entries deleted."
msgstr[0] "{:>5} Eintrag gelöscht."
msgstr[1] "{:>5} Einträge gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:279 lib/pp_admintools/app/mirror_ldap.py:299
+#: lib/pp_admintools/app/mirror_ldap.py:273 lib/pp_admintools/app/mirror_ldap.py:293
msgid "{:>5} entry updated."
msgid_plural "{:>5} entries updated."
msgstr[0] "{:>5} Eintrag aktualisiert."
msgstr[1] "{:>5} Einträge aktualisiert."
-#: lib/pp_admintools/app/mirror_ldap.py:282 lib/pp_admintools/app/mirror_ldap.py:304
+#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:298
msgid "{:>5} entry created."
msgid_plural "{:>5} entries created."
msgstr[0] "{:>5} Eintrag erstellt."
msgstr[1] "{:>5} Einträge erstellt."
-#: lib/pp_admintools/app/mirror_ldap.py:289
+#: lib/pp_admintools/app/mirror_ldap.py:283
msgid "Changes total:"
msgstr "Änderungen insgesamt:"
-#: lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:306
msgid "Got a {}:"
msgstr "Habe ein {} erhalten:"
-#: lib/pp_admintools/app/mirror_ldap.py:325
+#: lib/pp_admintools/app/mirror_ldap.py:318
msgid "Trying to get DNs of all entries in the source LDAP instance."
msgstr "Versuche die DNs aller Einträge in der Quell-LDAP-Instanz zu ermitteln."
-#: lib/pp_admintools/app/mirror_ldap.py:338 lib/pp_admintools/app/mirror_ldap.py:393
+#: lib/pp_admintools/app/mirror_ldap.py:331 lib/pp_admintools/app/mirror_ldap.py:385
msgid "Found DNs in instance {!r}:"
msgstr "Gefundene DNs in Instanz {!r}:"
-#: lib/pp_admintools/app/mirror_ldap.py:355
+#: lib/pp_admintools/app/mirror_ldap.py:348
msgid "Found total one entry in source LDAP"
msgid_plural "Found {no} entries in source LDAP"
msgstr[0] "Fand einen Eintrag im Quell-LDAP"
msgstr[1] "Fand {no} Einträge im Quell-LDAP"
-#: lib/pp_admintools/app/mirror_ldap.py:359
+#: lib/pp_admintools/app/mirror_ldap.py:352
msgid "one structural entry in source LDAP"
msgid_plural "{no} structural entries in source LDAP"
msgstr[0] "einen strukturellen Eintrag im Quell-LDAP"
msgstr[1] "{no} strukturelle Einträge im Quell-LDAP"
-#: lib/pp_admintools/app/mirror_ldap.py:363
+#: lib/pp_admintools/app/mirror_ldap.py:356
msgid "one non-structural entry in source LDAP."
msgid_plural "{no} non-structural entries in source LDAP."
msgstr[0] "einen nicht-strukturellen Eintrag im Ziel-LDAP."
msgstr[1] "{no} nicht-strukturelle Einträge im Ziel-LDAP."
-#: lib/pp_admintools/app/mirror_ldap.py:371 lib/pp_admintools/app/mirror_ldap.py:426
+#: lib/pp_admintools/app/mirror_ldap.py:364 lib/pp_admintools/app/mirror_ldap.py:418
msgid "Found structural DNs in instance {!r}:"
msgstr "Gefundene strukturelle DNs in Instanz {!r}:"
-#: lib/pp_admintools/app/mirror_ldap.py:380
+#: lib/pp_admintools/app/mirror_ldap.py:372
msgid "Trying to get DNs of all entries in the target LDAP instance."
msgstr "Versuche die DNs aller Einträge in der Ziel-LDAP-Instanz zu ermitteln."
-#: lib/pp_admintools/app/mirror_ldap.py:410
+#: lib/pp_admintools/app/mirror_ldap.py:402
msgid "Found total one entry in target LDAP"
msgid_plural "Found {no} entries in target LDAP"
msgstr[0] "Fand insgesamt einen Eintrag im Ziel-LDAP"
msgstr[1] "Fand {no} Einträge im Ziel-LDAP"
-#: lib/pp_admintools/app/mirror_ldap.py:414
+#: lib/pp_admintools/app/mirror_ldap.py:406
msgid "one structural entry in target LDAP"
msgid_plural "{no} structural entries in target LDAP"
msgstr[0] "ein struktureller Eintrag im Ziel-LDAP"
msgstr[1] "{no} strukturelle Einträge im Ziel-LDAP"
-#: lib/pp_admintools/app/mirror_ldap.py:418
+#: lib/pp_admintools/app/mirror_ldap.py:410
msgid "one non-structural entry in target LDAP."
msgid_plural "{no} non-structural entries in target LDAP."
msgstr[0] "ein nicht-struktureller Eintrag im Ziel-LDAP."
msgstr[1] "{no} nicht-strukturelle Einträge im Ziel-LDAP."
-#: lib/pp_admintools/app/mirror_ldap.py:434
+#: lib/pp_admintools/app/mirror_ldap.py:425
msgid ""
"Evaluating DNs of all target entries, which have to be synchronized, instead of removing and "
"recreating them."
"Ermittel der DNs aller Zieleinträge, die synchronisiert werden müssen, anstatt sie zu löschen "
"und sie neu anzulegen."
-#: lib/pp_admintools/app/mirror_ldap.py:492
+#: lib/pp_admintools/app/mirror_ldap.py:483
msgid "Removing non structural entries from target LDAP instance."
msgstr "Löschen nicht-struktureller Einträge in der Ziel-LDAP-Instanz."
-#: lib/pp_admintools/app/mirror_ldap.py:508 lib/pp_admintools/app/mirror_ldap.py:569
+#: lib/pp_admintools/app/mirror_ldap.py:499 lib/pp_admintools/app/mirror_ldap.py:560
msgid "Entry {!r} exists on the source instance, will not be removed."
msgstr "Der Eintrag {!r} existiert in der Ziel-Instanz und wird deshalb nicht gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:514
+#: lib/pp_admintools/app/mirror_ldap.py:505
msgid "Entry {!r} is a structural entry, will not be removed at this point."
msgstr "Der Eintrag {!r} ist ein struktureller Eintrag, und wird deshalb an dieser Stelle nicht gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:521 lib/pp_admintools/app/mirror_ldap.py:575
-#: lib/pp_admintools/app/mirror_ldap.py:622 lib/pp_admintools/app/mirror_ldap.py:726
-#: lib/pp_admintools/app/mirror_ldap.py:825
+#: lib/pp_admintools/app/mirror_ldap.py:512 lib/pp_admintools/app/mirror_ldap.py:566
+#: lib/pp_admintools/app/mirror_ldap.py:613 lib/pp_admintools/app/mirror_ldap.py:717
+#: lib/pp_admintools/app/mirror_ldap.py:816
msgid "Entry {!r} is set to be kept."
msgstr "Der Eintrag {!r} wurde auf Erhalten gesetzt."
-#: lib/pp_admintools/app/mirror_ldap.py:533
+#: lib/pp_admintools/app/mirror_ldap.py:524
msgid "Removed one not structural entry in target LDAP instance."
msgid_plural "Removed {no} not structural entries in target LDAP instance."
msgstr[0] "Es wurde ein nicht-struktureller Eintrag in der Ziel-LDAP-Instanz gelöscht."
msgstr[1] "Es wurden {no} nicht-strukturelle Einträge in der Ziel-LDAP-Instanz gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:538
+#: lib/pp_admintools/app/mirror_ldap.py:529
msgid "None not structural entries in target LDAP instance removed."
msgstr "Es wurden keine nicht-strukturellen Einträge in der Ziel-LDAP-Instanz gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:552
+#: lib/pp_admintools/app/mirror_ldap.py:543
msgid "Removing structural entries from target LDAP instance."
msgstr "Löschen struktureller Einträge in der Ziel-LDAP-Instanz."
-#: lib/pp_admintools/app/mirror_ldap.py:580
+#: lib/pp_admintools/app/mirror_ldap.py:571
msgid "Entry {!r} is set to be synchronized."
msgstr "Der Eintrag {!r} wurde auf Synchronisation gesetzt."
-#: lib/pp_admintools/app/mirror_ldap.py:592
+#: lib/pp_admintools/app/mirror_ldap.py:583
msgid "Removed one structural entry in target LDAP instance."
msgid_plural "Removed {no} structural entries in target LDAP instance."
msgstr[0] "Es wurde ein struktureller Eintrag in der Ziel-LDAP-Instanz gelöscht."
msgstr[1] "Es wurden {no} strukturelle Einträge in der Ziel-LDAP-Instanz gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:597
+#: lib/pp_admintools/app/mirror_ldap.py:588
msgid "None structural entries in target LDAP instance removed."
msgstr "Es wurden keine strukturellen Einträge in der Ziel-LDAP-Instanz gelöscht."
-#: lib/pp_admintools/app/mirror_ldap.py:605
+#: lib/pp_admintools/app/mirror_ldap.py:596
msgid "Mirroring structural entries from source to target LDAP instance."
msgstr "Spiegeln struktureller Einträge von der Quell- in die Ziel-LDAP-Instanz."
-#: lib/pp_admintools/app/mirror_ldap.py:626 lib/pp_admintools/app/mirror_ldap.py:730
-#: lib/pp_admintools/app/mirror_ldap.py:831
+#: lib/pp_admintools/app/mirror_ldap.py:617 lib/pp_admintools/app/mirror_ldap.py:721
+#: lib/pp_admintools/app/mirror_ldap.py:822
msgid "Mirroring entry {!r} ..."
msgstr "Spiegele Eintrag {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:630 lib/pp_admintools/app/mirror_ldap.py:734
-#: lib/pp_admintools/app/mirror_ldap.py:835
+#: lib/pp_admintools/app/mirror_ldap.py:621 lib/pp_admintools/app/mirror_ldap.py:725
+#: lib/pp_admintools/app/mirror_ldap.py:826
msgid "Did not found {!r} in the source LDAP."
msgstr "Fand {!r} nicht in der Quell-Datenbank."
-#: lib/pp_admintools/app/mirror_ldap.py:656 lib/pp_admintools/app/mirror_ldap.py:760
-#: lib/pp_admintools/app/mirror_ldap.py:857
+#: lib/pp_admintools/app/mirror_ldap.py:647 lib/pp_admintools/app/mirror_ldap.py:751
+#: lib/pp_admintools/app/mirror_ldap.py:848
msgid "Modifying entry {!r} ..."
msgstr "Ändere Eintrag {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:657 lib/pp_admintools/app/mirror_ldap.py:761
-#: lib/pp_admintools/app/mirror_ldap.py:858
+#: lib/pp_admintools/app/mirror_ldap.py:648 lib/pp_admintools/app/mirror_ldap.py:752
+#: lib/pp_admintools/app/mirror_ldap.py:849
msgid "Got modify data for DN {!r}:"
msgstr "Bekam Änderungsdaten für DN {!r}:"
-#: lib/pp_admintools/app/mirror_ldap.py:668 lib/pp_admintools/app/mirror_ldap.py:772
-#: lib/pp_admintools/app/mirror_ldap.py:869
+#: lib/pp_admintools/app/mirror_ldap.py:659 lib/pp_admintools/app/mirror_ldap.py:763
+#: lib/pp_admintools/app/mirror_ldap.py:860
msgid "No changes necessary on DN {!r}."
msgstr "Keine Änderungen bei DN {!r} notwendig."
-#: lib/pp_admintools/app/mirror_ldap.py:672 lib/pp_admintools/app/mirror_ldap.py:776
-#: lib/pp_admintools/app/mirror_ldap.py:845
+#: lib/pp_admintools/app/mirror_ldap.py:663 lib/pp_admintools/app/mirror_ldap.py:767
+#: lib/pp_admintools/app/mirror_ldap.py:836
msgid "Target entry {!r} not found."
msgstr "Der Ziel-Eintrag {!r} wurde nicht gefunden."
-#: lib/pp_admintools/app/mirror_ldap.py:675 lib/pp_admintools/app/mirror_ldap.py:779
+#: lib/pp_admintools/app/mirror_ldap.py:666 lib/pp_admintools/app/mirror_ldap.py:770
msgid "Creating entry {!r} ..."
msgstr "Erstelle Eintrag {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:676 lib/pp_admintools/app/mirror_ldap.py:780
+#: lib/pp_admintools/app/mirror_ldap.py:667 lib/pp_admintools/app/mirror_ldap.py:771
msgid "Got create data for DN {!r}:"
msgstr "Bekam Erstellungsdaten für DN {!r}:"
-#: lib/pp_admintools/app/mirror_ldap.py:693
+#: lib/pp_admintools/app/mirror_ldap.py:684
msgid "Mirrored one structural entry in target LDAP instance."
msgid_plural "Mirrored {no} structural entries to target LDAP instance."
msgstr[0] "Es wurde ein struktureller Eintrag in die Ziel-LDAP-Instanz gespiegelt."
msgstr[1] "Es wurden {no} strukturelle Einträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mirror_ldap.py:698
+#: lib/pp_admintools/app/mirror_ldap.py:689
msgid "Mirrored no structural entries to target LDAP instance."
msgstr "Es wurden keine strukturellen Einträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mirror_ldap.py:706
+#: lib/pp_admintools/app/mirror_ldap.py:697
msgid "Mirroring non-structural entries from source to target LDAP instance."
msgstr "Spiegeln nicht-struktureller Einträge von der Quell- in die Ziel-LDAP-Instanz."
-#: lib/pp_admintools/app/mirror_ldap.py:797
+#: lib/pp_admintools/app/mirror_ldap.py:788
msgid "Mirrored one non-structural entry in target LDAP instance."
msgid_plural "Mirrored {no} non-structural entries to target LDAP instance."
msgstr[0] "Es wurde ein nicht-struktureller Eintrag in die Ziel-LDAP-Instanz gespiegelt."
msgstr[1] "Es wurden {no} nicht-strukturelle Einträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mirror_ldap.py:802
+#: lib/pp_admintools/app/mirror_ldap.py:793
msgid "Mirrored none not-structural entries to target LDAP instance."
msgstr "Es wurden keine nicht-strukturellen Einträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mirror_ldap.py:811
+#: lib/pp_admintools/app/mirror_ldap.py:802
msgid "Mirroring members in group entries from source to target LDAP instance."
msgstr "Spiegeln von Mitgliedern in Gruppeneinträgen von der Quell- in die Ziel-LDAP-Instanz."
-#: lib/pp_admintools/app/mirror_ldap.py:874
+#: lib/pp_admintools/app/mirror_ldap.py:865
msgid "Mirrored one group entry in target LDAP instance."
msgid_plural "Mirrored {no} group entries to target LDAP instance."
msgstr[0] "Es wurde ein Gruppeneintrag in die Ziel-LDAP-Instanz gespiegelt."
msgstr[1] "Es wurden {no} Gruppeneinträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mirror_ldap.py:879
+#: lib/pp_admintools/app/mirror_ldap.py:870
msgid "Mirrored no group entries to target LDAP instance."
msgstr "Es wurden keine Gruppeneinträge in die Ziel-LDAP-Instanz gespiegelt."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:60
+#: lib/pp_admintools/app/mk_ldap_passwd.py:58
msgid "Encrypting the password with a defined password schema."
msgstr "Verschlüsseln eines Passwortes mit einem definierten Passwort-Schema."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:102
+#: lib/pp_admintools/app/mk_ldap_passwd.py:99
msgid "The schema (hashing method) to use to hash the new password. Default: {default!r}."
msgstr ""
"Das Schema (die Hashing-Methode), das zum Hashen des neuen Passwortes verwendet wird. Vorgabe: "
"{default!r}."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+#: lib/pp_admintools/app/mk_ldap_passwd.py:104
msgid "TYPE"
msgstr "TYP"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:113
+#: lib/pp_admintools/app/mk_ldap_passwd.py:110
msgid "Like {}"
msgstr "Wie {}"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:118 lib/pp_admintools/app/set_ldap_password.py:207
+#: lib/pp_admintools/app/mk_ldap_passwd.py:115 lib/pp_admintools/app/set_ldap_password.py:207
msgid ""
"A possible salt to use on hashing the password. Caution: not all hashing schemes are supporting "
"a salt."
"Ein optionaler Salt, der zum Hashen des Passwortes verwendet werden kann. Achtung: nicht alle "
"Hashing-Schemen unterstützen einen Salt."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:125 lib/pp_admintools/app/set_ldap_password.py:214
+#: lib/pp_admintools/app/mk_ldap_passwd.py:122 lib/pp_admintools/app/set_ldap_password.py:214
msgid ""
"The number of calculation rounds to use on hashing the password. Caution: not all hashing "
"schemes are supporting calculation rounds."
"Die Anzahl der Berechnungsrunden, die zum Hashen des Passwortes verwendet werden können. "
"Achtung: nicht alle Hashing-Schemen unterstützen Berechnungsrunden."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:130
+#: lib/pp_admintools/app/mk_ldap_passwd.py:127
msgid ""
"The password to hash. If not given and no file desriptor was given, then the password will be "
"requested on TTY."
"Das Passort, das verschlüsselt werden soll. Wenn nicht angegeben, dann wird das Passwort über "
"die Konsole abgefragt."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:181
+#: lib/pp_admintools/app/mk_ldap_passwd.py:175
msgid "Got no password by {}."
msgstr "Kein Passwort üver {} erhalten."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:184
+#: lib/pp_admintools/app/mk_ldap_passwd.py:178
msgid "Password:"
msgstr "Passwort:"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:185 lib/pp_admintools/app/set_ldap_password.py:307
+#: lib/pp_admintools/app/mk_ldap_passwd.py:179 lib/pp_admintools/app/set_ldap_password.py:307
#: lib/pp_admintools/app/set_ldap_password.py:327
msgid "Repeat password:"
msgstr "Passwort-Wiederholung:"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:199
+#: lib/pp_admintools/app/mk_ldap_passwd.py:193
msgid "Encrypting password with hashing schema '{schema}' ..."
msgstr "Verschlüsseln des Passwortes mit dem Hashing-Schema '{schema}' …"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:206 lib/pp_admintools/app/set_ldap_password.py:481
+#: lib/pp_admintools/app/mk_ldap_passwd.py:200 lib/pp_admintools/app/set_ldap_password.py:481
msgid "Used schema: {!r}."
msgstr "Verwendetes Schama : {!r}."
msgid "PDNS instance {!r} is not configured."
msgstr "Die PDNS Instanz {!r} ist nicht konfiguriert."
-#: lib/pp_admintools/app/pdns.py:241
+#: lib/pp_admintools/app/pdns.py:239
msgid "PowerDNS API options"
msgstr "PowerDNS API-Optionen"
-#: lib/pp_admintools/app/pdns.py:250
+#: lib/pp_admintools/app/pdns.py:248
msgid "Select, which PowerDNS instance to use. Valid values: {v}, default: {d!r}."
msgstr "Auswahl der zu verwendenden PowerDNS-Instanz. Gültige Werte: {v}, Vorgaben: {d!r}."
-#: lib/pp_admintools/app/pdns.py:258 lib/pp_admintools/app/pdns.py:264
-#: lib/pp_admintools/app/pdns.py:270
+#: lib/pp_admintools/app/pdns.py:256 lib/pp_admintools/app/pdns.py:262
+#: lib/pp_admintools/app/pdns.py:268
msgid "Using the {!r} PowerDNS instance."
msgstr "Verwenden der {!r}-PowerDNS-Instanz."
-#: lib/pp_admintools/app/pdns.py:278
+#: lib/pp_admintools/app/pdns.py:276
msgid "Which port to connect to PowerDNS API, default: {}."
msgstr "Welcher Port soll verwendet werden, um sich mit der PowerDNS-API zu verbinden, Vorgabe: {}."
-#: lib/pp_admintools/app/pdns.py:282
+#: lib/pp_admintools/app/pdns.py:280
msgid "The timeout in seconds for the communication with the PowerDNS-API. Default: {} seconds."
msgstr "Der Timeout in Sekunden für die Kommunikation mit der PowerDNS-API. Vorgabe: {} Sekunden."
-#: lib/pp_admintools/app/pdns.py:331
+#: lib/pp_admintools/app/pdns.py:329
msgid "No path given for{d} [{s}]/{k} in configuration."
msgstr "Kein Pfad für{d} [{s}]/{k} in der Konfiguration angegegben."
-#: lib/pp_admintools/app/pdns.py:338
+#: lib/pp_admintools/app/pdns.py:336
msgid "Path {p!r} for{d} [{s}]/{k} in configuration must be an absolute path."
msgstr "Der Pfad {p!r} für{d} [{s}]/{k} in der Konfiguration muss ein absoluter sein."
-#: lib/pp_admintools/app/pdns.py:361 lib/pp_admintools/app/pdns.py:404
-#: lib/pp_admintools/app/pdns.py:431
+#: lib/pp_admintools/app/pdns.py:358 lib/pp_admintools/app/pdns.py:396
+#: lib/pp_admintools/app/pdns.py:421
msgid "Executing {} ..."
msgstr "Ausführung von {} …"
-#: lib/pp_admintools/app/pdns.py:379
+#: lib/pp_admintools/app/pdns.py:376
msgid "Timeout of {t} seconds too big, at most {m} seconds are allowed."
msgstr "Der Timeout von {t} Sekunden ist zu groß, es sind höchtens {m} Sekunden erlaubt."
-#: lib/pp_admintools/app/pdns.py:383
+#: lib/pp_admintools/app/pdns.py:380
msgid "A timeout may not be negative."
msgstr "Ein Timeout darf nicht negativ sein."
-#: lib/pp_admintools/app/pdns.py:406
+#: lib/pp_admintools/app/pdns.py:398
msgid "Setting Loglevel of the requests module to {}."
msgstr "Setze das Loglevel des Requests-Moduls auf {}."
-#: lib/pp_admintools/app/pdns.py:420
+#: lib/pp_admintools/app/pdns.py:411
msgid "Executing nothing ..."
msgstr "Führe nicht aus …"
-#: lib/pp_admintools/app/pdns.py:441 lib/pp_admintools/app/pdns.py:469
-#: lib/pp_admintools/app/pdns.py:480 lib/pp_admintools/app/pdns.py:490
+#: lib/pp_admintools/app/pdns.py:431 lib/pp_admintools/app/pdns.py:458
+#: lib/pp_admintools/app/pdns.py:469 lib/pp_admintools/app/pdns.py:479
msgid "The PDNS server object does not exists."
msgstr "Das PDNS-Server-Objekt existiert nicht."
-#: lib/pp_admintools/app/pdns.py:443 lib/pp_admintools/app/pdns.py:471
-#: lib/pp_admintools/app/pdns.py:482 lib/pp_admintools/app/pdns.py:492
+#: lib/pp_admintools/app/pdns.py:433 lib/pp_admintools/app/pdns.py:460
+#: lib/pp_admintools/app/pdns.py:471 lib/pp_admintools/app/pdns.py:481
msgid "The PDNS server object is not initialized."
msgstr "Das PDNS-Server-Objekt ist nicht initialisiert."
-#: lib/pp_admintools/app/pdns.py:448
+#: lib/pp_admintools/app/pdns.py:438
msgid "Got a {} during evaluating the PDNS server version from API:"
msgstr "Habe in {} bei der Ermittlung der PowerDNS-Serverversion erhalten:"
-#: lib/pp_admintools/app/pdns.py:500
+#: lib/pp_admintools/app/pdns.py:489
msgid "Trying to get complete information about zone {!r} ..."
msgstr "Versuch die kompletten Informationen über die Zone {!r} zu bekommen …"
-#: lib/pp_admintools/app/pdns.py:506
+#: lib/pp_admintools/app/pdns.py:495
msgid "The given zone {} was not found."
msgstr "Die angegebene Zone {} wurde nicht gefunden."
-#: lib/pp_admintools/app/pdns.py:509
+#: lib/pp_admintools/app/pdns.py:498
msgid "Got a response:"
msgstr "Erhaltene Antwort:"
-#: lib/pp_admintools/app/pdns.py:514
+#: lib/pp_admintools/app/pdns.py:503
msgid "Zone object:"
msgstr "Zonen-Objekt:"
-#: lib/pp_admintools/app/remove_ldap_user.py:70
+#: lib/pp_admintools/app/remove_ldap_user.py:74
msgid ""
"Disables or removes the given users from LDAP. If disabling, then the user will not be really "
"removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
"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:115
+#: lib/pp_admintools/app/remove_ldap_user.py:131
msgid "Removing options"
msgstr "Lösch-Optionen"
-#: lib/pp_admintools/app/remove_ldap_user.py:118
+#: lib/pp_admintools/app/remove_ldap_user.py:134
msgid "This is the default."
msgstr "Dieses ist die Vorgabe."
-#: lib/pp_admintools/app/remove_ldap_user.py:119
+#: lib/pp_admintools/app/remove_ldap_user.py:135
msgid "This is mutually exclusive to {!r}."
msgstr "Das schließt sich mit {!r} gegenseitig aus."
-#: lib/pp_admintools/app/remove_ldap_user.py:121
+#: lib/pp_admintools/app/remove_ldap_user.py:137
msgid "Deactivating the user instead of removing it."
msgstr "Deaktivieren der Nutzer anstatt Löschung."
-#: lib/pp_admintools/app/remove_ldap_user.py:128
+#: lib/pp_admintools/app/remove_ldap_user.py:144
msgid "Removing the user from LDAP."
msgstr "Löschen der übergebenen Nutzer im LDAP."
-#: lib/pp_admintools/app/remove_ldap_user.py:136 lib/pp_admintools/app/set_ldap_password.py:200
+#: lib/pp_admintools/app/remove_ldap_user.py:151
+msgid "Don't remove all mail addresses of the users to remove from all mailing lists."
+msgstr "Kein Löschen aller Mailadressen der zu löschenden Nutzer aus allen Mailing-Listen."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:159 lib/pp_admintools/app/set_ldap_password.py:200
#: lib/pp_admintools/app/set_ldap_password.py:203
msgid "USER"
msgstr "NUTZER"
-#: lib/pp_admintools/app/remove_ldap_user.py:137
+#: lib/pp_admintools/app/remove_ldap_user.py:160
msgid ""
"The user, which should be deactivated or removed. They may be given by their Uid (the "
"alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
"angegeben werden. Bitte beachten, dass sich letzterer bei den verschiedenen LDAP-Instanzen "
"unterscheiden kann."
-#: lib/pp_admintools/app/remove_ldap_user.py:161
+#: lib/pp_admintools/app/remove_ldap_user.py:184
msgid "No users to remove given."
msgstr "Kein Nutzername zum Löschen angegeben."
-#: lib/pp_admintools/app/remove_ldap_user.py:177
+#: lib/pp_admintools/app/remove_ldap_user.py:203
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/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} not found in configuration."
msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:218
msgid "LDAP instance {!r} has only readonly access."
msgstr "Die LDAP-Instanz {!r} besitzt nur Lesezugriffsrechte."
-#: lib/pp_admintools/app/remove_ldap_user.py:197
+#: lib/pp_admintools/app/remove_ldap_user.py:223
msgid "No admin access to LDAP instance {!r}."
msgstr "Keine Admin-Zugriffsrechte bei LDAP-Instanz {!r}."
-#: lib/pp_admintools/app/remove_ldap_user.py:214
+#: lib/pp_admintools/app/remove_ldap_user.py:240
msgid "All given users were not found in any LDAP instance."
msgstr "Alle übergebenen Nutzer wurden in keiner der LDAP-Instanzen gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:219
+#: lib/pp_admintools/app/remove_ldap_user.py:245
msgid "Evaluated DNs to remove:"
msgstr "Zum Löschen ermittelte DNs:"
-#: lib/pp_admintools/app/remove_ldap_user.py:228
+#: lib/pp_admintools/app/remove_ldap_user.py:254
msgid "Start disabling user entries in:"
msgstr "Beginne Deaktivierung der Nutzereinträge in:"
-#: lib/pp_admintools/app/remove_ldap_user.py:230
+#: lib/pp_admintools/app/remove_ldap_user.py:256
msgid "Start removing user entries in:"
msgstr "Beginne Löschung der Nutzereinträge in:"
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:260
msgid "Start disabling user entries ..."
msgstr "Beginne Deaktivierung der Nutzereinträge …"
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:262
msgid "Start removing user entries ..."
msgstr "Beginne Löschung der Nutzereinträge …"
-#: lib/pp_admintools/app/remove_ldap_user.py:251
+#: lib/pp_admintools/app/remove_ldap_user.py:277
msgid "Do you really want to deactivate the following users?"
msgstr "Möchten Sie die folgenden Nutzer wirklich deaktivieren?"
-#: lib/pp_admintools/app/remove_ldap_user.py:253
+#: lib/pp_admintools/app/remove_ldap_user.py:279
msgid "Do you really want to remove the following users?"
msgstr "Möchten Sie die folgenden Nutzer wirklich löschen?"
-#: lib/pp_admintools/app/remove_ldap_user.py:279
+#: lib/pp_admintools/app/remove_ldap_user.py:305
msgid "Deactivate [{yes}/{no}]?"
msgstr "Deaktivieren [{yes}/{no}]?"
-#: lib/pp_admintools/app/remove_ldap_user.py:281
+#: lib/pp_admintools/app/remove_ldap_user.py:307
msgid "Remove [{yes}/{no}]?"
msgstr "Löschen [{yes}/{no}]?"
-#: lib/pp_admintools/app/remove_ldap_user.py:289
+#: lib/pp_admintools/app/remove_ldap_user.py:315
msgid "Evaluating DNs of the user {!r} to remove ..."
msgstr "Ermitteln der DNs des Nutzers {!r} zum Löschen …"
-#: lib/pp_admintools/app/remove_ldap_user.py:303 lib/pp_admintools/app/set_ldap_password.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:329 lib/pp_admintools/app/set_ldap_password.py:434
msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
msgstr "Habe DN {dn!r} für den Nutzer {user!r} in der LDAP-Instanz {inst} ermittelt."
-#: lib/pp_admintools/app/remove_ldap_user.py:310 lib/pp_admintools/app/set_ldap_password.py:439
+#: lib/pp_admintools/app/remove_ldap_user.py:336 lib/pp_admintools/app/set_ldap_password.py:439
msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
msgstr "Fand {nr} Einträge für den Nutzer {u!r} in der LDAP-Instanz {i}."
-#: lib/pp_admintools/app/remove_ldap_user.py:322 lib/pp_admintools/app/set_ldap_password.py:453
+#: lib/pp_admintools/app/remove_ldap_user.py:348 lib/pp_admintools/app/set_ldap_password.py:453
msgid "Did not found user {user!r} in LDAP instance {inst}."
msgstr "Der Nutzer {user!r} wurde nicht in der LDAP-Instanz {inst} gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:331
+#: lib/pp_admintools/app/remove_ldap_user.py:357
msgid "Deactivating all given users from {} ..."
msgstr "Deaktivieren aller übergebenen Nutzer in {} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:359
msgid "Removing all given users from {} ..."
msgstr "Lösche alle übergebenen Nutzer in {} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:348
+#: lib/pp_admintools/app/remove_ldap_user.py:374
msgid "Deactivating user {dn!r} from {inst} ..."
msgstr "Deaktivieren von Nutzer {dn!r} in {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:351
+#: lib/pp_admintools/app/remove_ldap_user.py:377
msgid "Removing user {dn!r} from {inst} ..."
msgstr "Lösche Nutzer {dn!r} in {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:357
+#: lib/pp_admintools/app/remove_ldap_user.py:383
msgid "Attributes of {!r}:"
msgstr "Attribute von {!r}:"
-#: lib/pp_admintools/app/remove_ldap_user.py:378
+#: lib/pp_admintools/app/remove_ldap_user.py:407
msgid "{c} on removing user {dn!r}: {e}"
msgstr "{c} beim Löschen des Nutzers {dn!r}: {e}"
-#: lib/pp_admintools/app/remove_ldap_user.py:384
+#: lib/pp_admintools/app/remove_ldap_user.py:413
msgid "User {dn!r} successful deactivated on {inst}."
msgstr "Der Nutzer {dn!r} wurde erfolgreich auf {inst} deaktiviert."
-#: lib/pp_admintools/app/remove_ldap_user.py:387
+#: lib/pp_admintools/app/remove_ldap_user.py:416
msgid "User {dn!r} successful removed from {inst}."
msgstr "Der Nutzer {dn!r} wurde erfolgreich von {inst} gelöscht."
-#: lib/pp_admintools/app/remove_ldap_user.py:413
+#: lib/pp_admintools/app/remove_ldap_user.py:442
msgid "Updating user info for {dn!r} on {inst} ..."
msgstr "Aktualisiere die Nutzerinformationenn für {dn!r} in {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:418 lib/pp_admintools/app/set_ldap_password.py:519
+#: lib/pp_admintools/app/remove_ldap_user.py:447 lib/pp_admintools/app/set_ldap_password.py:519
msgid "{c} on deactivating user {dn!r}: {e}"
msgstr "{c} beim Deaktivieren des Nutzers {dn!r}: {e}"
-#: lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:463
msgid "Did not found any group memberships of {dn!r} in {inst}."
msgstr "Keine Gruppenmitgliedschaften von {dn!r} in {inst} gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:440 lib/pp_admintools/app/remove_ldap_user.py:467
-#: lib/pp_admintools/app/remove_ldap_user.py:498 lib/pp_admintools/app/remove_ldap_user.py:529
+#: 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
msgid "Removing user {u!r} from group {g!r} ..."
msgstr "Lösche Nutzer {u!r} aus der Gruppe {g!r} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:445 lib/pp_admintools/app/remove_ldap_user.py:472
-#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:501
+#: lib/pp_admintools/app/remove_ldap_user.py:532 lib/pp_admintools/app/remove_ldap_user.py:563
msgid "{c} on removing user {dn!r} from group {g!r}: {e}"
msgstr "{c} beim Löschen des Nutzers {dn!r} von der Gruppe {g!r}: {e}"
-#: lib/pp_admintools/app/remove_ldap_user.py:461
+#: lib/pp_admintools/app/remove_ldap_user.py:490
msgid "Did not found any unique group memberships of {dn!r} in {inst}."
msgstr "Keine eindeutigen Gruppenmitgliedschaften von {dn!r} in {inst} gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:485
+#: lib/pp_admintools/app/remove_ldap_user.py:514
msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
msgstr "Lösche Nutzer {uid!r} aus allen POSIX-Gruppen in {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:492
+#: lib/pp_admintools/app/remove_ldap_user.py:521
msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
msgstr "Keine POSIX-Gruppenmitgliedschaften von {uid!r} in {inst} gefunden."
-#: lib/pp_admintools/app/remove_ldap_user.py:516
+#: lib/pp_admintools/app/remove_ldap_user.py:545
msgid "Deleting user {uid!r} from all sudo groups in {inst}."
msgstr "Lösche Nutzer {uid!r} aus allen sudo-Gruppen in {inst}."
-#: lib/pp_admintools/app/remove_ldap_user.py:523
+#: lib/pp_admintools/app/remove_ldap_user.py:552
msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
msgstr "Keine sudo-Gruppenmitgliedschaften von {uid!r} in {inst} gefunden."
+#: lib/pp_admintools/app/remove_ldap_user.py:587
+msgid "No mail addresses found to remove for user {!r}."
+msgstr "Keine Mailadressen des Nutzers {!r} zum Löschen efunden."
+
+#: lib/pp_admintools/app/remove_ldap_user.py:591
+msgid "Trying to remove the following mail addresses from mailing lists:"
+msgstr "Versuche die folgenden Mailadressen aus Mailinglisten zu löschen:"
+
#: lib/pp_admintools/app/set_ldap_password.py:90
msgid ""
"Changing the password of the given user. If no user was given, then {app} tries to use the name "
#
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.8.8\n"
+"Project-Id-Version: pp_admintools 0.9.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-31 10:50+0200\n"
+"POT-Creation-Date: 2023-06-12 11:53+0200\n"
"PO-Revision-Date: 2023-05-31 10:53+0200\n"
"Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
"Language: en_US\n"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
-#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr ""
msgid "Get all necessary data from LDAP and static virtual aliases table ..."
msgstr "Get all necessary data from LDAP and static virtual aliases table …"
-#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:317
+#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:311
msgid "Finished."
msgstr ""
msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
msgstr "tart checking all DN-like attributes in in LDAP instance {inst!r} ({url}) …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:154
msgid "Found one entry to check."
msgid_plural "Found {} entries to check."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:158
msgid "Found no to check."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:178
msgid "Got an inconsistent entry."
msgid_plural "Got {} inconsistent entries."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:181
msgid "There is one inconsistent attribute."
msgid_plural "There are {} inconsistent attributes."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:186
msgid "Writing export file {!r} ..."
msgstr "Writing export file {!r} …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:193
msgid "Did not found any inconsistent entries."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:214
msgid "Checking DN-like attributes of entry {!r} ..."
msgstr "Checking DN-like attributes of entry {!r} …"
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
msgid "Got attributes:"
msgstr ""
msgid "Generation of the BIND9 configuration file for slave zones."
msgstr ""
-#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:86
#: lib/pp_admintools/app/set_ldap_password.py:124
msgid "Options for {}"
msgstr ""
#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
-#: lib/pp_admintools/app/mail.py:328
+#: lib/pp_admintools/app/mail.py:317
msgid "Executing: {}"
msgstr ""
msgid "Reloading {} ..."
msgstr "Reloading {} …"
-#: lib/pp_admintools/app/duplicate_attribs.py:58
+#: lib/pp_admintools/app/duplicate_attribs.py:61
msgid "Evaluating all LDAP entries, which are using duplicate attributes, which should be unique."
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:71
+#: lib/pp_admintools/app/duplicate_attribs.py:74
msgid "Evaluation options"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:74 lib/pp_admintools/app/duplicate_attribs.py:82
+#: lib/pp_admintools/app/duplicate_attribs.py:77 lib/pp_admintools/app/duplicate_attribs.py:85
msgid "ATTRIBUTE"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:75
+#: lib/pp_admintools/app/duplicate_attribs.py:78
msgid ""
"All attribute types, which should be unique over the complete LDAP tree. Per default the "
"following attribute types should be unique:"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:83
+#: lib/pp_admintools/app/duplicate_attribs.py:86
msgid ""
"All attribute types, where their uniqueness depends on an additional LDAP filter. For instance, "
"the attribute 'gidNumber' should be unique for all entries, which are using the objectClass "
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:244
-#: lib/pp_admintools/app/remove_ldap_user.py:283 lib/pp_admintools/app/set_ldap_password.py:492
+#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/remove_ldap_user.py:309 lib/pp_admintools/app/set_ldap_password.py:492
msgid "No"
msgstr ""
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:356 lib/pp_admintools/app/mail.py:261
-#: lib/pp_admintools/app/pdns.py:275
+#: lib/pp_admintools/app/ldap.py:356 lib/pp_admintools/app/mail.py:250
+#: lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr ""
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:379 lib/pp_admintools/app/mk_ldap_passwd.py:134
+#: lib/pp_admintools/app/ldap.py:379 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:130 lib/pp_admintools/app/set_ldap_password.py:131
#: lib/pp_admintools/app/set_ldap_password.py:148 lib/pp_admintools/app/set_ldap_password.py:151
msgid "PASSWORD"
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:401 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:401 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr ""
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:958 lib/pp_admintools/app/remove_ldap_user.py:293
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:319
msgid "Empty user given."
msgstr ""
msgstr ""
#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
-#: lib/pp_admintools/app/remove_ldap_user.py:420 lib/pp_admintools/app/remove_ldap_user.py:447
-#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:505
-#: lib/pp_admintools/app/remove_ldap_user.py:536 lib/pp_admintools/app/set_ldap_password.py:521
+#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
+#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/set_ldap_password.py:521
msgid "Changes:"
msgstr ""
msgid "Values to removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:103
+#: lib/pp_admintools/app/mail.py:95
msgid "Got invalid SMTP port number {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:121
+#: lib/pp_admintools/app/mail.py:113
msgid "Got invalid mail from address {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:144
+#: lib/pp_admintools/app/mail.py:136
msgid "Got invalid recipient mail addresses:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:172
+#: lib/pp_admintools/app/mail.py:164
msgid "Got invalid cc mail addresses:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:187
+#: lib/pp_admintools/app/mail.py:179
msgid "Got invalid reply mail address {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:201
+#: lib/pp_admintools/app/mail.py:190
msgid "Mailing options"
msgstr ""
-#: lib/pp_admintools/app/mail.py:216 lib/pp_admintools/app/mail.py:224
-#: lib/pp_admintools/app/mail.py:230 lib/pp_admintools/app/mail.py:236
+#: lib/pp_admintools/app/mail.py:205 lib/pp_admintools/app/mail.py:213
+#: lib/pp_admintools/app/mail.py:219 lib/pp_admintools/app/mail.py:225
msgid "ADDRESS"
msgstr ""
-#: lib/pp_admintools/app/mail.py:217
+#: lib/pp_admintools/app/mail.py:206
msgid "Sender mail address for mails generated by this script. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/mail.py:225
+#: lib/pp_admintools/app/mail.py:214
msgid "Mail addresses of all recipients for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:231
+#: lib/pp_admintools/app/mail.py:220
msgid "Mail addresses of all CC recipients for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:237
+#: lib/pp_admintools/app/mail.py:226
msgid "Reply mail address for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:244
+#: lib/pp_admintools/app/mail.py:233
msgid "METHOD"
msgstr ""
-#: lib/pp_admintools/app/mail.py:245
+#: lib/pp_admintools/app/mail.py:234
msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:253
+#: lib/pp_admintools/app/mail.py:242
msgid "SERVER"
msgstr ""
-#: lib/pp_admintools/app/mail.py:254
+#: lib/pp_admintools/app/mail.py:243
msgid ""
"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
" Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:263
+#: lib/pp_admintools/app/mail.py:252
msgid ""
"The port to use for submitting generated by this script if the mail method of this script is "
"'smtp'. Default: {}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:272
+#: lib/pp_admintools/app/mail.py:261
msgid "Got command line arguments:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:289
+#: lib/pp_admintools/app/mail.py:278
msgid "Mail to send:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:322
+#: lib/pp_admintools/app/mail.py:311
msgid "Did not found sendmail executable."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:101
+#: lib/pp_admintools/app/mirror_ldap.py:96
msgid ""
"Mirror the content of a complete LDAP instance (server or cluster) to another instance. This "
"will be done first by clearing the target instance, then copying structural entries from the "
"values."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:109
+#: lib/pp_admintools/app/mirror_ldap.py:104
msgid "Do not execute a countdown before starting the application."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:120
+#: lib/pp_admintools/app/mirror_ldap.py:115
msgid "Miroring options"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:125
+#: lib/pp_admintools/app/mirror_ldap.py:120
msgid ""
"Number of seconds to wait after each write operation. Given as a float value, and if set to "
"zero, there is no waiting after a write. (default: {:.1f})"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:132 lib/pp_admintools/app/mk_ldap_passwd.py:124
+#: lib/pp_admintools/app/mirror_ldap.py:127 lib/pp_admintools/app/mk_ldap_passwd.py:121
msgid "NUMBER"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:134
+#: lib/pp_admintools/app/mirror_ldap.py:129
msgid "Limiting the mirroring to the first NUMBER entries. This option is valid only in simulation mode."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:141
+#: lib/pp_admintools/app/mirror_ldap.py:136
msgid "Mirror only structural entries (entries with childs)."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:163
+#: lib/pp_admintools/app/mirror_ldap.py:157
msgid "Limiting the number of entries for mirroring to {} entries."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:167
+#: lib/pp_admintools/app/mirror_ldap.py:161
msgid "Limition the number of entries for mirroring may only be done in simulation mode."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:184
+#: lib/pp_admintools/app/mirror_ldap.py:178
msgid "Did not found {tgt!r} in {e}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:196
+#: lib/pp_admintools/app/mirror_ldap.py:190
msgid "Checking mirror source instance for target instance {!r} ..."
msgstr "Checking mirror source instance for target instance {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:200
+#: lib/pp_admintools/app/mirror_ldap.py:194
msgid "Got {!r} as the mirror source instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:203 lib/pp_admintools/app/mirror_ldap.py:212
-#: lib/pp_admintools/app/mirror_ldap.py:223
+#: lib/pp_admintools/app/mirror_ldap.py:197 lib/pp_admintools/app/mirror_ldap.py:206
+#: lib/pp_admintools/app/mirror_ldap.py:217
msgid "Error in configuration:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:204
+#: lib/pp_admintools/app/mirror_ldap.py:198
msgid "the source LDAP instance {src!r} for mirroring to {tgt!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:213
+#: lib/pp_admintools/app/mirror_ldap.py:207
msgid "the source LDAP instance {src!r} must not be the same like the target instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:224
+#: lib/pp_admintools/app/mirror_ldap.py:218
msgid ""
"the base DN {src_dn!r} of the source instance {src!r} does not match the base DN {tgt_dn!r} of "
"the target instance {tgt!r}."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:240
+#: lib/pp_admintools/app/mirror_ldap.py:234
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) [{yes}/{no}]?"
msgstr "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) [{yes}/{no}]?"
-#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/remove_ldap_user.py:283
+#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:309
#: lib/pp_admintools/app/set_ldap_password.py:492
msgid "yes"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:250 lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/mirror_ldap.py:306
msgid "Interrupted on demand."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:255
+#: lib/pp_admintools/app/mirror_ldap.py:249
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) ..."
msgstr "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) …"
-#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:294
+#: lib/pp_admintools/app/mirror_ldap.py:270 lib/pp_admintools/app/mirror_ldap.py:288
msgid "{:>5} entry deleted."
msgid_plural "{:>5} entries deleted."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:279 lib/pp_admintools/app/mirror_ldap.py:299
+#: lib/pp_admintools/app/mirror_ldap.py:273 lib/pp_admintools/app/mirror_ldap.py:293
msgid "{:>5} entry updated."
msgid_plural "{:>5} entries updated."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:282 lib/pp_admintools/app/mirror_ldap.py:304
+#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:298
msgid "{:>5} entry created."
msgid_plural "{:>5} entries created."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:289
+#: lib/pp_admintools/app/mirror_ldap.py:283
msgid "Changes total:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:306
msgid "Got a {}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:325
+#: lib/pp_admintools/app/mirror_ldap.py:318
msgid "Trying to get DNs of all entries in the source LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:338 lib/pp_admintools/app/mirror_ldap.py:393
+#: lib/pp_admintools/app/mirror_ldap.py:331 lib/pp_admintools/app/mirror_ldap.py:385
msgid "Found DNs in instance {!r}:"
msgstr "Found DNs in instance {!r}:"
-#: lib/pp_admintools/app/mirror_ldap.py:355
+#: lib/pp_admintools/app/mirror_ldap.py:348
msgid "Found total one entry in source LDAP"
msgid_plural "Found {no} entries in source LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:359
+#: lib/pp_admintools/app/mirror_ldap.py:352
msgid "one structural entry in source LDAP"
msgid_plural "{no} structural entries in source LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:363
+#: lib/pp_admintools/app/mirror_ldap.py:356
msgid "one non-structural entry in source LDAP."
msgid_plural "{no} non-structural entries in source LDAP."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:371 lib/pp_admintools/app/mirror_ldap.py:426
+#: lib/pp_admintools/app/mirror_ldap.py:364 lib/pp_admintools/app/mirror_ldap.py:418
msgid "Found structural DNs in instance {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:380
+#: lib/pp_admintools/app/mirror_ldap.py:372
msgid "Trying to get DNs of all entries in the target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:410
+#: lib/pp_admintools/app/mirror_ldap.py:402
msgid "Found total one entry in target LDAP"
msgid_plural "Found {no} entries in target LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:414
+#: lib/pp_admintools/app/mirror_ldap.py:406
msgid "one structural entry in target LDAP"
msgid_plural "{no} structural entries in target LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:418
+#: lib/pp_admintools/app/mirror_ldap.py:410
msgid "one non-structural entry in target LDAP."
msgid_plural "{no} non-structural entries in target LDAP."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:434
+#: lib/pp_admintools/app/mirror_ldap.py:425
msgid ""
"Evaluating DNs of all target entries, which have to be synchronized, instead of removing and "
"recreating them."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:492
+#: lib/pp_admintools/app/mirror_ldap.py:483
msgid "Removing non structural entries from target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:508 lib/pp_admintools/app/mirror_ldap.py:569
+#: lib/pp_admintools/app/mirror_ldap.py:499 lib/pp_admintools/app/mirror_ldap.py:560
msgid "Entry {!r} exists on the source instance, will not be removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:514
+#: lib/pp_admintools/app/mirror_ldap.py:505
msgid "Entry {!r} is a structural entry, will not be removed at this point."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:521 lib/pp_admintools/app/mirror_ldap.py:575
-#: lib/pp_admintools/app/mirror_ldap.py:622 lib/pp_admintools/app/mirror_ldap.py:726
-#: lib/pp_admintools/app/mirror_ldap.py:825
+#: lib/pp_admintools/app/mirror_ldap.py:512 lib/pp_admintools/app/mirror_ldap.py:566
+#: lib/pp_admintools/app/mirror_ldap.py:613 lib/pp_admintools/app/mirror_ldap.py:717
+#: lib/pp_admintools/app/mirror_ldap.py:816
msgid "Entry {!r} is set to be kept."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:533
+#: lib/pp_admintools/app/mirror_ldap.py:524
msgid "Removed one not structural entry in target LDAP instance."
msgid_plural "Removed {no} not structural entries in target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:538
+#: lib/pp_admintools/app/mirror_ldap.py:529
msgid "None not structural entries in target LDAP instance removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:552
+#: lib/pp_admintools/app/mirror_ldap.py:543
msgid "Removing structural entries from target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:580
+#: lib/pp_admintools/app/mirror_ldap.py:571
msgid "Entry {!r} is set to be synchronized."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:592
+#: lib/pp_admintools/app/mirror_ldap.py:583
msgid "Removed one structural entry in target LDAP instance."
msgid_plural "Removed {no} structural entries in target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:597
+#: lib/pp_admintools/app/mirror_ldap.py:588
msgid "None structural entries in target LDAP instance removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:605
+#: lib/pp_admintools/app/mirror_ldap.py:596
msgid "Mirroring structural entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:626 lib/pp_admintools/app/mirror_ldap.py:730
-#: lib/pp_admintools/app/mirror_ldap.py:831
+#: lib/pp_admintools/app/mirror_ldap.py:617 lib/pp_admintools/app/mirror_ldap.py:721
+#: lib/pp_admintools/app/mirror_ldap.py:822
msgid "Mirroring entry {!r} ..."
msgstr "Mirroring entry {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:630 lib/pp_admintools/app/mirror_ldap.py:734
-#: lib/pp_admintools/app/mirror_ldap.py:835
+#: lib/pp_admintools/app/mirror_ldap.py:621 lib/pp_admintools/app/mirror_ldap.py:725
+#: lib/pp_admintools/app/mirror_ldap.py:826
msgid "Did not found {!r} in the source LDAP."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:656 lib/pp_admintools/app/mirror_ldap.py:760
-#: lib/pp_admintools/app/mirror_ldap.py:857
+#: lib/pp_admintools/app/mirror_ldap.py:647 lib/pp_admintools/app/mirror_ldap.py:751
+#: lib/pp_admintools/app/mirror_ldap.py:848
msgid "Modifying entry {!r} ..."
msgstr "Modifying entry {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:657 lib/pp_admintools/app/mirror_ldap.py:761
-#: lib/pp_admintools/app/mirror_ldap.py:858
+#: lib/pp_admintools/app/mirror_ldap.py:648 lib/pp_admintools/app/mirror_ldap.py:752
+#: lib/pp_admintools/app/mirror_ldap.py:849
msgid "Got modify data for DN {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:668 lib/pp_admintools/app/mirror_ldap.py:772
-#: lib/pp_admintools/app/mirror_ldap.py:869
+#: lib/pp_admintools/app/mirror_ldap.py:659 lib/pp_admintools/app/mirror_ldap.py:763
+#: lib/pp_admintools/app/mirror_ldap.py:860
msgid "No changes necessary on DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:672 lib/pp_admintools/app/mirror_ldap.py:776
-#: lib/pp_admintools/app/mirror_ldap.py:845
+#: lib/pp_admintools/app/mirror_ldap.py:663 lib/pp_admintools/app/mirror_ldap.py:767
+#: lib/pp_admintools/app/mirror_ldap.py:836
msgid "Target entry {!r} not found."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:675 lib/pp_admintools/app/mirror_ldap.py:779
+#: lib/pp_admintools/app/mirror_ldap.py:666 lib/pp_admintools/app/mirror_ldap.py:770
msgid "Creating entry {!r} ..."
msgstr "Creating entry {!r} …"
-#: lib/pp_admintools/app/mirror_ldap.py:676 lib/pp_admintools/app/mirror_ldap.py:780
+#: lib/pp_admintools/app/mirror_ldap.py:667 lib/pp_admintools/app/mirror_ldap.py:771
msgid "Got create data for DN {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:693
+#: lib/pp_admintools/app/mirror_ldap.py:684
msgid "Mirrored one structural entry in target LDAP instance."
msgid_plural "Mirrored {no} structural entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:698
+#: lib/pp_admintools/app/mirror_ldap.py:689
msgid "Mirrored no structural entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:706
+#: lib/pp_admintools/app/mirror_ldap.py:697
msgid "Mirroring non-structural entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:797
+#: lib/pp_admintools/app/mirror_ldap.py:788
msgid "Mirrored one non-structural entry in target LDAP instance."
msgid_plural "Mirrored {no} non-structural entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:802
+#: lib/pp_admintools/app/mirror_ldap.py:793
msgid "Mirrored none not-structural entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:811
+#: lib/pp_admintools/app/mirror_ldap.py:802
msgid "Mirroring members in group entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:874
+#: lib/pp_admintools/app/mirror_ldap.py:865
msgid "Mirrored one group entry in target LDAP instance."
msgid_plural "Mirrored {no} group entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:879
+#: lib/pp_admintools/app/mirror_ldap.py:870
msgid "Mirrored no group entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:60
+#: lib/pp_admintools/app/mk_ldap_passwd.py:58
msgid "Encrypting the password with a defined password schema."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:102
+#: lib/pp_admintools/app/mk_ldap_passwd.py:99
msgid "The schema (hashing method) to use to hash the new password. Default: {default!r}."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+#: lib/pp_admintools/app/mk_ldap_passwd.py:104
msgid "TYPE"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:113
+#: lib/pp_admintools/app/mk_ldap_passwd.py:110
msgid "Like {}"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:118 lib/pp_admintools/app/set_ldap_password.py:207
+#: lib/pp_admintools/app/mk_ldap_passwd.py:115 lib/pp_admintools/app/set_ldap_password.py:207
msgid ""
"A possible salt to use on hashing the password. Caution: not all hashing schemes are supporting "
"a salt."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:125 lib/pp_admintools/app/set_ldap_password.py:214
+#: lib/pp_admintools/app/mk_ldap_passwd.py:122 lib/pp_admintools/app/set_ldap_password.py:214
msgid ""
"The number of calculation rounds to use on hashing the password. Caution: not all hashing "
"schemes are supporting calculation rounds."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:130
+#: lib/pp_admintools/app/mk_ldap_passwd.py:127
msgid ""
"The password to hash. If not given and no file desriptor was given, then the password will be "
"requested on TTY."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:181
+#: lib/pp_admintools/app/mk_ldap_passwd.py:175
msgid "Got no password by {}."
msgstr "Got no password by {}."
-#: lib/pp_admintools/app/mk_ldap_passwd.py:184
+#: lib/pp_admintools/app/mk_ldap_passwd.py:178
msgid "Password:"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:185 lib/pp_admintools/app/set_ldap_password.py:307
+#: lib/pp_admintools/app/mk_ldap_passwd.py:179 lib/pp_admintools/app/set_ldap_password.py:307
#: lib/pp_admintools/app/set_ldap_password.py:327
msgid "Repeat password:"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:199
+#: lib/pp_admintools/app/mk_ldap_passwd.py:193
msgid "Encrypting password with hashing schema '{schema}' ..."
msgstr "Encrypting password with hashing schema '{schema}' …"
-#: lib/pp_admintools/app/mk_ldap_passwd.py:206 lib/pp_admintools/app/set_ldap_password.py:481
+#: lib/pp_admintools/app/mk_ldap_passwd.py:200 lib/pp_admintools/app/set_ldap_password.py:481
msgid "Used schema: {!r}."
msgstr ""
msgid "PDNS instance {!r} is not configured."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:241
+#: lib/pp_admintools/app/pdns.py:239
msgid "PowerDNS API options"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:250
+#: lib/pp_admintools/app/pdns.py:248
msgid "Select, which PowerDNS instance to use. Valid values: {v}, default: {d!r}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:258 lib/pp_admintools/app/pdns.py:264
-#: lib/pp_admintools/app/pdns.py:270
+#: lib/pp_admintools/app/pdns.py:256 lib/pp_admintools/app/pdns.py:262
+#: lib/pp_admintools/app/pdns.py:268
msgid "Using the {!r} PowerDNS instance."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:278
+#: lib/pp_admintools/app/pdns.py:276
msgid "Which port to connect to PowerDNS API, default: {}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:282
+#: lib/pp_admintools/app/pdns.py:280
msgid "The timeout in seconds for the communication with the PowerDNS-API. Default: {} seconds."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:331
+#: lib/pp_admintools/app/pdns.py:329
msgid "No path given for{d} [{s}]/{k} in configuration."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:338
+#: lib/pp_admintools/app/pdns.py:336
msgid "Path {p!r} for{d} [{s}]/{k} in configuration must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:361 lib/pp_admintools/app/pdns.py:404
-#: lib/pp_admintools/app/pdns.py:431
+#: lib/pp_admintools/app/pdns.py:358 lib/pp_admintools/app/pdns.py:396
+#: lib/pp_admintools/app/pdns.py:421
msgid "Executing {} ..."
msgstr "Executing {} …"
-#: lib/pp_admintools/app/pdns.py:379
+#: lib/pp_admintools/app/pdns.py:376
msgid "Timeout of {t} seconds too big, at most {m} seconds are allowed."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:383
+#: lib/pp_admintools/app/pdns.py:380
msgid "A timeout may not be negative."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:406
+#: lib/pp_admintools/app/pdns.py:398
msgid "Setting Loglevel of the requests module to {}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:420
+#: lib/pp_admintools/app/pdns.py:411
msgid "Executing nothing ..."
msgstr "Executing nothing …"
-#: lib/pp_admintools/app/pdns.py:441 lib/pp_admintools/app/pdns.py:469
-#: lib/pp_admintools/app/pdns.py:480 lib/pp_admintools/app/pdns.py:490
+#: lib/pp_admintools/app/pdns.py:431 lib/pp_admintools/app/pdns.py:458
+#: lib/pp_admintools/app/pdns.py:469 lib/pp_admintools/app/pdns.py:479
msgid "The PDNS server object does not exists."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:443 lib/pp_admintools/app/pdns.py:471
-#: lib/pp_admintools/app/pdns.py:482 lib/pp_admintools/app/pdns.py:492
+#: lib/pp_admintools/app/pdns.py:433 lib/pp_admintools/app/pdns.py:460
+#: lib/pp_admintools/app/pdns.py:471 lib/pp_admintools/app/pdns.py:481
msgid "The PDNS server object is not initialized."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:448
+#: lib/pp_admintools/app/pdns.py:438
msgid "Got a {} during evaluating the PDNS server version from API:"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:500
+#: lib/pp_admintools/app/pdns.py:489
msgid "Trying to get complete information about zone {!r} ..."
msgstr "Trying to get complete information about zone {!r} …"
-#: lib/pp_admintools/app/pdns.py:506
+#: lib/pp_admintools/app/pdns.py:495
msgid "The given zone {} was not found."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:509
+#: lib/pp_admintools/app/pdns.py:498
msgid "Got a response:"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:514
+#: lib/pp_admintools/app/pdns.py:503
msgid "Zone object:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:70
+#: lib/pp_admintools/app/remove_ldap_user.py:74
msgid ""
"Disables or removes the given users from LDAP. If disabling, then the user will not be really "
"removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
"user will be really removed from LDAP."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:115
+#: lib/pp_admintools/app/remove_ldap_user.py:131
msgid "Removing options"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:118
+#: lib/pp_admintools/app/remove_ldap_user.py:134
msgid "This is the default."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:119
+#: lib/pp_admintools/app/remove_ldap_user.py:135
msgid "This is mutually exclusive to {!r}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:121
+#: lib/pp_admintools/app/remove_ldap_user.py:137
msgid "Deactivating the user instead of removing it."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:128
+#: lib/pp_admintools/app/remove_ldap_user.py:144
msgid "Removing the user from LDAP."
msgstr "Removing the user from LDAP."
-#: lib/pp_admintools/app/remove_ldap_user.py:136 lib/pp_admintools/app/set_ldap_password.py:200
+#: lib/pp_admintools/app/remove_ldap_user.py:151
+msgid "Don't remove all mail addresses of the users to remove from all mailing lists."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:159 lib/pp_admintools/app/set_ldap_password.py:200
#: lib/pp_admintools/app/set_ldap_password.py:203
msgid "USER"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:137
+#: lib/pp_admintools/app/remove_ldap_user.py:160
msgid ""
"The user, which should be deactivated or removed. They may be given by their Uid (the "
"alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
"different in the particular LDAP instances)."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:161
+#: lib/pp_admintools/app/remove_ldap_user.py:184
msgid "No users to remove given."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:177
+#: lib/pp_admintools/app/remove_ldap_user.py:203
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:218
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:197
+#: lib/pp_admintools/app/remove_ldap_user.py:223
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:214
+#: lib/pp_admintools/app/remove_ldap_user.py:240
msgid "All given users were not found in any LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:219
+#: lib/pp_admintools/app/remove_ldap_user.py:245
msgid "Evaluated DNs to remove:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:228
+#: lib/pp_admintools/app/remove_ldap_user.py:254
msgid "Start disabling user entries in:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:230
+#: lib/pp_admintools/app/remove_ldap_user.py:256
msgid "Start removing user entries in:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:260
msgid "Start disabling user entries ..."
msgstr "Start disabling user entries …"
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:262
msgid "Start removing user entries ..."
msgstr "Start removing user entries …"
-#: lib/pp_admintools/app/remove_ldap_user.py:251
+#: lib/pp_admintools/app/remove_ldap_user.py:277
msgid "Do you really want to deactivate the following users?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:253
+#: lib/pp_admintools/app/remove_ldap_user.py:279
msgid "Do you really want to remove the following users?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:279
+#: lib/pp_admintools/app/remove_ldap_user.py:305
msgid "Deactivate [{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:281
+#: lib/pp_admintools/app/remove_ldap_user.py:307
msgid "Remove [{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:289
+#: lib/pp_admintools/app/remove_ldap_user.py:315
msgid "Evaluating DNs of the user {!r} to remove ..."
msgstr "Evaluating DNs of the user {!r} to remove …"
-#: lib/pp_admintools/app/remove_ldap_user.py:303 lib/pp_admintools/app/set_ldap_password.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:329 lib/pp_admintools/app/set_ldap_password.py:434
msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:310 lib/pp_admintools/app/set_ldap_password.py:439
+#: lib/pp_admintools/app/remove_ldap_user.py:336 lib/pp_admintools/app/set_ldap_password.py:439
msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:322 lib/pp_admintools/app/set_ldap_password.py:453
+#: lib/pp_admintools/app/remove_ldap_user.py:348 lib/pp_admintools/app/set_ldap_password.py:453
msgid "Did not found user {user!r} in LDAP instance {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:331
+#: lib/pp_admintools/app/remove_ldap_user.py:357
msgid "Deactivating all given users from {} ..."
msgstr "Deactivating all given users from {} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:359
msgid "Removing all given users from {} ..."
msgstr "Removing all given users from {} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:348
+#: lib/pp_admintools/app/remove_ldap_user.py:374
msgid "Deactivating user {dn!r} from {inst} ..."
msgstr "Deactivating user {dn!r} from {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:351
+#: lib/pp_admintools/app/remove_ldap_user.py:377
msgid "Removing user {dn!r} from {inst} ..."
msgstr "Removing user {dn!r} from {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:357
+#: lib/pp_admintools/app/remove_ldap_user.py:383
msgid "Attributes of {!r}:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:378
+#: lib/pp_admintools/app/remove_ldap_user.py:407
msgid "{c} on removing user {dn!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:384
+#: lib/pp_admintools/app/remove_ldap_user.py:413
msgid "User {dn!r} successful deactivated on {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:387
+#: lib/pp_admintools/app/remove_ldap_user.py:416
msgid "User {dn!r} successful removed from {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:413
+#: lib/pp_admintools/app/remove_ldap_user.py:442
msgid "Updating user info for {dn!r} on {inst} ..."
msgstr "Updating user info for {dn!r} on {inst} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:418 lib/pp_admintools/app/set_ldap_password.py:519
+#: lib/pp_admintools/app/remove_ldap_user.py:447 lib/pp_admintools/app/set_ldap_password.py:519
msgid "{c} on deactivating user {dn!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:463
msgid "Did not found any group memberships of {dn!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:440 lib/pp_admintools/app/remove_ldap_user.py:467
-#: lib/pp_admintools/app/remove_ldap_user.py:498 lib/pp_admintools/app/remove_ldap_user.py:529
+#: 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
msgid "Removing user {u!r} from group {g!r} ..."
msgstr "Removing user {u!r} from group {g!r} …"
-#: lib/pp_admintools/app/remove_ldap_user.py:445 lib/pp_admintools/app/remove_ldap_user.py:472
-#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:501
+#: lib/pp_admintools/app/remove_ldap_user.py:532 lib/pp_admintools/app/remove_ldap_user.py:563
msgid "{c} on removing user {dn!r} from group {g!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:461
+#: lib/pp_admintools/app/remove_ldap_user.py:490
msgid "Did not found any unique group memberships of {dn!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:485
+#: lib/pp_admintools/app/remove_ldap_user.py:514
msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:492
+#: lib/pp_admintools/app/remove_ldap_user.py:521
msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:516
+#: lib/pp_admintools/app/remove_ldap_user.py:545
msgid "Deleting user {uid!r} from all sudo groups in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:523
+#: lib/pp_admintools/app/remove_ldap_user.py:552
msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
msgstr ""
+#: lib/pp_admintools/app/remove_ldap_user.py:587
+msgid "No mail addresses found to remove for user {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:591
+msgid "Trying to remove the following mail addresses from mailing lists:"
+msgstr ""
+
#: lib/pp_admintools/app/set_ldap_password.py:90
msgid ""
"Changing the password of the given user. If no user was given, then {app} tries to use the name "
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pp_admintools 0.8.8\n"
+"Project-Id-Version: pp_admintools 0.9.0\n"
"Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2023-05-31 10:50+0200\n"
+"POT-Creation-Date: 2023-06-12 11:53+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"
msgstr ""
#: lib/pp_admintools/app/barracuda_sync.py:149 lib/pp_admintools/app/ldap.py:438
-#: lib/pp_admintools/app/mirror_ldap.py:123 lib/pp_admintools/app/pdns.py:286
+#: lib/pp_admintools/app/mirror_ldap.py:118 lib/pp_admintools/app/pdns.py:284
msgid "SECONDS"
msgstr ""
msgid "Get all necessary data from LDAP and static virtual aliases table ..."
msgstr ""
-#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:317
+#: lib/pp_admintools/app/barracuda_sync.py:972 lib/pp_admintools/app/mirror_ldap.py:311
msgid "Finished."
msgstr ""
msgid "Start checking all DN-like attributes in in LDAP instance {inst!r} ({url}) ..."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:155
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:154
msgid "Found one entry to check."
msgid_plural "Found {} entries to check."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:159
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:158
msgid "Found no to check."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:179
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:178
msgid "Got an inconsistent entry."
msgid_plural "Got {} inconsistent entries."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:182
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:181
msgid "There is one inconsistent attribute."
msgid_plural "There are {} inconsistent attributes."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:187
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:186
msgid "Writing export file {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:194
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:193
msgid "Did not found any inconsistent entries."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:215
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:214
msgid "Checking DN-like attributes of entry {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/check_ldap_dn_attributes.py:220
+#: lib/pp_admintools/app/check_ldap_dn_attributes.py:219
msgid "Got attributes:"
msgstr ""
msgid "Generation of the BIND9 configuration file for slave zones."
msgstr ""
-#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:89
+#: lib/pp_admintools/app/dns_deploy_zones.py:250 lib/pp_admintools/app/mk_ldap_passwd.py:86
#: lib/pp_admintools/app/set_ldap_password.py:124
msgid "Options for {}"
msgstr ""
#: lib/pp_admintools/app/dns_deploy_zones.py:428 lib/pp_admintools/app/dns_deploy_zones.py:782
#: lib/pp_admintools/app/dns_deploy_zones.py:818 lib/pp_admintools/app/dns_deploy_zones.py:850
#: lib/pp_admintools/app/dns_deploy_zones.py:885 lib/pp_admintools/app/dns_deploy_zones.py:920
-#: lib/pp_admintools/app/mail.py:328
+#: lib/pp_admintools/app/mail.py:317
msgid "Executing: {}"
msgstr ""
msgid "Reloading {} ..."
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:58
+#: lib/pp_admintools/app/duplicate_attribs.py:61
msgid "Evaluating all LDAP entries, which are using duplicate attributes, which should be unique."
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:71
+#: lib/pp_admintools/app/duplicate_attribs.py:74
msgid "Evaluation options"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:74 lib/pp_admintools/app/duplicate_attribs.py:82
+#: lib/pp_admintools/app/duplicate_attribs.py:77 lib/pp_admintools/app/duplicate_attribs.py:85
msgid "ATTRIBUTE"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:75
+#: lib/pp_admintools/app/duplicate_attribs.py:78
msgid ""
"All attribute types, which should be unique over the complete LDAP tree. Per default the "
"following attribute types should be unique:"
msgstr ""
-#: lib/pp_admintools/app/duplicate_attribs.py:83
+#: lib/pp_admintools/app/duplicate_attribs.py:86
msgid ""
"All attribute types, where their uniqueness depends on an additional LDAP filter. For instance, "
"the attribute 'gidNumber' should be unique for all entries, which are using the objectClass "
msgid "Options fo LDAP connections"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:244
-#: lib/pp_admintools/app/remove_ldap_user.py:283 lib/pp_admintools/app/set_ldap_password.py:492
+#: lib/pp_admintools/app/ldap.py:335 lib/pp_admintools/app/mirror_ldap.py:238
+#: lib/pp_admintools/app/remove_ldap_user.py:309 lib/pp_admintools/app/set_ldap_password.py:492
msgid "No"
msgstr ""
msgid "Use ldaps to connect to the LDAP server. Default: {}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:356 lib/pp_admintools/app/mail.py:261
-#: lib/pp_admintools/app/pdns.py:275
+#: lib/pp_admintools/app/ldap.py:356 lib/pp_admintools/app/mail.py:250
+#: lib/pp_admintools/app/pdns.py:273
msgid "PORT"
msgstr ""
msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/ldap.py:379 lib/pp_admintools/app/mk_ldap_passwd.py:134
+#: lib/pp_admintools/app/ldap.py:379 lib/pp_admintools/app/mk_ldap_passwd.py:131
#: lib/pp_admintools/app/set_ldap_password.py:130 lib/pp_admintools/app/set_ldap_password.py:131
#: lib/pp_admintools/app/set_ldap_password.py:148 lib/pp_admintools/app/set_ldap_password.py:151
msgid "PASSWORD"
msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:401 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:401 lib/pp_admintools/app/pdns.py:247
msgid "INSTANCE"
msgstr ""
msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
msgstr ""
-#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:293
+#: lib/pp_admintools/app/ldap.py:958 lib/pp_admintools/app/remove_ldap_user.py:319
msgid "Empty user given."
msgstr ""
msgstr ""
#: lib/pp_admintools/app/ldap.py:1312 lib/pp_admintools/app/ldap.py:1331
-#: lib/pp_admintools/app/remove_ldap_user.py:420 lib/pp_admintools/app/remove_ldap_user.py:447
-#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:505
-#: lib/pp_admintools/app/remove_ldap_user.py:536 lib/pp_admintools/app/set_ldap_password.py:521
+#: lib/pp_admintools/app/remove_ldap_user.py:449 lib/pp_admintools/app/remove_ldap_user.py:476
+#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:565 lib/pp_admintools/app/set_ldap_password.py:521
msgid "Changes:"
msgstr ""
msgid "Values to removed from attribute {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:103
+#: lib/pp_admintools/app/mail.py:95
msgid "Got invalid SMTP port number {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:121
+#: lib/pp_admintools/app/mail.py:113
msgid "Got invalid mail from address {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:144
+#: lib/pp_admintools/app/mail.py:136
msgid "Got invalid recipient mail addresses:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:172
+#: lib/pp_admintools/app/mail.py:164
msgid "Got invalid cc mail addresses:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:187
+#: lib/pp_admintools/app/mail.py:179
msgid "Got invalid reply mail address {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:201
+#: lib/pp_admintools/app/mail.py:190
msgid "Mailing options"
msgstr ""
-#: lib/pp_admintools/app/mail.py:216 lib/pp_admintools/app/mail.py:224
-#: lib/pp_admintools/app/mail.py:230 lib/pp_admintools/app/mail.py:236
+#: lib/pp_admintools/app/mail.py:205 lib/pp_admintools/app/mail.py:213
+#: lib/pp_admintools/app/mail.py:219 lib/pp_admintools/app/mail.py:225
msgid "ADDRESS"
msgstr ""
-#: lib/pp_admintools/app/mail.py:217
+#: lib/pp_admintools/app/mail.py:206
msgid "Sender mail address for mails generated by this script. Default: {!r}"
msgstr ""
-#: lib/pp_admintools/app/mail.py:225
+#: lib/pp_admintools/app/mail.py:214
msgid "Mail addresses of all recipients for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:231
+#: lib/pp_admintools/app/mail.py:220
msgid "Mail addresses of all CC recipients for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:237
+#: lib/pp_admintools/app/mail.py:226
msgid "Reply mail address for mails generated by this script."
msgstr ""
-#: lib/pp_admintools/app/mail.py:244
+#: lib/pp_admintools/app/mail.py:233
msgid "METHOD"
msgstr ""
-#: lib/pp_admintools/app/mail.py:245
+#: lib/pp_admintools/app/mail.py:234
msgid "Method for sending the mails generated by this script. Valid values: {v}, default: {d!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:253
+#: lib/pp_admintools/app/mail.py:242
msgid "SERVER"
msgstr ""
-#: lib/pp_admintools/app/mail.py:254
+#: lib/pp_admintools/app/mail.py:243
msgid ""
"Mail server for submitting generated by this script if the mail method of this script is 'smtp'."
" Default: {!r}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:263
+#: lib/pp_admintools/app/mail.py:252
msgid ""
"The port to use for submitting generated by this script if the mail method of this script is "
"'smtp'. Default: {}."
msgstr ""
-#: lib/pp_admintools/app/mail.py:272
+#: lib/pp_admintools/app/mail.py:261
msgid "Got command line arguments:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:289
+#: lib/pp_admintools/app/mail.py:278
msgid "Mail to send:"
msgstr ""
-#: lib/pp_admintools/app/mail.py:322
+#: lib/pp_admintools/app/mail.py:311
msgid "Did not found sendmail executable."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:101
+#: lib/pp_admintools/app/mirror_ldap.py:96
msgid ""
"Mirror the content of a complete LDAP instance (server or cluster) to another instance. This "
"will be done first by clearing the target instance, then copying structural entries from the "
"values."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:109
+#: lib/pp_admintools/app/mirror_ldap.py:104
msgid "Do not execute a countdown before starting the application."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:120
+#: lib/pp_admintools/app/mirror_ldap.py:115
msgid "Miroring options"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:125
+#: lib/pp_admintools/app/mirror_ldap.py:120
msgid ""
"Number of seconds to wait after each write operation. Given as a float value, and if set to "
"zero, there is no waiting after a write. (default: {:.1f})"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:132 lib/pp_admintools/app/mk_ldap_passwd.py:124
+#: lib/pp_admintools/app/mirror_ldap.py:127 lib/pp_admintools/app/mk_ldap_passwd.py:121
msgid "NUMBER"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:134
+#: lib/pp_admintools/app/mirror_ldap.py:129
msgid "Limiting the mirroring to the first NUMBER entries. This option is valid only in simulation mode."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:141
+#: lib/pp_admintools/app/mirror_ldap.py:136
msgid "Mirror only structural entries (entries with childs)."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:163
+#: lib/pp_admintools/app/mirror_ldap.py:157
msgid "Limiting the number of entries for mirroring to {} entries."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:167
+#: lib/pp_admintools/app/mirror_ldap.py:161
msgid "Limition the number of entries for mirroring may only be done in simulation mode."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:184
+#: lib/pp_admintools/app/mirror_ldap.py:178
msgid "Did not found {tgt!r} in {e}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:196
+#: lib/pp_admintools/app/mirror_ldap.py:190
msgid "Checking mirror source instance for target instance {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:200
+#: lib/pp_admintools/app/mirror_ldap.py:194
msgid "Got {!r} as the mirror source instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:203 lib/pp_admintools/app/mirror_ldap.py:212
-#: lib/pp_admintools/app/mirror_ldap.py:223
+#: lib/pp_admintools/app/mirror_ldap.py:197 lib/pp_admintools/app/mirror_ldap.py:206
+#: lib/pp_admintools/app/mirror_ldap.py:217
msgid "Error in configuration:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:204
+#: lib/pp_admintools/app/mirror_ldap.py:198
msgid "the source LDAP instance {src!r} for mirroring to {tgt!r} does not exists."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:213
+#: lib/pp_admintools/app/mirror_ldap.py:207
msgid "the source LDAP instance {src!r} must not be the same like the target instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:224
+#: lib/pp_admintools/app/mirror_ldap.py:218
msgid ""
"the base DN {src_dn!r} of the source instance {src!r} does not match the base DN {tgt_dn!r} of "
"the target instance {tgt!r}."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:240
+#: lib/pp_admintools/app/mirror_ldap.py:234
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) [{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/remove_ldap_user.py:283
+#: lib/pp_admintools/app/mirror_ldap.py:238 lib/pp_admintools/app/remove_ldap_user.py:309
#: lib/pp_admintools/app/set_ldap_password.py:492
msgid "yes"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:250 lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:244 lib/pp_admintools/app/mirror_ldap.py:306
msgid "Interrupted on demand."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:255
+#: lib/pp_admintools/app/mirror_ldap.py:249
msgid "Start mirroring LDAP instance {src!r} ({src_url}) to instance {tgt!r} ({tgt_url}) ..."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:294
+#: lib/pp_admintools/app/mirror_ldap.py:270 lib/pp_admintools/app/mirror_ldap.py:288
msgid "{:>5} entry deleted."
msgid_plural "{:>5} entries deleted."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:279 lib/pp_admintools/app/mirror_ldap.py:299
+#: lib/pp_admintools/app/mirror_ldap.py:273 lib/pp_admintools/app/mirror_ldap.py:293
msgid "{:>5} entry updated."
msgid_plural "{:>5} entries updated."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:282 lib/pp_admintools/app/mirror_ldap.py:304
+#: lib/pp_admintools/app/mirror_ldap.py:276 lib/pp_admintools/app/mirror_ldap.py:298
msgid "{:>5} entry created."
msgid_plural "{:>5} entries created."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:289
+#: lib/pp_admintools/app/mirror_ldap.py:283
msgid "Changes total:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:312
+#: lib/pp_admintools/app/mirror_ldap.py:306
msgid "Got a {}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:325
+#: lib/pp_admintools/app/mirror_ldap.py:318
msgid "Trying to get DNs of all entries in the source LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:338 lib/pp_admintools/app/mirror_ldap.py:393
+#: lib/pp_admintools/app/mirror_ldap.py:331 lib/pp_admintools/app/mirror_ldap.py:385
msgid "Found DNs in instance {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:355
+#: lib/pp_admintools/app/mirror_ldap.py:348
msgid "Found total one entry in source LDAP"
msgid_plural "Found {no} entries in source LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:359
+#: lib/pp_admintools/app/mirror_ldap.py:352
msgid "one structural entry in source LDAP"
msgid_plural "{no} structural entries in source LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:363
+#: lib/pp_admintools/app/mirror_ldap.py:356
msgid "one non-structural entry in source LDAP."
msgid_plural "{no} non-structural entries in source LDAP."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:371 lib/pp_admintools/app/mirror_ldap.py:426
+#: lib/pp_admintools/app/mirror_ldap.py:364 lib/pp_admintools/app/mirror_ldap.py:418
msgid "Found structural DNs in instance {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:380
+#: lib/pp_admintools/app/mirror_ldap.py:372
msgid "Trying to get DNs of all entries in the target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:410
+#: lib/pp_admintools/app/mirror_ldap.py:402
msgid "Found total one entry in target LDAP"
msgid_plural "Found {no} entries in target LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:414
+#: lib/pp_admintools/app/mirror_ldap.py:406
msgid "one structural entry in target LDAP"
msgid_plural "{no} structural entries in target LDAP"
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:418
+#: lib/pp_admintools/app/mirror_ldap.py:410
msgid "one non-structural entry in target LDAP."
msgid_plural "{no} non-structural entries in target LDAP."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:434
+#: lib/pp_admintools/app/mirror_ldap.py:425
msgid ""
"Evaluating DNs of all target entries, which have to be synchronized, instead of removing and "
"recreating them."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:492
+#: lib/pp_admintools/app/mirror_ldap.py:483
msgid "Removing non structural entries from target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:508 lib/pp_admintools/app/mirror_ldap.py:569
+#: lib/pp_admintools/app/mirror_ldap.py:499 lib/pp_admintools/app/mirror_ldap.py:560
msgid "Entry {!r} exists on the source instance, will not be removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:514
+#: lib/pp_admintools/app/mirror_ldap.py:505
msgid "Entry {!r} is a structural entry, will not be removed at this point."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:521 lib/pp_admintools/app/mirror_ldap.py:575
-#: lib/pp_admintools/app/mirror_ldap.py:622 lib/pp_admintools/app/mirror_ldap.py:726
-#: lib/pp_admintools/app/mirror_ldap.py:825
+#: lib/pp_admintools/app/mirror_ldap.py:512 lib/pp_admintools/app/mirror_ldap.py:566
+#: lib/pp_admintools/app/mirror_ldap.py:613 lib/pp_admintools/app/mirror_ldap.py:717
+#: lib/pp_admintools/app/mirror_ldap.py:816
msgid "Entry {!r} is set to be kept."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:533
+#: lib/pp_admintools/app/mirror_ldap.py:524
msgid "Removed one not structural entry in target LDAP instance."
msgid_plural "Removed {no} not structural entries in target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:538
+#: lib/pp_admintools/app/mirror_ldap.py:529
msgid "None not structural entries in target LDAP instance removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:552
+#: lib/pp_admintools/app/mirror_ldap.py:543
msgid "Removing structural entries from target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:580
+#: lib/pp_admintools/app/mirror_ldap.py:571
msgid "Entry {!r} is set to be synchronized."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:592
+#: lib/pp_admintools/app/mirror_ldap.py:583
msgid "Removed one structural entry in target LDAP instance."
msgid_plural "Removed {no} structural entries in target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:597
+#: lib/pp_admintools/app/mirror_ldap.py:588
msgid "None structural entries in target LDAP instance removed."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:605
+#: lib/pp_admintools/app/mirror_ldap.py:596
msgid "Mirroring structural entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:626 lib/pp_admintools/app/mirror_ldap.py:730
-#: lib/pp_admintools/app/mirror_ldap.py:831
+#: lib/pp_admintools/app/mirror_ldap.py:617 lib/pp_admintools/app/mirror_ldap.py:721
+#: lib/pp_admintools/app/mirror_ldap.py:822
msgid "Mirroring entry {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:630 lib/pp_admintools/app/mirror_ldap.py:734
-#: lib/pp_admintools/app/mirror_ldap.py:835
+#: lib/pp_admintools/app/mirror_ldap.py:621 lib/pp_admintools/app/mirror_ldap.py:725
+#: lib/pp_admintools/app/mirror_ldap.py:826
msgid "Did not found {!r} in the source LDAP."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:656 lib/pp_admintools/app/mirror_ldap.py:760
-#: lib/pp_admintools/app/mirror_ldap.py:857
+#: lib/pp_admintools/app/mirror_ldap.py:647 lib/pp_admintools/app/mirror_ldap.py:751
+#: lib/pp_admintools/app/mirror_ldap.py:848
msgid "Modifying entry {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:657 lib/pp_admintools/app/mirror_ldap.py:761
-#: lib/pp_admintools/app/mirror_ldap.py:858
+#: lib/pp_admintools/app/mirror_ldap.py:648 lib/pp_admintools/app/mirror_ldap.py:752
+#: lib/pp_admintools/app/mirror_ldap.py:849
msgid "Got modify data for DN {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:668 lib/pp_admintools/app/mirror_ldap.py:772
-#: lib/pp_admintools/app/mirror_ldap.py:869
+#: lib/pp_admintools/app/mirror_ldap.py:659 lib/pp_admintools/app/mirror_ldap.py:763
+#: lib/pp_admintools/app/mirror_ldap.py:860
msgid "No changes necessary on DN {!r}."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:672 lib/pp_admintools/app/mirror_ldap.py:776
-#: lib/pp_admintools/app/mirror_ldap.py:845
+#: lib/pp_admintools/app/mirror_ldap.py:663 lib/pp_admintools/app/mirror_ldap.py:767
+#: lib/pp_admintools/app/mirror_ldap.py:836
msgid "Target entry {!r} not found."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:675 lib/pp_admintools/app/mirror_ldap.py:779
+#: lib/pp_admintools/app/mirror_ldap.py:666 lib/pp_admintools/app/mirror_ldap.py:770
msgid "Creating entry {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:676 lib/pp_admintools/app/mirror_ldap.py:780
+#: lib/pp_admintools/app/mirror_ldap.py:667 lib/pp_admintools/app/mirror_ldap.py:771
msgid "Got create data for DN {!r}:"
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:693
+#: lib/pp_admintools/app/mirror_ldap.py:684
msgid "Mirrored one structural entry in target LDAP instance."
msgid_plural "Mirrored {no} structural entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:698
+#: lib/pp_admintools/app/mirror_ldap.py:689
msgid "Mirrored no structural entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:706
+#: lib/pp_admintools/app/mirror_ldap.py:697
msgid "Mirroring non-structural entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:797
+#: lib/pp_admintools/app/mirror_ldap.py:788
msgid "Mirrored one non-structural entry in target LDAP instance."
msgid_plural "Mirrored {no} non-structural entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:802
+#: lib/pp_admintools/app/mirror_ldap.py:793
msgid "Mirrored none not-structural entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:811
+#: lib/pp_admintools/app/mirror_ldap.py:802
msgid "Mirroring members in group entries from source to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mirror_ldap.py:874
+#: lib/pp_admintools/app/mirror_ldap.py:865
msgid "Mirrored one group entry in target LDAP instance."
msgid_plural "Mirrored {no} group entries to target LDAP instance."
msgstr[0] ""
msgstr[1] ""
-#: lib/pp_admintools/app/mirror_ldap.py:879
+#: lib/pp_admintools/app/mirror_ldap.py:870
msgid "Mirrored no group entries to target LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:60
+#: lib/pp_admintools/app/mk_ldap_passwd.py:58
msgid "Encrypting the password with a defined password schema."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:102
+#: lib/pp_admintools/app/mk_ldap_passwd.py:99
msgid "The schema (hashing method) to use to hash the new password. Default: {default!r}."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:107
+#: lib/pp_admintools/app/mk_ldap_passwd.py:104
msgid "TYPE"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:113
+#: lib/pp_admintools/app/mk_ldap_passwd.py:110
msgid "Like {}"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:118 lib/pp_admintools/app/set_ldap_password.py:207
+#: lib/pp_admintools/app/mk_ldap_passwd.py:115 lib/pp_admintools/app/set_ldap_password.py:207
msgid ""
"A possible salt to use on hashing the password. Caution: not all hashing schemes are supporting "
"a salt."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:125 lib/pp_admintools/app/set_ldap_password.py:214
+#: lib/pp_admintools/app/mk_ldap_passwd.py:122 lib/pp_admintools/app/set_ldap_password.py:214
msgid ""
"The number of calculation rounds to use on hashing the password. Caution: not all hashing "
"schemes are supporting calculation rounds."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:130
+#: lib/pp_admintools/app/mk_ldap_passwd.py:127
msgid ""
"The password to hash. If not given and no file desriptor was given, then the password will be "
"requested on TTY."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:181
+#: lib/pp_admintools/app/mk_ldap_passwd.py:175
msgid "Got no password by {}."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:184
+#: lib/pp_admintools/app/mk_ldap_passwd.py:178
msgid "Password:"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:185 lib/pp_admintools/app/set_ldap_password.py:307
+#: lib/pp_admintools/app/mk_ldap_passwd.py:179 lib/pp_admintools/app/set_ldap_password.py:307
#: lib/pp_admintools/app/set_ldap_password.py:327
msgid "Repeat password:"
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:199
+#: lib/pp_admintools/app/mk_ldap_passwd.py:193
msgid "Encrypting password with hashing schema '{schema}' ..."
msgstr ""
-#: lib/pp_admintools/app/mk_ldap_passwd.py:206 lib/pp_admintools/app/set_ldap_password.py:481
+#: lib/pp_admintools/app/mk_ldap_passwd.py:200 lib/pp_admintools/app/set_ldap_password.py:481
msgid "Used schema: {!r}."
msgstr ""
msgid "PDNS instance {!r} is not configured."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:241
+#: lib/pp_admintools/app/pdns.py:239
msgid "PowerDNS API options"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:250
+#: lib/pp_admintools/app/pdns.py:248
msgid "Select, which PowerDNS instance to use. Valid values: {v}, default: {d!r}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:258 lib/pp_admintools/app/pdns.py:264
-#: lib/pp_admintools/app/pdns.py:270
+#: lib/pp_admintools/app/pdns.py:256 lib/pp_admintools/app/pdns.py:262
+#: lib/pp_admintools/app/pdns.py:268
msgid "Using the {!r} PowerDNS instance."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:278
+#: lib/pp_admintools/app/pdns.py:276
msgid "Which port to connect to PowerDNS API, default: {}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:282
+#: lib/pp_admintools/app/pdns.py:280
msgid "The timeout in seconds for the communication with the PowerDNS-API. Default: {} seconds."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:331
+#: lib/pp_admintools/app/pdns.py:329
msgid "No path given for{d} [{s}]/{k} in configuration."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:338
+#: lib/pp_admintools/app/pdns.py:336
msgid "Path {p!r} for{d} [{s}]/{k} in configuration must be an absolute path."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:361 lib/pp_admintools/app/pdns.py:404
-#: lib/pp_admintools/app/pdns.py:431
+#: lib/pp_admintools/app/pdns.py:358 lib/pp_admintools/app/pdns.py:396
+#: lib/pp_admintools/app/pdns.py:421
msgid "Executing {} ..."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:379
+#: lib/pp_admintools/app/pdns.py:376
msgid "Timeout of {t} seconds too big, at most {m} seconds are allowed."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:383
+#: lib/pp_admintools/app/pdns.py:380
msgid "A timeout may not be negative."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:406
+#: lib/pp_admintools/app/pdns.py:398
msgid "Setting Loglevel of the requests module to {}."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:420
+#: lib/pp_admintools/app/pdns.py:411
msgid "Executing nothing ..."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:441 lib/pp_admintools/app/pdns.py:469
-#: lib/pp_admintools/app/pdns.py:480 lib/pp_admintools/app/pdns.py:490
+#: lib/pp_admintools/app/pdns.py:431 lib/pp_admintools/app/pdns.py:458
+#: lib/pp_admintools/app/pdns.py:469 lib/pp_admintools/app/pdns.py:479
msgid "The PDNS server object does not exists."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:443 lib/pp_admintools/app/pdns.py:471
-#: lib/pp_admintools/app/pdns.py:482 lib/pp_admintools/app/pdns.py:492
+#: lib/pp_admintools/app/pdns.py:433 lib/pp_admintools/app/pdns.py:460
+#: lib/pp_admintools/app/pdns.py:471 lib/pp_admintools/app/pdns.py:481
msgid "The PDNS server object is not initialized."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:448
+#: lib/pp_admintools/app/pdns.py:438
msgid "Got a {} during evaluating the PDNS server version from API:"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:500
+#: lib/pp_admintools/app/pdns.py:489
msgid "Trying to get complete information about zone {!r} ..."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:506
+#: lib/pp_admintools/app/pdns.py:495
msgid "The given zone {} was not found."
msgstr ""
-#: lib/pp_admintools/app/pdns.py:509
+#: lib/pp_admintools/app/pdns.py:498
msgid "Got a response:"
msgstr ""
-#: lib/pp_admintools/app/pdns.py:514
+#: lib/pp_admintools/app/pdns.py:503
msgid "Zone object:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:70
+#: lib/pp_admintools/app/remove_ldap_user.py:74
msgid ""
"Disables or removes the given users from LDAP. If disabling, then the user will not be really "
"removed, but disabled by locking the password, setting all status flags to {inact!r}, assigning "
"user will be really removed from LDAP."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:115
+#: lib/pp_admintools/app/remove_ldap_user.py:131
msgid "Removing options"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:118
+#: lib/pp_admintools/app/remove_ldap_user.py:134
msgid "This is the default."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:119
+#: lib/pp_admintools/app/remove_ldap_user.py:135
msgid "This is mutually exclusive to {!r}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:121
+#: lib/pp_admintools/app/remove_ldap_user.py:137
msgid "Deactivating the user instead of removing it."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:128
+#: lib/pp_admintools/app/remove_ldap_user.py:144
msgid "Removing the user from LDAP."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:136 lib/pp_admintools/app/set_ldap_password.py:200
+#: lib/pp_admintools/app/remove_ldap_user.py:151
+msgid "Don't remove all mail addresses of the users to remove from all mailing lists."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:159 lib/pp_admintools/app/set_ldap_password.py:200
#: lib/pp_admintools/app/set_ldap_password.py:203
msgid "USER"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:137
+#: lib/pp_admintools/app/remove_ldap_user.py:160
msgid ""
"The user, which should be deactivated or removed. They may be given by their Uid (the "
"alphanumeric POSIX name), their mail address or their LDAP DN (be aware, that this may be "
"different in the particular LDAP instances)."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:161
+#: lib/pp_admintools/app/remove_ldap_user.py:184
msgid "No users to remove given."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:177
+#: lib/pp_admintools/app/remove_ldap_user.py:203
msgid "Checking given instances for admin and read/write access."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:184
+#: lib/pp_admintools/app/remove_ldap_user.py:210
msgid "LDAP instance {!r} not found in configuration."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:192
+#: lib/pp_admintools/app/remove_ldap_user.py:218
msgid "LDAP instance {!r} has only readonly access."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:197
+#: lib/pp_admintools/app/remove_ldap_user.py:223
msgid "No admin access to LDAP instance {!r}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:214
+#: lib/pp_admintools/app/remove_ldap_user.py:240
msgid "All given users were not found in any LDAP instance."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:219
+#: lib/pp_admintools/app/remove_ldap_user.py:245
msgid "Evaluated DNs to remove:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:228
+#: lib/pp_admintools/app/remove_ldap_user.py:254
msgid "Start disabling user entries in:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:230
+#: lib/pp_admintools/app/remove_ldap_user.py:256
msgid "Start removing user entries in:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:234
+#: lib/pp_admintools/app/remove_ldap_user.py:260
msgid "Start disabling user entries ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:236
+#: lib/pp_admintools/app/remove_ldap_user.py:262
msgid "Start removing user entries ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:251
+#: lib/pp_admintools/app/remove_ldap_user.py:277
msgid "Do you really want to deactivate the following users?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:253
+#: lib/pp_admintools/app/remove_ldap_user.py:279
msgid "Do you really want to remove the following users?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:279
+#: lib/pp_admintools/app/remove_ldap_user.py:305
msgid "Deactivate [{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:281
+#: lib/pp_admintools/app/remove_ldap_user.py:307
msgid "Remove [{yes}/{no}]?"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:289
+#: lib/pp_admintools/app/remove_ldap_user.py:315
msgid "Evaluating DNs of the user {!r} to remove ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:303 lib/pp_admintools/app/set_ldap_password.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:329 lib/pp_admintools/app/set_ldap_password.py:434
msgid "Got DN {dn!r} for user {user!r} in LDAP instance {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:310 lib/pp_admintools/app/set_ldap_password.py:439
+#: lib/pp_admintools/app/remove_ldap_user.py:336 lib/pp_admintools/app/set_ldap_password.py:439
msgid "Found {nr} entries for user {u!r} in LDAP instance {i}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:322 lib/pp_admintools/app/set_ldap_password.py:453
+#: lib/pp_admintools/app/remove_ldap_user.py:348 lib/pp_admintools/app/set_ldap_password.py:453
msgid "Did not found user {user!r} in LDAP instance {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:331
+#: lib/pp_admintools/app/remove_ldap_user.py:357
msgid "Deactivating all given users from {} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:333
+#: lib/pp_admintools/app/remove_ldap_user.py:359
msgid "Removing all given users from {} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:348
+#: lib/pp_admintools/app/remove_ldap_user.py:374
msgid "Deactivating user {dn!r} from {inst} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:351
+#: lib/pp_admintools/app/remove_ldap_user.py:377
msgid "Removing user {dn!r} from {inst} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:357
+#: lib/pp_admintools/app/remove_ldap_user.py:383
msgid "Attributes of {!r}:"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:378
+#: lib/pp_admintools/app/remove_ldap_user.py:407
msgid "{c} on removing user {dn!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:384
+#: lib/pp_admintools/app/remove_ldap_user.py:413
msgid "User {dn!r} successful deactivated on {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:387
+#: lib/pp_admintools/app/remove_ldap_user.py:416
msgid "User {dn!r} successful removed from {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:413
+#: lib/pp_admintools/app/remove_ldap_user.py:442
msgid "Updating user info for {dn!r} on {inst} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:418 lib/pp_admintools/app/set_ldap_password.py:519
+#: lib/pp_admintools/app/remove_ldap_user.py:447 lib/pp_admintools/app/set_ldap_password.py:519
msgid "{c} on deactivating user {dn!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:463
msgid "Did not found any group memberships of {dn!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:440 lib/pp_admintools/app/remove_ldap_user.py:467
-#: lib/pp_admintools/app/remove_ldap_user.py:498 lib/pp_admintools/app/remove_ldap_user.py:529
+#: 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
msgid "Removing user {u!r} from group {g!r} ..."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:445 lib/pp_admintools/app/remove_ldap_user.py:472
-#: lib/pp_admintools/app/remove_ldap_user.py:503 lib/pp_admintools/app/remove_ldap_user.py:534
+#: lib/pp_admintools/app/remove_ldap_user.py:474 lib/pp_admintools/app/remove_ldap_user.py:501
+#: lib/pp_admintools/app/remove_ldap_user.py:532 lib/pp_admintools/app/remove_ldap_user.py:563
msgid "{c} on removing user {dn!r} from group {g!r}: {e}"
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:461
+#: lib/pp_admintools/app/remove_ldap_user.py:490
msgid "Did not found any unique group memberships of {dn!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:485
+#: lib/pp_admintools/app/remove_ldap_user.py:514
msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:492
+#: lib/pp_admintools/app/remove_ldap_user.py:521
msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:516
+#: lib/pp_admintools/app/remove_ldap_user.py:545
msgid "Deleting user {uid!r} from all sudo groups in {inst}."
msgstr ""
-#: lib/pp_admintools/app/remove_ldap_user.py:523
+#: lib/pp_admintools/app/remove_ldap_user.py:552
msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
msgstr ""
+#: lib/pp_admintools/app/remove_ldap_user.py:587
+msgid "No mail addresses found to remove for user {!r}."
+msgstr ""
+
+#: lib/pp_admintools/app/remove_ldap_user.py:591
+msgid "Trying to remove the following mail addresses from mailing lists:"
+msgstr ""
+
#: lib/pp_admintools/app/set_ldap_password.py:90
msgid ""
"Changing the password of the given user. If no user was given, then {app} tries to use the name "