diff --git a/mopidy/frontends/mpd/exceptions.py b/mopidy/frontends/mpd/exceptions.py index faf4ce2f..df90aed7 100644 --- a/mopidy/frontends/mpd/exceptions.py +++ b/mopidy/frontends/mpd/exceptions.py @@ -54,6 +54,11 @@ class MpdNoExistError(MpdAckError): super(MpdNoExistError, self).__init__(*args, **kwargs) self.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 + class MpdNotImplemented(MpdAckError): def __init__(self, *args, **kwargs): super(MpdNotImplemented, self).__init__(*args, **kwargs) diff --git a/tests/frontends/mpd/exception_test.py b/tests/frontends/mpd/exception_test.py index ef222d46..9b1b47a2 100644 --- a/tests/frontends/mpd/exception_test.py +++ b/tests/frontends/mpd/exception_test.py @@ -1,7 +1,7 @@ import unittest from mopidy.frontends.mpd.exceptions import (MpdAckError, MpdUnknownCommand, - MpdNotImplemented) + MpdSystemError, MpdNotImplemented) class MpdExceptionsTest(unittest.TestCase): def test_key_error_wrapped_in_mpd_ack_error(self): @@ -36,3 +36,10 @@ class MpdExceptionsTest(unittest.TestCase): except MpdAckError as e: self.assertEqual(e.get_mpd_ack(), u'ACK [5@0] {} unknown command "play"') + + def test_mpd_system_error(self): + try: + raise MpdSystemError('foo') + except MpdSystemError as e: + self.assertEqual(e.get_mpd_ack(), + u'ACK [52@0] {} foo')