BaseException.message is deprecated since Python 2.6

PEP 352 deprecated the message attribute of the BaseException class.
Using the message attribute will result in warnings like this:

DeprecationWarning: BaseException.message has been deprecated as of Python 2.6

Using unicode(exc) is the suggested replacement.

Change-Id: Ibf3c56e4baa6ad83e2b95a948787e9d02cf074d4
This commit is contained in:
Johannes Erdfelt 2013-07-26 15:16:13 +00:00
parent 363155950c
commit 2af59ea388
2 changed files with 6 additions and 5 deletions

View File

@ -77,7 +77,8 @@ def forever_retry_uncaught_exceptions(infunc):
try:
return infunc(*args, **kwargs)
except Exception as exc:
if exc.message == last_exc_message:
this_exc_message = unicode(exc)
if this_exc_message == last_exc_message:
exc_count += 1
else:
exc_count = 1
@ -85,12 +86,12 @@ def forever_retry_uncaught_exceptions(infunc):
# the exception message changes
cur_time = int(time.time())
if (cur_time - last_log_time > 60 or
exc.message != last_exc_message):
this_exc_message != last_exc_message):
logging.exception(
_('Unexpected exception occurred %d time(s)... '
'retrying.') % exc_count)
last_log_time = cur_time
last_exc_message = exc.message
last_exc_message = this_exc_message
exc_count = 0
# This should be a very rare event. In case it isn't, do
# a sleep.

View File

@ -49,9 +49,9 @@ def parse_isotime(timestr):
try:
return iso8601.parse_date(timestr)
except iso8601.ParseError as e:
raise ValueError(e.message)
raise ValueError(unicode(e))
except TypeError as e:
raise ValueError(e.message)
raise ValueError(unicode(e))
def strtime(at=None, fmt=PERFECT_TIME_FORMAT):