]> Frank Brehm's Git Trees - pixelpark/pp-admin-tools.git/commitdiff
Rewriting specialized search methods to use the general search() method.
authorFrank Brehm <frank.brehm@pixelpark.com>
Thu, 1 Feb 2024 11:13:59 +0000 (12:13 +0100)
committerFrank Brehm <frank.brehm@pixelpark.com>
Thu, 1 Feb 2024 11:13:59 +0000 (12:13 +0100)
lib/pp_admintools/app/ldap.py

index 23c8c9389e373bf55a4488b7efcb77a641afec54..416601390ab2282b3bfa38e741d139796c24d0bc 100644 (file)
@@ -61,7 +61,7 @@ from ..errors import DpxLdapSessionError
 from ..errors import DpxWriteLdapItemError
 from ..xlate import XLATOR, format_list
 
-__version__ = '1.3.5'
+__version__ = '1.3.6'
 LOG = logging.getLogger(__name__)
 
 _ = XLATOR.gettext
@@ -1811,21 +1811,11 @@ class BaseLdapApplication(BaseDPXApplication):
                 uri=connect_info.url, bdn=base_dn, fltr=ldap_filter)
             LOG.debug(msg)
 
-        if inst not in self.ldap_connection:
-            self.connect_instance(inst)
-        ldap = self.ldap_connection[inst]
-
-        try:
-            req_status, req_result, req_response, req_whatever = ldap.search(
-                search_base=base_dn, search_scope=SUBTREE, search_filter=ldap_filter,
-                get_operational_attributes=False, attributes=attributes,
-                time_limit=self.cfg.ldap_timeout)
-        finally:
-            if not self.single_session:
-                self.disconnect_instance(inst)
+        (search_status, search_result, search_response) = self.search(
+            inst=inst, search_base=base_dn, attributes=attributes, scope=SUBTREE)
 
-        if req_status:
-            for entry in req_response:
+        if search_status:
+            for entry in search_response:
                 if self.verbose > 4:
                     LOG.debug(_('Got a response entry:') + ' ' + pp(entry))
                 result.append(entry['dn'])
@@ -1852,21 +1842,11 @@ class BaseLdapApplication(BaseDPXApplication):
                 uri=connect_info.url, bdn=base_dn, fltr=ldap_filter)
             LOG.debug(msg)
 
-        if inst not in self.ldap_connection:
-            self.connect_instance(inst)
-        ldap = self.ldap_connection[inst]
-
-        try:
-            req_status, req_result, req_response, req_whatever = ldap.search(
-                search_base=base_dn, search_scope=SUBTREE, search_filter=ldap_filter,
-                get_operational_attributes=False, attributes=attributes,
-                time_limit=self.cfg.ldap_timeout)
-        finally:
-            if not self.single_session:
-                self.disconnect_instance(inst)
+        (search_status, search_result, search_response) = self.search(
+            inst=inst, search_base=base_dn, attributes=attributes, scope=SUBTREE)
 
-        if req_status:
-            for entry in req_response:
+        if search_status:
+            for entry in search_response:
                 if self.verbose > 4:
                     LOG.debug(_('Got a response entry:') + ' ' + pp(entry))
                 result.append(entry['dn'])
@@ -1893,21 +1873,11 @@ class BaseLdapApplication(BaseDPXApplication):
                 uri=connect_info.url, bdn=base_dn, fltr=ldap_filter)
             LOG.debug(msg)
 
-        if inst not in self.ldap_connection:
-            self.connect_instance(inst)
-        ldap = self.ldap_connection[inst]
-
-        try:
-            req_status, req_result, req_response, req_whatever = ldap.search(
-                search_base=base_dn, search_scope=SUBTREE, search_filter=ldap_filter,
-                get_operational_attributes=False, attributes=attributes,
-                time_limit=self.cfg.ldap_timeout)
-        finally:
-            if not self.single_session:
-                self.disconnect_instance(inst)
+        (search_status, search_result, search_response) = self.search(
+            inst=inst, search_base=base_dn, attributes=attributes, scope=SUBTREE)
 
-        if req_status:
-            for entry in req_response:
+        if search_status:
+            for entry in search_response:
                 if self.verbose > 4:
                     LOG.debug(_('Got a response entry:') + ' ' + pp(entry))
                 result.append(entry['dn'])
@@ -1934,21 +1904,11 @@ class BaseLdapApplication(BaseDPXApplication):
                 uri=connect_info.url, bdn=base_dn, fltr=ldap_filter)
             LOG.debug(msg)
 
-        if inst not in self.ldap_connection:
-            self.connect_instance(inst)
-        ldap = self.ldap_connection[inst]
-
-        try:
-            req_status, req_result, req_response, req_whatever = ldap.search(
-                search_base=base_dn, search_scope=SUBTREE, search_filter=ldap_filter,
-                get_operational_attributes=False, attributes=attributes,
-                time_limit=self.cfg.ldap_timeout)
-        finally:
-            if not self.single_session:
-                self.disconnect_instance(inst)
+        (search_status, search_result, search_response) = self.search(
+            inst=inst, search_base=base_dn, attributes=attributes, scope=SUBTREE)
 
-        if req_status:
-            for entry in req_response:
+        if search_status:
+            for entry in search_response:
                 if self.verbose > 4:
                     LOG.debug(_('Got a response entry:') + ' ' + pp(entry))
                 result.append(entry['dn'])