schema: fix client-side dynamic defaults

Call command_defaults with properly typed arguments.

https://fedorahosted.org/freeipa/ticket/4739

Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
Jan Cholasta 2016-06-15 13:44:03 +02:00
parent a64aba36a4
commit d26e42ffb0

View File

@ -50,8 +50,8 @@ _PARAMS = {
class _SchemaCommand(Command): class _SchemaCommand(Command):
def __fix_default_from(self, param): def __fix_default_from(self, param):
api = self.api api = self.api
name = self.name name = unicode(self.name)
param_name = param.name param_name = unicode(param.name)
keys = param.default_from.keys keys = param.default_from.keys
if keys: if keys:
@ -71,7 +71,7 @@ class _SchemaCommand(Command):
)['result'] )['result']
return result.get(param_name) return result.get(param_name)
callback.__name__ = '{0}_{1}_default'.format(name, param_name) callback.__name__ = '{0}_{1}_default'.format(self.name, param.name)
return param.clone(default_from=DefaultFrom(callback, *keys)) return param.clone(default_from=DefaultFrom(callback, *keys))