summaryrefslogtreecommitdiffstats
path: root/ipalib/frontend.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/frontend.py')
-rw-r--r--ipalib/frontend.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/ipalib/frontend.py b/ipalib/frontend.py
index 61e7f493..851de437 100644
--- a/ipalib/frontend.py
+++ b/ipalib/frontend.py
@@ -428,6 +428,8 @@ class Command(HasParam):
if not self.api.env.in_server and 'version' not in params:
params['version'] = API_VERSION
self.validate(**params)
+ if self.api.env.in_server:
+ params = self.encode(**params)
(args, options) = self.params_2_args_options(**params)
ret = self.run(*args, **options)
if (
@@ -648,6 +650,14 @@ class Command(HasParam):
(k, self.params[k].convert(v)) for (k, v) in kw.iteritems()
)
+ def encode(self, **kw):
+ """
+ Return a dictionary of encoded values.
+ """
+ return dict(
+ (k, self.params[k].encode(v)) for (k, v) in kw.iteritems()
+ )
+
def __convert_iter(self, kw):
for param in self.params():
if kw.get(param.name, None) is None: