summaryrefslogtreecommitdiffstats
path: root/ipalib/frontend.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-24 06:48:27 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-24 06:48:27 +0000
commite63c462f31bc34c5b19d243492c7644f423d55d0 (patch)
tree438b98e2a8895dcd9ffda75cf63c46041266c112 /ipalib/frontend.py
parent4215da30ad9de6467abe2c56f7a56f73001060b3 (diff)
downloadfreeipa-e63c462f31bc34c5b19d243492c7644f423d55d0.tar.gz
freeipa-e63c462f31bc34c5b19d243492c7644f423d55d0.tar.xz
freeipa-e63c462f31bc34c5b19d243492c7644f423d55d0.zip
335: If Command.__convert_scalar() is called with None, it now returns None instead of raising TypeError
Diffstat (limited to 'ipalib/frontend.py')
-rw-r--r--ipalib/frontend.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/ipalib/frontend.py b/ipalib/frontend.py
index d53a7d4d..7d75fa17 100644
--- a/ipalib/frontend.py
+++ b/ipalib/frontend.py
@@ -106,6 +106,8 @@ class Param(plugable.ReadOnly):
lock(self)
def __dispatch(self, value, scalar):
+ if value is None:
+ return None
if self.multivalue:
if type(value) in (tuple, list):
if len(value) == 0:
@@ -146,7 +148,7 @@ class Param(plugable.ReadOnly):
def __convert_scalar(self, value, index=None):
if value is None:
- raise TypeError('value cannot be None')
+ return None
converted = self.type(value)
if converted is None:
raise errors.ConversionError(
@@ -155,9 +157,12 @@ class Param(plugable.ReadOnly):
return converted
def convert(self, value):
- return self.__dispatch(value, self.__convert_scalar)
-
+ """
+ Convert/coerce ``value`` to Python type for this parameter.
+ :param value: A proposed value for this parameter.
+ """
+ return self.__dispatch(value, self.__convert_scalar)
def __validate_scalar(self, value, index=None):
if type(value) is not self.type.type: