From 00b3984e5a754b40bd10515ce9629583c78b6c8e Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Thu, 13 Jan 2011 12:42:16 -0500 Subject: 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. --- ipalib/parameters.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'ipalib/parameters.py') 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): """ -- cgit