summaryrefslogtreecommitdiffstats
path: root/ipalib/errors.py
diff options
context:
space:
mode:
authorAlexander Bokovoy <abokovoy@redhat.com>2012-10-04 15:05:17 +0300
committerMartin Kosek <mkosek@redhat.com>2012-10-09 10:18:40 +0200
commit6f45de10d7251f4b3da8e28575c535f911c10ac6 (patch)
tree33ba0ef143c5402c9242d0f238c94448c825e5f3 /ipalib/errors.py
parent0575e680137ef3da1722370ccb595f2758f728a0 (diff)
downloadfreeipa-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.py12
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)