summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorJan Cholasta <jcholast@redhat.com>2016-06-03 07:31:38 +0200
committerJan Cholasta <jcholast@redhat.com>2016-06-15 14:03:51 +0200
commite2a8290af1848ae22db27bcde8a9dc25572a1a43 (patch)
treebe6048ab8d9280b5dc483a0e4c652b35cf2a6dd4 /ipaserver
parent3ac2215ddb9452e7ebeee43a5eaadcd589c94530 (diff)
downloadfreeipa-e2a8290af1848ae22db27bcde8a9dc25572a1a43.tar.gz
freeipa-e2a8290af1848ae22db27bcde8a9dc25572a1a43.tar.xz
freeipa-e2a8290af1848ae22db27bcde8a9dc25572a1a43.zip
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>
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/plugins/batch.py10
-rw-r--r--ipaserver/plugins/schema.py8
2 files changed, 4 insertions, 14 deletions
diff --git a/ipaserver/plugins/batch.py b/ipaserver/plugins/batch.py
index aebdc2f72..aa4ace918 100644
--- a/ipaserver/plugins/batch.py
+++ b/ipaserver/plugins/batch.py
@@ -49,7 +49,7 @@ import six
from ipalib import api, errors
from ipalib import Command
-from ipalib.parameters import Str, Any
+from ipalib.parameters import Str, Dict
from ipalib.output import Output
from ipalib.text import _
from ipalib.request import context
@@ -66,7 +66,7 @@ class batch(Command):
NO_CLI = True
takes_args = (
- Any('methods*',
+ Dict('methods*',
doc=_('Nested Methods to execute'),
),
)
@@ -90,12 +90,6 @@ class batch(Command):
def execute(self, methods=None, **options):
results = []
for arg in (methods or []):
- # As take_args = Any, no check is done before
- # Need to make sure that methods contain dict objects
- if not isinstance(arg, dict):
- raise errors.ConversionError(
- name='methods',
- error=_(u'must contain dict objects'))
params = dict()
name = None
try:
diff --git a/ipaserver/plugins/schema.py b/ipaserver/plugins/schema.py
index 80c485dfd..ae233d205 100644
--- a/ipaserver/plugins/schema.py
+++ b/ipaserver/plugins/schema.py
@@ -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)