From 61dadc02b6b33e525a5da94df60af340e868b6bf Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Mon, 29 Mar 2010 20:55:33 +0200 Subject: [PATCH] Add MopidyException base exception --- mopidy/__init__.py | 15 ++++++++++++++- mopidy/mpd/__init__.py | 7 ++++--- mopidy/mpd/frontend.py | 3 ++- tests/mpd/exception_test.py | 4 ++-- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/mopidy/__init__.py b/mopidy/__init__.py index a7ccade1..d94913b0 100644 --- a/mopidy/__init__.py +++ b/mopidy/__init__.py @@ -6,7 +6,20 @@ def get_version(): def get_mpd_protocol_version(): return u'0.16.0' -class SettingsError(Exception): +class MopidyException(Exception): + def __init__(self, message): + self.message = message + + @property + def message(self): + """Reimplement message field that was deprecated in Python 2.6""" + return self._message + + @message.setter + def message(self, message): + self._message = message + +class SettingsError(MopidyException): pass class Settings(object): diff --git a/mopidy/mpd/__init__.py b/mopidy/mpd/__init__.py index afb125ee..c0685891 100644 --- a/mopidy/mpd/__init__.py +++ b/mopidy/mpd/__init__.py @@ -1,6 +1,7 @@ -class MpdAckError(Exception): - def __init__(self, msg): - self.msg = msg +from mopidy import MopidyException + +class MpdAckError(MopidyException): + pass class MpdNotImplemented(MpdAckError): def __init__(self): diff --git a/mopidy/mpd/frontend.py b/mopidy/mpd/frontend.py index 5a1fa3d9..6a4cf098 100644 --- a/mopidy/mpd/frontend.py +++ b/mopidy/mpd/frontend.py @@ -65,7 +65,8 @@ class MpdFrontend(object): try: result = _request_handlers[pattern](self, **groups) except MpdAckError as e: - return self.handle_response(u'ACK %s' % e.msg, add_ok=False) + return self.handle_response(u'ACK %s' % e.message, + add_ok=False) if self.command_list is not False: return None else: diff --git a/tests/mpd/exception_test.py b/tests/mpd/exception_test.py index 61dd262b..07701d0d 100644 --- a/tests/mpd/exception_test.py +++ b/tests/mpd/exception_test.py @@ -10,10 +10,10 @@ class MpdExceptionsTest(unittest.TestCase): except KeyError as e: raise MpdAckError(unicode(e)) except MpdAckError as e: - self.assertEqual(e.msg, u'Track X not found') + self.assertEqual(e.message, u'Track X not found') def test_mpd_not_implemented_is_a_mpd_ack_error(self): try: raise MpdNotImplemented except MpdAckError as e: - self.assertEqual(e.msg, u'Not implemented') + self.assertEqual(e.message, u'Not implemented')