diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-17 15:27:08 -0700 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-11-17 15:27:08 -0700 |
commit | 42bf555a3ad1f1777b26a4092b49512b9360c882 (patch) | |
tree | 82ec2c847b81f44a9e060957a505e05c6f70a273 /ipa_server | |
parent | e7ec4131589d5d387c4257bca76e91a17ad7e1a3 (diff) | |
download | freeipa-42bf555a3ad1f1777b26a4092b49512b9360c882.tar.gz freeipa-42bf555a3ad1f1777b26a4092b49512b9360c882.tar.xz freeipa-42bf555a3ad1f1777b26a4092b49512b9360c882.zip |
Started updated user_* commands to use textui
Diffstat (limited to 'ipa_server')
-rw-r--r-- | ipa_server/plugins/b_ldap.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/ipa_server/plugins/b_ldap.py b/ipa_server/plugins/b_ldap.py index 0f923935..fe329919 100644 --- a/ipa_server/plugins/b_ldap.py +++ b/ipa_server/plugins/b_ldap.py @@ -209,9 +209,29 @@ class ldap(CrudBackend): # The CRUD operations + def strip_none(self, kw): + """ + Remove any None values present in the LDAP attribute dict. + """ + for (key, value) in kw.iteritems(): + if value is None: + continue + if type(value) in (list, tuple): + value = filter( + lambda v: type(v) in (str, unicode, bool, int, float), + value + ) + if len(value) > 0: + yield (key, value) + else: + assert type(value) in (str, unicode, bool, int, float) + yield (key, value) + def create(self, **kw): if servercore.entry_exists(kw['dn']): raise errors.DuplicateEntry("entry already exists") + kw = dict(self.strip_none(kw)) + entry = ipaldap.Entry(kw['dn']) |