From b71fd2d3c9573c81a376c420df25a319149c5b7d Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Fri, 18 Sep 2015 17:52:10 +0200 Subject: Add `message` property to IPA's errors and warnings under Python 3 Python 3 removes the "message" attribute from exceptions, in favor of just calling str(). Add it back for IPA's own exception types. Reviewed-By: Tomas Babej --- ipalib/errors.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'ipalib/errors.py') diff --git a/ipalib/errors.py b/ipalib/errors.py index 49b628aad..b82d19949 100644 --- a/ipalib/errors.py +++ b/ipalib/errors.py @@ -102,6 +102,8 @@ current block assignments: - **5100 - 5999** *Reserved for future use* """ +import six + from ipalib.text import ngettext as ungettext from ipalib import messages from ipaplatform.paths import paths @@ -124,6 +126,11 @@ class PrivateError(Exception): setattr(self, key, value) Exception.__init__(self, self.msg) + if six.PY3: + @property + def message(self): + return str(self) + class SubprocessError(PrivateError): """ @@ -251,6 +258,11 @@ class PublicError(Exception): rval = 1 format = None + if six.PY3: + @property + def message(self): + return str(self) + class VersionError(PublicError): """ -- cgit