diff options
author | Alexander Bokovoy <abokovoy@redhat.com> | 2012-10-04 15:05:17 +0300 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2012-10-09 10:18:40 +0200 |
commit | 6f45de10d7251f4b3da8e28575c535f911c10ac6 (patch) | |
tree | 33ba0ef143c5402c9242d0f238c94448c825e5f3 /ipalib/errors.py | |
parent | 0575e680137ef3da1722370ccb595f2758f728a0 (diff) | |
download | freeipa-6f45de10d7251f4b3da8e28575c535f911c10ac6.tar.gz freeipa-6f45de10d7251f4b3da8e28575c535f911c10ac6.tar.xz freeipa-6f45de10d7251f4b3da8e28575c535f911c10ac6.zip |
support multi-line error messages in exceptions
Diffstat (limited to 'ipalib/errors.py')
-rw-r--r-- | ipalib/errors.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/ipalib/errors.py b/ipalib/errors.py index 7bf267290..7f1113200 100644 --- a/ipalib/errors.py +++ b/ipalib/errors.py @@ -265,11 +265,17 @@ class PublicError(StandardError): ) self.format = format self.forwarded = False - self.msg = self.format % kw + def convert_keyword(value): + if isinstance(value, list): + result=u'\n'.join(map(lambda line: unicode(line), value)) + return result + return value + kwargs = dict(map(lambda (k,v): (k, convert_keyword(v)), kw.items())) + self.msg = self.format % kwargs if isinstance(self.format, basestring): - self.strerror = ugettext(self.format) % kw + self.strerror = ugettext(self.format) % kwargs else: - self.strerror = self.format % kw + self.strerror = self.format % kwargs else: if isinstance(message, (Gettext, NGettext)): message = unicode(message) |