diff options
Diffstat (limited to 'ipalib/frontend.py')
-rw-r--r-- | ipalib/frontend.py | 10 |
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: |