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 <tbabej@redhat.com>
This commit is contained in:
Petr Viktorin
2015-09-18 17:52:10 +02:00
committed by Tomas Babej
parent 905d81f500
commit b71fd2d3c9

View File

@@ -102,6 +102,8 @@ current block assignments:
- **5100 - 5999** *Reserved for future use* - **5100 - 5999** *Reserved for future use*
""" """
import six
from ipalib.text import ngettext as ungettext from ipalib.text import ngettext as ungettext
from ipalib import messages from ipalib import messages
from ipaplatform.paths import paths from ipaplatform.paths import paths
@@ -124,6 +126,11 @@ class PrivateError(Exception):
setattr(self, key, value) setattr(self, key, value)
Exception.__init__(self, self.msg) Exception.__init__(self, self.msg)
if six.PY3:
@property
def message(self):
return str(self)
class SubprocessError(PrivateError): class SubprocessError(PrivateError):
""" """
@@ -251,6 +258,11 @@ class PublicError(Exception):
rval = 1 rval = 1
format = None format = None
if six.PY3:
@property
def message(self):
return str(self)
class VersionError(PublicError): class VersionError(PublicError):
""" """