From 96f4c960aa7019fea5f70cc5a7d484ccb5d837e3 Mon Sep 17 00:00:00 2001 From: Frank Brehm Date: Mon, 12 Jun 2023 12:02:47 +0200 Subject: [PATCH] Start implementation of removing mail addresses from mailing lists in bin/remove-ldap-user --- lib/pp_admintools/app/remove_ldap_user.py | 57 ++- locale/de_DE/LC_MESSAGES/pp_admintools.po | 418 +++++++++++----------- locale/en_US/LC_MESSAGES/pp_admintools.po | 418 +++++++++++----------- locale/pp_admintools.pot | 418 +++++++++++----------- 4 files changed, 700 insertions(+), 611 deletions(-) diff --git a/lib/pp_admintools/app/remove_ldap_user.py b/lib/pp_admintools/app/remove_ldap_user.py index b0dcdfa..152624d 100644 --- a/lib/pp_admintools/app/remove_ldap_user.py +++ b/lib/pp_admintools/app/remove_ldap_user.py @@ -16,7 +16,9 @@ import crypt 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 @@ -25,7 +27,7 @@ from ..xlate import XLATOR from .ldap import LdapAppError, FatalLDAPError from .ldap import BaseLdapApplication -__version__ = '0.5.10' +__version__ = '0.6.0' LOG = logging.getLogger(__name__) _ = XLATOR.gettext @@ -56,6 +58,8 @@ class RemoveLdapUserApplication(BaseLdapApplication): 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( @@ -84,13 +88,24 @@ class RemoveLdapUserApplication(BaseLdapApplication): @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): """ @@ -106,6 +121,7 @@ class RemoveLdapUserApplication(BaseLdapApplication): res = super(RemoveLdapUserApplication, self).as_dict(short=short) res['deactivate'] = self.deactivate + res['del_mails'] = self.del_mails return res @@ -132,6 +148,13 @@ class RemoveLdapUserApplication(BaseLdapApplication): 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=_( @@ -166,6 +189,9 @@ class RemoveLdapUserApplication(BaseLdapApplication): 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() @@ -364,6 +390,9 @@ class RemoveLdapUserApplication(BaseLdapApplication): 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): @@ -539,6 +568,30 @@ class RemoveLdapUserApplication(BaseLdapApplication): 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__": diff --git a/locale/de_DE/LC_MESSAGES/pp_admintools.po b/locale/de_DE/LC_MESSAGES/pp_admintools.po index e97e55e..f3f02bc 100644 --- a/locale/de_DE/LC_MESSAGES/pp_admintools.po +++ b/locale/de_DE/LC_MESSAGES/pp_admintools.po @@ -5,9 +5,9 @@ # 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 \n" "Language: de_DE\n" @@ -45,7 +45,7 @@ msgstr "" "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" @@ -364,7 +364,7 @@ msgstr[1] "{} Alias-Einträge im LDAP geändert." 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." @@ -398,41 +398,41 @@ msgstr "Export-Datei {!r} erstellt." 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:" @@ -440,7 +440,7 @@ 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 {}" @@ -534,7 +534,7 @@ msgstr "Versuche alle Schlüssel der named.conf zu ermitteln …" #: 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: {}" @@ -698,19 +698,19 @@ msgstr "Neu starten {} …" 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:" @@ -718,7 +718,7 @@ msgstr "" "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 " @@ -796,8 +796,8 @@ msgstr "Optionen für die Vorgabe-LDAP-Verbindung" 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" @@ -817,8 +817,8 @@ msgstr "Der Hostname oder die Adresse des zu verwendenden LDAP-Servers. Vorgabe: 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" @@ -834,7 +834,7 @@ msgstr "Die Basis-DN, die als Ausgangspunt bei LDAP-Suchen verwendet werden soll 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" @@ -861,7 +861,7 @@ msgstr "PASSWORT_DATEI" 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" @@ -1029,7 +1029,7 @@ msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …" 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." @@ -1133,9 +1133,9 @@ msgid "Modification of {dn!r} was NOT successfull - {c}: {e}" 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:" @@ -1208,66 +1208,66 @@ msgstr "Das Attribut {!r} wird nicht angefasst." 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}." @@ -1275,7 +1275,7 @@ msgstr "" "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: {}." @@ -1283,19 +1283,19 @@ msgstr "" "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 " @@ -1309,15 +1309,15 @@ msgstr "" "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})" @@ -1326,54 +1326,54 @@ msgstr "" "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}." @@ -1381,104 +1381,104 @@ msgstr "" "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." @@ -1486,151 +1486,151 @@ msgstr "" "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." @@ -1638,7 +1638,7 @@ msgstr "" "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." @@ -1646,7 +1646,7 @@ msgstr "" "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." @@ -1654,24 +1654,24 @@ msgstr "" "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}." @@ -1707,87 +1707,87 @@ msgstr "Ermittle Instanz {!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 " @@ -1799,32 +1799,36 @@ msgstr "" "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 " @@ -1835,156 +1839,164 @@ msgstr "" "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 " diff --git a/locale/en_US/LC_MESSAGES/pp_admintools.po b/locale/en_US/LC_MESSAGES/pp_admintools.po index 08ed399..cff5175 100644 --- a/locale/en_US/LC_MESSAGES/pp_admintools.po +++ b/locale/en_US/LC_MESSAGES/pp_admintools.po @@ -5,9 +5,9 @@ # 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 \n" "Language: en_US\n" @@ -41,7 +41,7 @@ msgid "" 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 "" @@ -354,7 +354,7 @@ msgstr[1] "" 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 "" @@ -384,41 +384,41 @@ 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 "" @@ -426,7 +426,7 @@ 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 "" @@ -518,7 +518,7 @@ msgstr "Trying to get all keys from named.conf …" #: 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 "" @@ -680,25 +680,25 @@ msgstr "Restarting {} …" 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 " @@ -770,8 +770,8 @@ msgstr "" 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 "" @@ -791,8 +791,8 @@ 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 "" @@ -808,7 +808,7 @@ 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" @@ -833,7 +833,7 @@ msgstr "" 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 "" @@ -995,7 +995,7 @@ msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …" 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 "" @@ -1099,9 +1099,9 @@ msgid "Modification of {dn!r} was NOT successfull - {c}: {e}" 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 "" @@ -1174,88 +1174,88 @@ 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 " @@ -1264,350 +1264,350 @@ msgid "" "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 "" @@ -1643,87 +1643,87 @@ msgstr "Evaluating instance {!r} …" 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 " @@ -1731,188 +1731,200 @@ msgid "" "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 " diff --git a/locale/pp_admintools.pot b/locale/pp_admintools.pot index 0cf105f..016f1a3 100644 --- a/locale/pp_admintools.pot +++ b/locale/pp_admintools.pot @@ -6,9 +6,9 @@ #, 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 \n" "Language-Team: LANGUAGE \n" @@ -40,7 +40,7 @@ msgid "" 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 "" @@ -353,7 +353,7 @@ msgstr[1] "" 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 "" @@ -383,41 +383,41 @@ 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 "" @@ -425,7 +425,7 @@ 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 "" @@ -517,7 +517,7 @@ 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 "" @@ -679,25 +679,25 @@ 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 " @@ -769,8 +769,8 @@ msgstr "" 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 "" @@ -790,8 +790,8 @@ 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 "" @@ -807,7 +807,7 @@ 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" @@ -832,7 +832,7 @@ msgstr "" 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 "" @@ -994,7 +994,7 @@ 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 "" @@ -1098,9 +1098,9 @@ msgid "Modification of {dn!r} was NOT successfull - {c}: {e}" 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 "" @@ -1173,88 +1173,88 @@ 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 " @@ -1263,350 +1263,350 @@ msgid "" "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 "" @@ -1642,87 +1642,87 @@ 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 " @@ -1730,188 +1730,200 @@ msgid "" "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 " -- 2.39.5