]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Final removing of an user entry
authorFrank Brehm <frank@brehm-online.com>
Thu, 8 Sep 2022 15:31:31 +0000 (17:31 +0200)
committerFrank Brehm <frank@brehm-online.com>
Thu, 8 Sep 2022 15:31:31 +0000 (17:31 +0200)
lib/pp_admintools/app/ldap.py
lib/pp_admintools/app/remove_ldap_user.py
locale/de_DE/LC_MESSAGES/pp_admintools.po
locale/en_US/LC_MESSAGES/pp_admintools.po
locale/pp_admintools.pot

index e2acd97f9d3eb1d5a09e886c18c7ccb045c0342c..9142a40af1d5306e869de983af4c8c4d546063e4 100644 (file)
@@ -50,7 +50,7 @@ from ..config.ldap import LdapConnectionInfo, LdapConfiguration
 # rom ..config.ldap import DEFAULT_PORT_LDAP, DEFAULT_PORT_LDAPS
 from ..config.ldap import DEFAULT_TIMEOUT
 
-__version__ = '0.4.5'
+__version__ = '0.4.6'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -75,6 +75,12 @@ class WriteLDAPItemError(FatalLDAPError):
     pass
 
 
+# =============================================================================
+class DeleteLDAPItemError(FatalLDAPError):
+    """Error class in case, a LDAP item could not be deleted."""
+    pass
+
+
 # =============================================================================
 class PasswordFileOptionAction(argparse.Action):
 
@@ -931,6 +937,31 @@ class BaseLdapApplication(BaseDPXApplication):
 
         return True
 
+    # -------------------------------------------------------------------------
+    def delete_entry(self, inst, dn):
+
+        connect_info = self.cfg.ldap_connection[inst]
+        ldap = self.ldap_connection[inst]
+
+        msg = _("Deleting LDAP entry {dn!r} on {uri} ...").format(
+            uri=connect_info.url, dn=dn)
+        LOG.info(msg)
+
+        if self.simulate:
+            LOG.info(_("Simulation mode - deletion will not be executed."))
+            return True
+
+        try:
+            req_status, req_result, req_response, req_whatever = ldap.delete(dn)
+        except LDAPException as e:
+            msg = _("Deletion NOT successfull - {c}: {e}").format(c=e.__class__.__name__, e=e)
+            raise DeleteLDAPItemError(msg)
+        LOG.debug(_('Deletion successful.'))
+        if self.verbose > 2:
+            LOG.debug(_("Result of deletion:") + '\n' + pp(req_result))
+
+        return True
+
     # -------------------------------------------------------------------------
     def get_group_memberships(self, inst, dn, base_dn=None):
 
index ebe327f51b6a8d6d7296c26427db6d06f4dcbd2b..b9d3c34c63839574d74f7dcbabdb29c7aa069428 100644 (file)
@@ -25,7 +25,7 @@ from . import AbortAppError, TimeoutOnPromptError
 from .ldap import LdapAppError
 from .ldap import BaseLdapApplication
 
-__version__ = '0.4.3'
+__version__ = '0.4.4'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -327,6 +327,9 @@ class RemoveLdapUserApplication(BaseLdapApplication):
                 self.remove_all_posixgroup_memberships(inst, uid)
                 self.remove_all_sudogroup_memberships(inst, uid)
 
+        if not self.deactivate:
+            self.delete_entry(inst, dn)
+
     # -------------------------------------------------------------------------
     def setting_user_status(self, inst, dn, attributes):
 
index 7cc221c8f6ca9e949cd46a86eca6cb49524e6b3b..69af2e6f065b1974817694ebd7aaaf004947f515 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 17:00+0200\n"
-"PO-Revision-Date: 2022-09-08 17:10+0200\n"
+"POT-Creation-Date: 2022-09-08 17:25+0200\n"
+"PO-Revision-Date: 2022-09-08 17:30+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: de_DE\n"
 "Language-Team: de_DE <solution@pixelpark.com>\n"
@@ -154,10 +154,10 @@ msgid "Executing: {}"
 msgstr "Führe aus: {}"
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
-#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
-#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
-#: lib/pp_admintools/app/ldap.py:1066
+#: lib/pp_admintools/app/ldap.py:685 lib/pp_admintools/app/ldap.py:738
+#: lib/pp_admintools/app/ldap.py:791 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:1097
 msgid "Result:"
 msgstr "Ergebnis:"
 
@@ -321,88 +321,88 @@ msgstr "Neu starten {} …"
 msgid "Reloading {} ..."
 msgstr "Reload {} …"
 
-#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:203
 msgid "The path {!r} must be an absolute path."
 msgstr "Der Pfad {!r} muss ein absoluter Pfad sein."
 
-#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
+#: lib/pp_admintools/app/ldap.py:106 lib/pp_admintools/app/ldap.py:207
 msgid "The file {!r} does not exists."
 msgstr "Die Datei {!r} existiert nicht."
 
-#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
+#: lib/pp_admintools/app/ldap.py:110 lib/pp_admintools/app/ldap.py:211
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr "Der angegebene Pfad {!r} existiert, ist aber keine reguläre Datei."
 
-#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
+#: lib/pp_admintools/app/ldap.py:114 lib/pp_admintools/app/ldap.py:215
 msgid "The given file {!r} is not readable."
 msgstr "Die angegebene Datei {} ist nicht lesbar."
 
-#: lib/pp_admintools/app/ldap.py:129
+#: lib/pp_admintools/app/ldap.py:135
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr "ein Port muss größer als Null und kleiner oder gleich {} sein."
 
-#: lib/pp_admintools/app/ldap.py:134
+#: lib/pp_admintools/app/ldap.py:140
 msgid "Wrong port number {!r}:"
 msgstr "Ungültige Portnummer {!r}."
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:250
 msgid "LDAP options"
 msgstr "LDAP-Optionen"
 
-#: lib/pp_admintools/app/ldap.py:246
+#: lib/pp_admintools/app/ldap.py:252
 msgid "Options for the default LDAP connection"
 msgstr "Optionen für die Vorgabe-LDAP-Verbindung"
 
-#: lib/pp_admintools/app/ldap.py:248
+#: lib/pp_admintools/app/ldap.py:254
 msgid "Options fo LDAP connections"
 msgstr "Optionen für die LDAP-Verbindungen"
 
-#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
+#: lib/pp_admintools/app/ldap.py:261 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr "Nein"
 
-#: lib/pp_admintools/app/ldap.py:257
+#: lib/pp_admintools/app/ldap.py:263
 msgid "Yes"
 msgstr "Ja"
 
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:269
 msgid "HOST"
 msgstr "HOST"
 
-#: lib/pp_admintools/app/ldap.py:264
+#: lib/pp_admintools/app/ldap.py:270
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr "Der Hostname oder die Adresse des zu verwendenden LDAP-Servers. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:277
 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:276 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:282 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr "PORT"
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr "Welcher Port soll verwendet werden, um sich mit dem LDAP-Server zu verbinden? Vorgabe: {}."
 
-#: lib/pp_admintools/app/ldap.py:284
+#: lib/pp_admintools/app/ldap.py:290
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr "Die Basis-DN, die als Ausgangspunt bei LDAP-Suchen verwendet werden soll. Vorgabe: {!r}"
 
-#: lib/pp_admintools/app/ldap.py:291
+#: lib/pp_admintools/app/ldap.py:297
 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:299
+#: lib/pp_admintools/app/ldap.py:305
 msgid "PASSWORD"
 msgstr "PASSWORT"
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:306
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr "Verwende PASSWORT als Passwort für die einfache Authentifizierung."
 
-#: lib/pp_admintools/app/ldap.py:305
+#: lib/pp_admintools/app/ldap.py:311
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
@@ -410,19 +410,19 @@ msgstr ""
 "Nachfrage nach dem Passwort für eine einfache LDAP-Authentifizierung. Dies wird anstelle der "
 "Angabe des Passwortes an der Kommandozeile verwendet."
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:317
 msgid "PASSWORD_FILE"
 msgstr "PASSWORT_DATEI"
 
-#: lib/pp_admintools/app/ldap.py:313
+#: lib/pp_admintools/app/ldap.py:319
 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:321 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:327 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr "INSTANZ"
 
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:330
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
@@ -430,7 +430,7 @@ msgstr ""
 "Die LDAP-Instanz (das LDAP-Cluster) aus der Konfiguration, in welcher das Skript ausgeführt "
 "werden soll. Wenn nicht angegeben, wird die Instanz {!r} verwendet."
 
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:333
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -444,188 +444,208 @@ msgstr ""
 "diesem Fall werden alle LDAP-Instanzen ausgegeben, und das Skript beendet sich. Wenn nichts "
 "angegeben wird, wird die Instanz {default!r} verwendet."
 
-#: lib/pp_admintools/app/ldap.py:346
+#: lib/pp_admintools/app/ldap.py:352
 msgid "SECONDS"
 msgstr "SEKUNDEN"
 
-#: lib/pp_admintools/app/ldap.py:348
+#: lib/pp_admintools/app/ldap.py:354
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr "Der Timeout in Sekunden für alle LDAP-Operationen. Vorgabe: {}."
 
-#: lib/pp_admintools/app/ldap.py:380
+#: lib/pp_admintools/app/ldap.py:386
 msgid "Checking given instances."
 msgstr "Überprüfe die übergebenen Instanzen."
 
-#: lib/pp_admintools/app/ldap.py:384
+#: lib/pp_admintools/app/ldap.py:390
 msgid "Given insts:"
 msgstr "Übergebene Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:421
+#: lib/pp_admintools/app/ldap.py:427
 msgid "Configured LDAP instances:"
 msgstr "Konfigurierte LDAP-Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:441
 msgid "Verifying given instances ..."
 msgstr "Überprüfene Instanzen …"
 
-#: lib/pp_admintools/app/ldap.py:453
+#: lib/pp_admintools/app/ldap.py:459
 msgid "LDAP instance {!r} not found in configuration."
 msgstr "Die LDAP-Instanz {!r} wurde nicht in der Konfiguration gefunden."
 
-#: lib/pp_admintools/app/ldap.py:461
+#: lib/pp_admintools/app/ldap.py:467
 msgid "LDAP instances to use:"
 msgstr "Verwendete LDAP-Instanzen:"
 
-#: lib/pp_admintools/app/ldap.py:510
+#: lib/pp_admintools/app/ldap.py:516
 msgid "Preparations ..."
 msgstr "Vorbereitungen …"
 
-#: lib/pp_admintools/app/ldap.py:513
+#: lib/pp_admintools/app/ldap.py:519
 msgid "Open all necessary LDAP connections ..."
 msgstr "Öffne alle notwendigen LDAP-Verbindungen …"
 
-#: lib/pp_admintools/app/ldap.py:524
+#: lib/pp_admintools/app/ldap.py:530
 msgid "Connecting to LDAP server {} ..."
 msgstr "Verbinde mit LDAP-Server {} …"
 
-#: lib/pp_admintools/app/ldap.py:539
+#: lib/pp_admintools/app/ldap.py:545
 msgid "Connect options to server {!r}:"
 msgstr "Verbindungs-Optionen zu Server {!r}:"
 
-#: lib/pp_admintools/app/ldap.py:547
+#: lib/pp_admintools/app/ldap.py:553
 msgid "LDAP server {s}: {re}"
 msgstr "LDAP-Server {s}: {re}"
 
-#: lib/pp_admintools/app/ldap.py:555
+#: lib/pp_admintools/app/ldap.py:561
 msgid "Info about LDAP server {}:"
 msgstr "Informationen zu LDAP-Server {}:"
 
-#: lib/pp_admintools/app/ldap.py:562
+#: lib/pp_admintools/app/ldap.py:568
 msgid "Finishing ..."
 msgstr "Beende …"
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:577
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr "Trenne Verbindung zu allen verbleibenden LDAP-Instanzen …"
 
-#: lib/pp_admintools/app/ldap.py:584
+#: lib/pp_admintools/app/ldap.py:590
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr "Trenne Bindung zu LDAP-Server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:591
+#: lib/pp_admintools/app/ldap.py:597
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Trenne Verbindung zu LDAP-Server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:600
+#: lib/pp_admintools/app/ldap.py:606
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Versuche den DN des Nutzer {user!r} auf der LDAP-Instanz {inst} zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:605
+#: lib/pp_admintools/app/ldap.py:611
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Versuche den DN des Nutzer {u!r} als Mailadresse zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:612
+#: lib/pp_admintools/app/ldap.py:618
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Versuche den DN des Nutzer {u!r} als LDAP DN zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:619
+#: lib/pp_admintools/app/ldap.py:625
 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:628 lib/pp_admintools/app/remove_ldap_user.py:257
+#: lib/pp_admintools/app/ldap.py:634 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr "Leere Nutzername übergeben."
 
-#: lib/pp_admintools/app/ldap.py:631
+#: lib/pp_admintools/app/ldap.py:637
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Versuche den DN des Nutzer {u!r} als CN ({c}) zu ermitteln …"
 
-#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
-#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
-#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
-#: lib/pp_admintools/app/ldap.py:1051
+#: lib/pp_admintools/app/ldap.py:667 lib/pp_admintools/app/ldap.py:720
+#: lib/pp_admintools/app/ldap.py:773 lib/pp_admintools/app/ldap.py:980
+#: lib/pp_admintools/app/ldap.py:1014 lib/pp_admintools/app/ldap.py:1048
+#: lib/pp_admintools/app/ldap.py:1082
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr "Suche in {uri}/{bdn} mit dem Filter: {fltr}"
 
-#: lib/pp_admintools/app/ldap.py:672
+#: lib/pp_admintools/app/ldap.py:678
 msgid "Result of searching for mail address {m!r}:"
 msgstr "Ergebnis der Suche nach der Mailadresse {m!r}:"
 
-#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
-#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
-#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
-#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:682 lib/pp_admintools/app/ldap.py:735
+#: lib/pp_admintools/app/ldap.py:788 lib/pp_admintools/app/ldap.py:876
+#: lib/pp_admintools/app/ldap.py:992 lib/pp_admintools/app/ldap.py:1026
+#: lib/pp_admintools/app/ldap.py:1060 lib/pp_admintools/app/ldap.py:1094
 msgid "Got a response entry:"
 msgstr "Erhaltener Antwort-Eintrag:"
 
-#: lib/pp_admintools/app/ldap.py:683
+#: lib/pp_admintools/app/ldap.py:689
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der Mailadresse {m!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:725
+#: lib/pp_admintools/app/ldap.py:731
 msgid "Result of searching for uid {u!r}:"
 msgstr "Ergebnis der Suche nach UID {u!r}:"
 
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:742
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit der UID {u!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:784
 msgid "Result of searching for CN {cn!r}:"
 msgstr "Ergebnis der Suche nach CN {cn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:795
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr "Ein Nutzer mit dem CN {cn!r} wurde nicht in {uri}/{bdn} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:806
+#: lib/pp_admintools/app/ldap.py:812
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr "Ein Nutzer mit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:830
 msgid "ObjectClasses of {dn!r}:"
 msgstr "ObjectClasses von {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:834
+#: lib/pp_admintools/app/ldap.py:840
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr "Der Eintrag {dn!r} in {uri} scheint kein Nutzerkonto zu sein."
 
-#: lib/pp_admintools/app/ldap.py:856
+#: lib/pp_admintools/app/ldap.py:862
 msgid "Searching DN {dn!r} in {uri}."
 msgstr "Suche DN {dn!r} in {uri}."
 
-#: lib/pp_admintools/app/ldap.py:866
+#: lib/pp_admintools/app/ldap.py:872
 msgid "Result of searching for DN {dn!r}:"
 msgstr "Ergebnis der Suche nach dem DN {dn!r}:"
 
-#: lib/pp_admintools/app/ldap.py:874
+#: lib/pp_admintools/app/ldap.py:880
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr "Ein Eintrag bit dem DN {dn!r} wurde nicht in {uri} gefunden."
 
-#: lib/pp_admintools/app/ldap.py:914
+#: lib/pp_admintools/app/ldap.py:920
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr "Wende Änderungen in {uri} an DN {dn!r} an:"
 
-#: lib/pp_admintools/app/ldap.py:919
+#: lib/pp_admintools/app/ldap.py:925
 msgid "Simulation mode - changes are not applied."
 msgstr "Simulationsmodus - hier wird jetzt nichts geändert."
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:931
 msgid "Modification NOT successfull - {c}: {e}"
 msgstr "Die Änderung war NICHT erfolgreich - {c}: {e}"
 
-#: lib/pp_admintools/app/ldap.py:926
+#: lib/pp_admintools/app/ldap.py:932
 msgid "Changes:"
 msgstr "Änderungen:"
 
-#: lib/pp_admintools/app/ldap.py:928
+#: lib/pp_admintools/app/ldap.py:934
 msgid "Modification successful."
 msgstr "Die Änderung war erfolgreich."
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
 msgid "Result of modifying:"
 msgstr "Ergebnis der Änderung:"
 
+#: lib/pp_admintools/app/ldap.py:946
+msgid "Deleting LDAP entry {dn!r} on {uri} ..."
+msgstr "Lösche LDAP-Eintrag {dn!r} in {inst} …"
+
+#: lib/pp_admintools/app/ldap.py:951
+msgid "Simulation mode - deletion will not be executed."
+msgstr "Simulationsmodus - hier wird jetzt nichts gelöscht."
+
+#: lib/pp_admintools/app/ldap.py:957
+msgid "Deletion NOT successfull - {c}: {e}"
+msgstr "Die Löschung war NICHT erfolgreich - {c}: {e}"
+
+#: lib/pp_admintools/app/ldap.py:959
+msgid "Deletion successful."
+msgstr "Die Löschung war erfolgreich."
+
+#: lib/pp_admintools/app/ldap.py:961
+msgid "Result of deletion:"
+msgstr "Ergebnis der Löschung:"
+
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr "Ungültige SMTP-Port-Nummer {!r} erhalten."
@@ -948,44 +968,44 @@ msgstr "Lösche Nutzer {dn!r} in {inst} …"
 msgid "Attributes of {!r}:"
 msgstr "Attribute von {!r}:"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:339
+#: lib/pp_admintools/app/remove_ldap_user.py:342
 msgid "User {!r} is a mail user."
 msgstr "Der Nutzer {!r} ist ein Mail-Nutzer."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:341
+#: lib/pp_admintools/app/remove_ldap_user.py:344
 msgid "User {!r} is not a mail user."
 msgstr "Der Nutzer {!r} ist kein Mail-Nutzer."
 
-#: lib/pp_admintools/app/remove_ldap_user.py:354
+#: lib/pp_admintools/app/remove_ldap_user.py:357
 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:366
+#: lib/pp_admintools/app/remove_ldap_user.py:369
 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:372 lib/pp_admintools/app/remove_ldap_user.py:390
-#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:375 lib/pp_admintools/app/remove_ldap_user.py:393
+#: lib/pp_admintools/app/remove_ldap_user.py:415 lib/pp_admintools/app/remove_ldap_user.py:437
 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:384
+#: lib/pp_admintools/app/remove_ldap_user.py:387
 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:399
+#: lib/pp_admintools/app/remove_ldap_user.py:402
 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:406
+#: lib/pp_admintools/app/remove_ldap_user.py:409
 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:421
+#: lib/pp_admintools/app/remove_ldap_user.py:424
 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:428
+#: lib/pp_admintools/app/remove_ldap_user.py:431
 msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
 msgstr "Keine sudo-Gruppenmitgliedschaften von {uid!r} in {inst} gefunden."
 
index 778fe42340263a4e78f1a528a01360c5b75b51a4..ad4fbd5e1e98ba2a6abab9934fc206ea6ac55bac 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 17:00+0200\n"
-"PO-Revision-Date: 2022-09-08 17:00+0200\n"
+"POT-Creation-Date: 2022-09-08 17:25+0200\n"
+"PO-Revision-Date: 2022-09-08 17:25+0200\n"
 "Last-Translator: Frank Brehm <frank.brehm@pixelpark.com>\n"
 "Language: en_US\n"
 "Language-Team: Frank Brehm <frank.brehm@pixelpark.com>\n"
@@ -150,10 +150,10 @@ msgid "Executing: {}"
 msgstr ""
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
-#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
-#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
-#: lib/pp_admintools/app/ldap.py:1066
+#: lib/pp_admintools/app/ldap.py:685 lib/pp_admintools/app/ldap.py:738
+#: lib/pp_admintools/app/ldap.py:791 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:1097
 msgid "Result:"
 msgstr ""
 
@@ -315,112 +315,112 @@ msgstr "Restarting {} …"
 msgid "Reloading {} ..."
 msgstr "Reloading {} …"
 
-#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:203
 msgid "The path {!r} must be an absolute path."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
+#: lib/pp_admintools/app/ldap.py:106 lib/pp_admintools/app/ldap.py:207
 msgid "The file {!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
+#: lib/pp_admintools/app/ldap.py:110 lib/pp_admintools/app/ldap.py:211
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
+#: lib/pp_admintools/app/ldap.py:114 lib/pp_admintools/app/ldap.py:215
 msgid "The given file {!r} is not readable."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:129
+#: lib/pp_admintools/app/ldap.py:135
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:134
+#: lib/pp_admintools/app/ldap.py:140
 msgid "Wrong port number {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:250
 msgid "LDAP options"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:246
+#: lib/pp_admintools/app/ldap.py:252
 msgid "Options for the default LDAP connection"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:248
+#: lib/pp_admintools/app/ldap.py:254
 msgid "Options fo LDAP connections"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
+#: lib/pp_admintools/app/ldap.py:261 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:257
+#: lib/pp_admintools/app/ldap.py:263
 msgid "Yes"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:269
 msgid "HOST"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:264
+#: lib/pp_admintools/app/ldap.py:270
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:277
 msgid "Use ldaps to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:276 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:282 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:284
+#: lib/pp_admintools/app/ldap.py:290
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:291
+#: lib/pp_admintools/app/ldap.py:297
 msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:299
+#: lib/pp_admintools/app/ldap.py:305
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:306
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:305
+#: lib/pp_admintools/app/ldap.py:311
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:317
 msgid "PASSWORD_FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:313
+#: lib/pp_admintools/app/ldap.py:319
 msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:321 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:327 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:330
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:333
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -429,188 +429,208 @@ msgid ""
 "used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:346
+#: lib/pp_admintools/app/ldap.py:352
 msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:348
+#: lib/pp_admintools/app/ldap.py:354
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:380
+#: lib/pp_admintools/app/ldap.py:386
 msgid "Checking given instances."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:384
+#: lib/pp_admintools/app/ldap.py:390
 msgid "Given insts:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:421
+#: lib/pp_admintools/app/ldap.py:427
 msgid "Configured LDAP instances:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:441
 msgid "Verifying given instances ..."
 msgstr "Verifying given instances …"
 
-#: lib/pp_admintools/app/ldap.py:453
+#: lib/pp_admintools/app/ldap.py:459
 msgid "LDAP instance {!r} not found in configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:461
+#: lib/pp_admintools/app/ldap.py:467
 msgid "LDAP instances to use:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:510
+#: lib/pp_admintools/app/ldap.py:516
 msgid "Preparations ..."
 msgstr "Preparations …"
 
-#: lib/pp_admintools/app/ldap.py:513
+#: lib/pp_admintools/app/ldap.py:519
 msgid "Open all necessary LDAP connections ..."
 msgstr "Open all necessary LDAP connections …"
 
-#: lib/pp_admintools/app/ldap.py:524
+#: lib/pp_admintools/app/ldap.py:530
 msgid "Connecting to LDAP server {} ..."
 msgstr "Connecting to LDAP server {} …"
 
-#: lib/pp_admintools/app/ldap.py:539
+#: lib/pp_admintools/app/ldap.py:545
 msgid "Connect options to server {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:547
+#: lib/pp_admintools/app/ldap.py:553
 msgid "LDAP server {s}: {re}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:555
+#: lib/pp_admintools/app/ldap.py:561
 msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:562
+#: lib/pp_admintools/app/ldap.py:568
 msgid "Finishing ..."
 msgstr "Finishing …"
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:577
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr "Disconnecting from all remaining LDAP instances …"
 
-#: lib/pp_admintools/app/ldap.py:584
+#: lib/pp_admintools/app/ldap.py:590
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr "Unbinding from LDAP server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:591
+#: lib/pp_admintools/app/ldap.py:597
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr "Disconnecting from LDAP server {!r} …"
 
-#: lib/pp_admintools/app/ldap.py:600
+#: lib/pp_admintools/app/ldap.py:606
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr "Trying to evaluate DN of user {user!r} in LDAP instance {inst} …"
 
-#: lib/pp_admintools/app/ldap.py:605
+#: lib/pp_admintools/app/ldap.py:611
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr "Trying to evaluate DN of user {u!r} as a mail address …"
 
-#: lib/pp_admintools/app/ldap.py:612
+#: lib/pp_admintools/app/ldap.py:618
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr "Trying to evaluate DN of user {u!r} as a LDAP DN …"
 
-#: lib/pp_admintools/app/ldap.py:619
+#: lib/pp_admintools/app/ldap.py:625
 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:628 lib/pp_admintools/app/remove_ldap_user.py:257
+#: lib/pp_admintools/app/ldap.py:634 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:631
+#: lib/pp_admintools/app/ldap.py:637
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr "Trying to evaluate DN of user {u!r} as a CN ({c}) …"
 
-#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
-#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
-#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
-#: lib/pp_admintools/app/ldap.py:1051
+#: lib/pp_admintools/app/ldap.py:667 lib/pp_admintools/app/ldap.py:720
+#: lib/pp_admintools/app/ldap.py:773 lib/pp_admintools/app/ldap.py:980
+#: lib/pp_admintools/app/ldap.py:1014 lib/pp_admintools/app/ldap.py:1048
+#: lib/pp_admintools/app/ldap.py:1082
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:672
+#: lib/pp_admintools/app/ldap.py:678
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
-#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
-#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
-#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:682 lib/pp_admintools/app/ldap.py:735
+#: lib/pp_admintools/app/ldap.py:788 lib/pp_admintools/app/ldap.py:876
+#: lib/pp_admintools/app/ldap.py:992 lib/pp_admintools/app/ldap.py:1026
+#: lib/pp_admintools/app/ldap.py:1060 lib/pp_admintools/app/ldap.py:1094
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:683
+#: lib/pp_admintools/app/ldap.py:689
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:725
+#: lib/pp_admintools/app/ldap.py:731
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:742
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:784
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:795
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:806
+#: lib/pp_admintools/app/ldap.py:812
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:830
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:834
+#: lib/pp_admintools/app/ldap.py:840
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:856
+#: lib/pp_admintools/app/ldap.py:862
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:866
+#: lib/pp_admintools/app/ldap.py:872
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:874
+#: lib/pp_admintools/app/ldap.py:880
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:914
+#: lib/pp_admintools/app/ldap.py:920
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:919
+#: lib/pp_admintools/app/ldap.py:925
 msgid "Simulation mode - changes are not applied."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:931
 msgid "Modification NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:926
+#: lib/pp_admintools/app/ldap.py:932
 msgid "Changes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:928
+#: lib/pp_admintools/app/ldap.py:934
 msgid "Modification successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
 msgid "Result of modifying:"
 msgstr ""
 
+#: lib/pp_admintools/app/ldap.py:946
+msgid "Deleting LDAP entry {dn!r} on {uri} ..."
+msgstr "Deleting LDAP entry {dn!r} on {uri} …"
+
+#: lib/pp_admintools/app/ldap.py:951
+msgid "Simulation mode - deletion will not be executed."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:957
+msgid "Deletion NOT successfull - {c}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:959
+msgid "Deletion successful."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:961
+msgid "Result of deletion:"
+msgstr ""
+
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr ""
@@ -919,46 +939,46 @@ msgstr "Removing user {dn!r} from {inst} …"
 msgid "Attributes of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:339
+#: lib/pp_admintools/app/remove_ldap_user.py:342
 msgid "User {!r} is a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:341
+#: lib/pp_admintools/app/remove_ldap_user.py:344
 msgid "User {!r} is not a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:354
+#: lib/pp_admintools/app/remove_ldap_user.py:357
 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:366
+#: lib/pp_admintools/app/remove_ldap_user.py:369
 msgid "Did not found any group memberships of {dn!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:372 lib/pp_admintools/app/remove_ldap_user.py:390
-#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:375 lib/pp_admintools/app/remove_ldap_user.py:393
+#: lib/pp_admintools/app/remove_ldap_user.py:415 lib/pp_admintools/app/remove_ldap_user.py:437
 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:384
+#: lib/pp_admintools/app/remove_ldap_user.py:387
 msgid "Did not found any unique group memberships of {dn!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:399
+#: lib/pp_admintools/app/remove_ldap_user.py:402
 #, fuzzy
 msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
 msgstr "Removing user {dn!r} from {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:406
+#: lib/pp_admintools/app/remove_ldap_user.py:409
 msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:421
+#: lib/pp_admintools/app/remove_ldap_user.py:424
 #, fuzzy
 msgid "Deleting user {uid!r} from all sudo groups in {inst}."
 msgstr "Removing user {dn!r} from {inst} …"
 
-#: lib/pp_admintools/app/remove_ldap_user.py:428
+#: lib/pp_admintools/app/remove_ldap_user.py:431
 msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
 msgstr ""
 
index ad40c097c6a8da3c084aa0f210d064b32fedbe9c..80b56e50c01175a6701c8d4e31feddf659764be1 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: pp_admintools 0.9.1\n"
 "Report-Msgid-Bugs-To: frank.brehm@pixelpark.com\n"
-"POT-Creation-Date: 2022-09-08 17:00+0200\n"
+"POT-Creation-Date: 2022-09-08 17:25+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <frank.brehm@pixelpark.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -149,10 +149,10 @@ msgid "Executing: {}"
 msgstr ""
 
 #: lib/pp_admintools/app/dns_deploy_zones.py:447 lib/pp_admintools/app/dns_deploy_zones.py:801
-#: lib/pp_admintools/app/ldap.py:679 lib/pp_admintools/app/ldap.py:732
-#: lib/pp_admintools/app/ldap.py:785 lib/pp_admintools/app/ldap.py:964
-#: lib/pp_admintools/app/ldap.py:998 lib/pp_admintools/app/ldap.py:1032
-#: lib/pp_admintools/app/ldap.py:1066
+#: lib/pp_admintools/app/ldap.py:685 lib/pp_admintools/app/ldap.py:738
+#: lib/pp_admintools/app/ldap.py:791 lib/pp_admintools/app/ldap.py:995
+#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:1097
 msgid "Result:"
 msgstr ""
 
@@ -314,112 +314,112 @@ msgstr ""
 msgid "Reloading {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:94 lib/pp_admintools/app/ldap.py:197
+#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:203
 msgid "The path {!r} must be an absolute path."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:100 lib/pp_admintools/app/ldap.py:201
+#: lib/pp_admintools/app/ldap.py:106 lib/pp_admintools/app/ldap.py:207
 msgid "The file {!r} does not exists."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:104 lib/pp_admintools/app/ldap.py:205
+#: lib/pp_admintools/app/ldap.py:110 lib/pp_admintools/app/ldap.py:211
 msgid "The given path {!r} exists, but is not a regular file."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:108 lib/pp_admintools/app/ldap.py:209
+#: lib/pp_admintools/app/ldap.py:114 lib/pp_admintools/app/ldap.py:215
 msgid "The given file {!r} is not readable."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:129
+#: lib/pp_admintools/app/ldap.py:135
 msgid "a port number must be greater than zero and less or equal to {}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:134
+#: lib/pp_admintools/app/ldap.py:140
 msgid "Wrong port number {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:244
+#: lib/pp_admintools/app/ldap.py:250
 msgid "LDAP options"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:246
+#: lib/pp_admintools/app/ldap.py:252
 msgid "Options for the default LDAP connection"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:248
+#: lib/pp_admintools/app/ldap.py:254
 msgid "Options fo LDAP connections"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:255 lib/pp_admintools/app/remove_ldap_user.py:237
+#: lib/pp_admintools/app/ldap.py:261 lib/pp_admintools/app/remove_ldap_user.py:237
 msgid "No"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:257
+#: lib/pp_admintools/app/ldap.py:263
 msgid "Yes"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:263
+#: lib/pp_admintools/app/ldap.py:269
 msgid "HOST"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:264
+#: lib/pp_admintools/app/ldap.py:270
 msgid "Hostname or address of the LDAP server to use. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:271
+#: lib/pp_admintools/app/ldap.py:277
 msgid "Use ldaps to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:276 lib/pp_admintools/app/mail.py:261
+#: lib/pp_admintools/app/ldap.py:282 lib/pp_admintools/app/mail.py:261
 #: lib/pp_admintools/app/pdns.py:275
 msgid "PORT"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:278
+#: lib/pp_admintools/app/ldap.py:284
 msgid "The port number to connect to the LDAP server. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:284
+#: lib/pp_admintools/app/ldap.py:290
 msgid "The base DN used as the root for the LDAP searches. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:291
+#: lib/pp_admintools/app/ldap.py:297
 msgid "The Bind DN to use to connect to the LDAP server. Default: {!r}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:299
+#: lib/pp_admintools/app/ldap.py:305
 msgid "PASSWORD"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:300
+#: lib/pp_admintools/app/ldap.py:306
 msgid "Use PASSWORD as the password for simple LDAP authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:305
+#: lib/pp_admintools/app/ldap.py:311
 msgid ""
 "Prompt for simple LDAP authentication. This is used instead of specifying the password on the "
 "command line."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:311
+#: lib/pp_admintools/app/ldap.py:317
 msgid "PASSWORD_FILE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:313
+#: lib/pp_admintools/app/ldap.py:319
 msgid "Use contents of PASSWORD_FILE as the password for simple authentication."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:321 lib/pp_admintools/app/pdns.py:249
+#: lib/pp_admintools/app/ldap.py:327 lib/pp_admintools/app/pdns.py:249
 msgid "INSTANCE"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:324
+#: lib/pp_admintools/app/ldap.py:330
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. If not given,"
 " then the instance {!r} will be used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:327
+#: lib/pp_admintools/app/ldap.py:333
 msgid ""
 "The LDAP instance (LDAP cluster) from configuration, where to execute this script. It is "
 "possible to give here the value {val_all!r}, then all found LDAP instances except {default!r} "
@@ -428,188 +428,208 @@ msgid ""
 "used."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:346
+#: lib/pp_admintools/app/ldap.py:352
 msgid "SECONDS"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:348
+#: lib/pp_admintools/app/ldap.py:354
 msgid "Using the given timeout in seconds for all LDAP operations. Default: {}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:380
+#: lib/pp_admintools/app/ldap.py:386
 msgid "Checking given instances."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:384
+#: lib/pp_admintools/app/ldap.py:390
 msgid "Given insts:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:421
+#: lib/pp_admintools/app/ldap.py:427
 msgid "Configured LDAP instances:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:435
+#: lib/pp_admintools/app/ldap.py:441
 msgid "Verifying given instances ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:453
+#: lib/pp_admintools/app/ldap.py:459
 msgid "LDAP instance {!r} not found in configuration."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:461
+#: lib/pp_admintools/app/ldap.py:467
 msgid "LDAP instances to use:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:510
+#: lib/pp_admintools/app/ldap.py:516
 msgid "Preparations ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:513
+#: lib/pp_admintools/app/ldap.py:519
 msgid "Open all necessary LDAP connections ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:524
+#: lib/pp_admintools/app/ldap.py:530
 msgid "Connecting to LDAP server {} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:539
+#: lib/pp_admintools/app/ldap.py:545
 msgid "Connect options to server {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:547
+#: lib/pp_admintools/app/ldap.py:553
 msgid "LDAP server {s}: {re}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:555
+#: lib/pp_admintools/app/ldap.py:561
 msgid "Info about LDAP server {}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:562
+#: lib/pp_admintools/app/ldap.py:568
 msgid "Finishing ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:571
+#: lib/pp_admintools/app/ldap.py:577
 msgid "Disconnecting from all remaining LDAP instances ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:584
+#: lib/pp_admintools/app/ldap.py:590
 msgid "Unbinding from LDAP server {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:591
+#: lib/pp_admintools/app/ldap.py:597
 msgid "Disconnecting from LDAP server {!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:600
+#: lib/pp_admintools/app/ldap.py:606
 msgid "Trying to evaluate DN of user {user!r} in LDAP instance {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:605
+#: lib/pp_admintools/app/ldap.py:611
 msgid "Trying to evaluate DN of user {u!r} as a mail address ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:612
+#: lib/pp_admintools/app/ldap.py:618
 msgid "Trying to evaluate DN of user {u!r} as a LDAP DN ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:619
+#: lib/pp_admintools/app/ldap.py:625
 msgid "Trying to evaluate DN of user {u!r} as a UID (Posix user name) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:628 lib/pp_admintools/app/remove_ldap_user.py:257
+#: lib/pp_admintools/app/ldap.py:634 lib/pp_admintools/app/remove_ldap_user.py:257
 msgid "Empty user given."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:631
+#: lib/pp_admintools/app/ldap.py:637
 msgid "Trying to evaluate DN of user {u!r} as a CN ({c}) ..."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:661 lib/pp_admintools/app/ldap.py:714
-#: lib/pp_admintools/app/ldap.py:767 lib/pp_admintools/app/ldap.py:949
-#: lib/pp_admintools/app/ldap.py:983 lib/pp_admintools/app/ldap.py:1017
-#: lib/pp_admintools/app/ldap.py:1051
+#: lib/pp_admintools/app/ldap.py:667 lib/pp_admintools/app/ldap.py:720
+#: lib/pp_admintools/app/ldap.py:773 lib/pp_admintools/app/ldap.py:980
+#: lib/pp_admintools/app/ldap.py:1014 lib/pp_admintools/app/ldap.py:1048
+#: lib/pp_admintools/app/ldap.py:1082
 msgid "Searching in {uri}/{bdn} with filter: {fltr}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:672
+#: lib/pp_admintools/app/ldap.py:678
 msgid "Result of searching for mail address {m!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:676 lib/pp_admintools/app/ldap.py:729
-#: lib/pp_admintools/app/ldap.py:782 lib/pp_admintools/app/ldap.py:870
-#: lib/pp_admintools/app/ldap.py:961 lib/pp_admintools/app/ldap.py:995
-#: lib/pp_admintools/app/ldap.py:1029 lib/pp_admintools/app/ldap.py:1063
+#: lib/pp_admintools/app/ldap.py:682 lib/pp_admintools/app/ldap.py:735
+#: lib/pp_admintools/app/ldap.py:788 lib/pp_admintools/app/ldap.py:876
+#: lib/pp_admintools/app/ldap.py:992 lib/pp_admintools/app/ldap.py:1026
+#: lib/pp_admintools/app/ldap.py:1060 lib/pp_admintools/app/ldap.py:1094
 msgid "Got a response entry:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:683
+#: lib/pp_admintools/app/ldap.py:689
 msgid "User with mail address {m!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:725
+#: lib/pp_admintools/app/ldap.py:731
 msgid "Result of searching for uid {u!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:736
+#: lib/pp_admintools/app/ldap.py:742
 msgid "User with uid {u!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:778
+#: lib/pp_admintools/app/ldap.py:784
 msgid "Result of searching for CN {cn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:789
+#: lib/pp_admintools/app/ldap.py:795
 msgid "User with cn {cn!r} not found in {uri}/{bdn}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:806
+#: lib/pp_admintools/app/ldap.py:812
 msgid "User with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:824
+#: lib/pp_admintools/app/ldap.py:830
 msgid "ObjectClasses of {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:834
+#: lib/pp_admintools/app/ldap.py:840
 msgid "Entry {dn!r} in {uri} seems not to be an account."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:856
+#: lib/pp_admintools/app/ldap.py:862
 msgid "Searching DN {dn!r} in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:866
+#: lib/pp_admintools/app/ldap.py:872
 msgid "Result of searching for DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:874
+#: lib/pp_admintools/app/ldap.py:880
 msgid "Entry with DN {dn!r} not found in {uri}."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:914
+#: lib/pp_admintools/app/ldap.py:920
 msgid "Applying changes on {uri} to DN {dn!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:919
+#: lib/pp_admintools/app/ldap.py:925
 msgid "Simulation mode - changes are not applied."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:925
+#: lib/pp_admintools/app/ldap.py:931
 msgid "Modification NOT successfull - {c}: {e}"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:926
+#: lib/pp_admintools/app/ldap.py:932
 msgid "Changes:"
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:928
+#: lib/pp_admintools/app/ldap.py:934
 msgid "Modification successful."
 msgstr ""
 
-#: lib/pp_admintools/app/ldap.py:930
+#: lib/pp_admintools/app/ldap.py:936
 msgid "Result of modifying:"
 msgstr ""
 
+#: lib/pp_admintools/app/ldap.py:946
+msgid "Deleting LDAP entry {dn!r} on {uri} ..."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:951
+msgid "Simulation mode - deletion will not be executed."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:957
+msgid "Deletion NOT successfull - {c}: {e}"
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:959
+msgid "Deletion successful."
+msgstr ""
+
+#: lib/pp_admintools/app/ldap.py:961
+msgid "Result of deletion:"
+msgstr ""
+
 #: lib/pp_admintools/app/mail.py:103
 msgid "Got invalid SMTP port number {!r}."
 msgstr ""
@@ -918,44 +938,44 @@ msgstr ""
 msgid "Attributes of {!r}:"
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:339
+#: lib/pp_admintools/app/remove_ldap_user.py:342
 msgid "User {!r} is a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:341
+#: lib/pp_admintools/app/remove_ldap_user.py:344
 msgid "User {!r} is not a mail user."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:354
+#: lib/pp_admintools/app/remove_ldap_user.py:357
 msgid "Updating user info for {dn!r} on {inst} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:366
+#: lib/pp_admintools/app/remove_ldap_user.py:369
 msgid "Did not found any group memberships of {dn!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:372 lib/pp_admintools/app/remove_ldap_user.py:390
-#: lib/pp_admintools/app/remove_ldap_user.py:412 lib/pp_admintools/app/remove_ldap_user.py:434
+#: lib/pp_admintools/app/remove_ldap_user.py:375 lib/pp_admintools/app/remove_ldap_user.py:393
+#: lib/pp_admintools/app/remove_ldap_user.py:415 lib/pp_admintools/app/remove_ldap_user.py:437
 msgid "Removing user {u!r} from group {g!r} ..."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:384
+#: lib/pp_admintools/app/remove_ldap_user.py:387
 msgid "Did not found any unique group memberships of {dn!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:399
+#: lib/pp_admintools/app/remove_ldap_user.py:402
 msgid "Deleting user {uid!r} from all POSIX groups in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:406
+#: lib/pp_admintools/app/remove_ldap_user.py:409
 msgid "Did not found any POSIX group memberships of {uid!r} in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:421
+#: lib/pp_admintools/app/remove_ldap_user.py:424
 msgid "Deleting user {uid!r} from all sudo groups in {inst}."
 msgstr ""
 
-#: lib/pp_admintools/app/remove_ldap_user.py:428
+#: lib/pp_admintools/app/remove_ldap_user.py:431
 msgid "Did not found any sudo group memberships of {uid!r} in {inst}."
 msgstr ""