From 151001ac48cfd18e91104a9ddc8d2efcabcc5eeb Mon Sep 17 00:00:00 2001 From: Martin Kosek Date: Wed, 16 Nov 2011 09:22:41 +0100 Subject: Let PublicError accept Gettext objects Make sure that PublicError does not crash when it receives Gettext/NGettext object. Instead of throwing a type error, do the translation to receive the required unicode text. https://fedorahosted.org/freeipa/ticket/2096 --- ipalib/errors.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipalib/errors.py b/ipalib/errors.py index 092d5585..3434c26b 100644 --- a/ipalib/errors.py +++ b/ipalib/errors.py @@ -102,6 +102,7 @@ current block assignments: from inspect import isclass from text import _ as ugettext, ngettext as ungettext +from text import Gettext, NGettext from constants import TYPE_ERROR @@ -268,7 +269,9 @@ class PublicError(StandardError): else: self.strerror = self.format % kw else: - if type(message) is not unicode: + if isinstance(message, (Gettext, NGettext)): + message = unicode(message) + elif type(message) is not unicode: raise TypeError( TYPE_ERROR % ('message', unicode, message, type(message)) ) -- cgit