python: add status and message attributes to NotmuchError

Providing exception objects with meaningful attribute names
is much nicer than using e.args[].

Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
This commit is contained in:
Justus Winter 2011-09-26 03:05:30 +02:00 committed by Sebastian Spaeth
parent dc8a1745e1
commit fc2d353eeb

View file

@ -93,13 +93,14 @@ STATUS.__name__ = 'STATUS'
class NotmuchError(Exception): class NotmuchError(Exception):
def __init__(self, status=None, message=None): def __init__(self, status=None, message=None):
"""Is initiated with a (notmuch.STATUS[,message=None])""" """Is initiated with a (notmuch.STATUS[,message=None])"""
super(NotmuchError, self).__init__(message, status) self.status = status
self.message = message
def __str__(self): def __str__(self):
if self.args[0] is not None: if self.message is not None:
return self.args[0] return self.message
else: else:
return STATUS.status2str(self.args[1]) return STATUS.status2str(self.status)
def _str(value): def _str(value):
"""Ensure a nicely utf-8 encoded string to pass to libnotmuch """Ensure a nicely utf-8 encoded string to pass to libnotmuch