summaryrefslogtreecommitdiffstats
path: root/ipalib/plugins/baseldap.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/plugins/baseldap.py')
-rw-r--r--ipalib/plugins/baseldap.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py
index f3aa09d3e..97a02946b 100644
--- a/ipalib/plugins/baseldap.py
+++ b/ipalib/plugins/baseldap.py
@@ -199,14 +199,17 @@ class LDAPObject(Object):
return parent_dn
def get_primary_key_from_dn(self, dn):
- if self.rdn_attribute:
- (dn, entry_attrs) = self.backend.get_entry(
- dn, [self.primary_key.name]
- )
- try:
- return entry_attrs[pkey][0]
- except (KeyError, IndexError):
- return ''
+ try:
+ if self.rdn_attribute:
+ (dn, entry_attrs) = self.backend.get_entry(
+ dn, [self.primary_key.name]
+ )
+ try:
+ return entry_attrs[self.primary_key.name][0]
+ except (KeyError, IndexError):
+ return ''
+ except errors.NotFound:
+ pass
return dn[len(self.primary_key.name) + 1:dn.find(',')]
def get_ancestor_primary_keys(self):