summaryrefslogtreecommitdiffstats
path: root/ipalib/parameters.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/parameters.py')
-rw-r--r--ipalib/parameters.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index 0630915cb..227757d63 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -227,6 +227,9 @@ class Param(ReadOnly):
# Subclasses should override this with something more specific:
type_error = _('incorrect type')
+ # _convert_scalar operates only on scalar values
+ scalar_error = _('Only one value is allowed')
+
kwargs = (
('cli_name', str, None),
('cli_short_name', str, None),
@@ -810,6 +813,9 @@ class Bool(Param):
return True
if value in self.falsehoods:
return False
+ if type(value) in (tuple, list):
+ raise ConversionError(name=self.name, index=index,
+ error=ugettext(self.scalar_error))
raise ConversionError(name=self.name, index=index,
error=ugettext(self.type_error),
)
@@ -873,6 +879,9 @@ class Number(Param):
return self.type(value)
except ValueError:
pass
+ if type(value) in (tuple, list):
+ raise ConversionError(name=self.name, index=index,
+ error=ugettext(self.scalar_error))
raise ConversionError(name=self.name, index=index,
error=ugettext(self.type_error),
)
@@ -1106,6 +1115,9 @@ class Str(Data):
return value
if type(value) in (int, float):
return self.type(value)
+ if type(value) in (tuple, list):
+ raise ConversionError(name=self.name, index=index,
+ error=ugettext(self.scalar_error))
raise ConversionError(name=self.name, index=index,
error=ugettext(self.type_error),
)