batch, schema: use Dict instead of Any

Add new Dict parameter class and use it in the batch and command_defaults
plugins.

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

Reviewed-By: David Kupka <dkupka@redhat.com>
This commit is contained in:
Jan Cholasta
2016-06-03 07:31:38 +02:00
parent 3ac2215ddb
commit e2a8290af1
5 changed files with 16 additions and 17 deletions

View File

@@ -12,7 +12,7 @@ from ipalib import errors
from ipalib.crud import PKQuery, Retrieve, Search
from ipalib.frontend import Command, Method, Object
from ipalib.output import Entry, ListOfEntries, ListOfPrimaryKeys, PrimaryKey
from ipalib.parameters import Any, Bool, Flag, Int, Str
from ipalib.parameters import Bool, Dict, Flag, Int, Str
from ipalib.plugable import Registry
from ipalib.text import _
from ipapython.version import API_VERSION
@@ -216,18 +216,14 @@ class command_defaults(PKQuery):
takes_options = (
Str('params*'),
Any('kw?'),
Dict('kw?'),
)
def execute(self, name, **options):
command = self.api.Command[name]
params = options.get('params', [])
kw = options.get('kw', {})
if not isinstance(kw, dict):
raise errors.ConversionError(name=name,
error=_("must be a dictionary"))
result = command.get_default(params, **kw)