From 92937bd3ac90b8582634f95f4c29c5a8050a4b42 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Tue, 7 Jun 2011 02:26:58 +0200 Subject: [PATCH] Make the error_code a class attribute on MPD exceptions --- mopidy/frontends/mpd/exceptions.py | 33 ++++++++++++--------------- tests/frontends/mpd/exception_test.py | 5 ++-- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/mopidy/frontends/mpd/exceptions.py b/mopidy/frontends/mpd/exceptions.py index c6020658..661d6905 100644 --- a/mopidy/frontends/mpd/exceptions.py +++ b/mopidy/frontends/mpd/exceptions.py @@ -16,10 +16,11 @@ class MpdAckError(MopidyException): ACK_ERROR_PLAYER_SYNC = 55 ACK_ERROR_EXIST = 56 - def __init__(self, message=u'', error_code=0, index=0, command=u''): - super(MpdAckError, self).__init__(message, error_code, index, command) + error_code = 0 + + def __init__(self, message=u'', index=0, command=u''): + super(MpdAckError, self).__init__(message, index, command) self.message = message - self.error_code = error_code self.index = index self.command = command @@ -30,42 +31,38 @@ class MpdAckError(MopidyException): ACK [%(error_code)i@%(index)i] {%(command)s} description """ return u'ACK [%i@%i] {%s} %s' % ( - self.error_code, self.index, self.command, self.message) + self.__class__.error_code, self.index, self.command, self.message) class MpdArgError(MpdAckError): - def __init__(self, *args, **kwargs): - super(MpdArgError, self).__init__(*args, **kwargs) - self.error_code = MpdAckError.ACK_ERROR_ARG + error_code = MpdAckError.ACK_ERROR_ARG class MpdPasswordError(MpdAckError): - def __init__(self, *args, **kwargs): - super(MpdPasswordError, self).__init__(*args, **kwargs) - self.error_code = MpdAckError.ACK_ERROR_PASSWORD + error_code = MpdAckError.ACK_ERROR_PASSWORD class MpdPermissionError(MpdAckError): + error_code = MpdAckError.ACK_ERROR_PERMISSION + def __init__(self, *args, **kwargs): super(MpdPermissionError, self).__init__(*args, **kwargs) self.message = u'you don\'t have permission for "%s"' % self.command - self.error_code = MpdAckError.ACK_ERROR_PERMISSION class MpdUnknownCommand(MpdAckError): + error_code = MpdAckError.ACK_ERROR_UNKNOWN + def __init__(self, *args, **kwargs): super(MpdUnknownCommand, self).__init__(*args, **kwargs) self.message = u'unknown command "%s"' % self.command self.command = u'' - self.error_code = MpdAckError.ACK_ERROR_UNKNOWN class MpdNoExistError(MpdAckError): - def __init__(self, *args, **kwargs): - super(MpdNoExistError, self).__init__(*args, **kwargs) - self.error_code = MpdAckError.ACK_ERROR_NO_EXIST + error_code = MpdAckError.ACK_ERROR_NO_EXIST class MpdSystemError(MpdAckError): - def __init__(self, *args, **kwargs): - super(MpdSystemError, self).__init__(*args, **kwargs) - self.error_code = MpdAckError.ACK_ERROR_SYSTEM + error_code = MpdAckError.ACK_ERROR_SYSTEM class MpdNotImplemented(MpdAckError): + error_code = 0 + def __init__(self, *args, **kwargs): super(MpdNotImplemented, self).__init__(*args, **kwargs) self.message = u'Not implemented' diff --git a/tests/frontends/mpd/exception_test.py b/tests/frontends/mpd/exception_test.py index 6750189b..df2cd65e 100644 --- a/tests/frontends/mpd/exception_test.py +++ b/tests/frontends/mpd/exception_test.py @@ -25,10 +25,9 @@ class MpdExceptionsTest(unittest.TestCase): def test_get_mpd_ack_with_values(self): try: - raise MpdAckError('A description', error_code=6, index=7, - command='foo') + raise MpdAckError('A description', index=7, command='foo') except MpdAckError as e: - self.assertEqual(e.get_mpd_ack(), u'ACK [6@7] {foo} A description') + self.assertEqual(e.get_mpd_ack(), u'ACK [0@7] {foo} A description') def test_mpd_unknown_command(self): try: