summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2011-01-13 12:42:16 -0500
committerEndi S. Dewata <edewata@redhat.com>2011-01-13 21:48:07 -0500
commit00b3984e5a754b40bd10515ce9629583c78b6c8e (patch)
treebc8e8f11f313ba68f896dd6e8a80eb447610eb6d
parent34860475835c6ccb5c3ebb08bce0b3b65e656ee1 (diff)
downloadfreeipa-00b3984e5a754b40bd10515ce9629583c78b6c8e.tar.gz
freeipa-00b3984e5a754b40bd10515ce9629583c78b6c8e.tar.xz
freeipa-00b3984e5a754b40bd10515ce9629583c78b6c8e.zip
Support for str in StrEnum.
The StrEnum class has been modified to accept str value and convert it into unicode. This is to fix encoding issue on F14.
-rw-r--r--ipalib/parameters.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index 128c8a463..78eacde25 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -1384,6 +1384,24 @@ class StrEnum(Enum):
type = unicode
+ def _convert_scalar(self, value, index=None):
+ """
+ Convert a single scalar value.
+ """
+ if type(value) is self.type:
+ return value
+ if type(value) is str:
+ try:
+ return value.decode('utf-8')
+ except UnicodeDecodeError:
+ raise ConversionError(
+ name=self.name, index=index,
+ error=ugettext(self.scalar_error)
+ )
+ raise ConversionError(name=self.name, index=index,
+ error=ugettext(self.type_error),
+ )
+
class List(Param):
"""