summaryrefslogtreecommitdiffstats
path: root/ipalib/frontend.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/frontend.py')
-rw-r--r--ipalib/frontend.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/ipalib/frontend.py b/ipalib/frontend.py
index 54f7c87a..db045fe6 100644
--- a/ipalib/frontend.py
+++ b/ipalib/frontend.py
@@ -176,6 +176,21 @@ class Command(plugable.Plugin):
if name in options:
yield (name, options[name])
+ def args_options_2_entry(self, *args, **options):
+ """
+ Creates a LDAP entry from attributes in args and options.
+ """
+ kw = self.args_options_2_params(*args, **options)
+ return dict(self.__attributes_2_entry(kw))
+
+ def __attributes_2_entry(self, kw):
+ for name in self.params:
+ if self.params[name].attribute and name in kw:
+ if type(kw[name]) is tuple:
+ yield (name, [str(value) for value in kw[name]])
+ else:
+ yield (name, str(kw[name]))
+
def params_2_args_options(self, **params):
"""
Split params into (args, options).