From c84639b1977f47aaee6bf6970102c4c50d4bbc32 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Fri, 3 Jun 2011 23:25:00 +0200 Subject: [PATCH] Add MpdPermissionError exception --- mopidy/frontends/mpd/exceptions.py | 6 ++++++ tests/frontends/mpd/exception_test.py | 11 +++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/mopidy/frontends/mpd/exceptions.py b/mopidy/frontends/mpd/exceptions.py index df90aed7..c6020658 100644 --- a/mopidy/frontends/mpd/exceptions.py +++ b/mopidy/frontends/mpd/exceptions.py @@ -42,6 +42,12 @@ class MpdPasswordError(MpdAckError): super(MpdPasswordError, self).__init__(*args, **kwargs) self.error_code = MpdAckError.ACK_ERROR_PASSWORD +class MpdPermissionError(MpdAckError): + 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): def __init__(self, *args, **kwargs): super(MpdUnknownCommand, self).__init__(*args, **kwargs) diff --git a/tests/frontends/mpd/exception_test.py b/tests/frontends/mpd/exception_test.py index 9b1b47a2..6750189b 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, - MpdSystemError, MpdNotImplemented) +from mopidy.frontends.mpd.exceptions import (MpdAckError, MpdPermissionError, + MpdUnknownCommand, MpdSystemError, MpdNotImplemented) class MpdExceptionsTest(unittest.TestCase): def test_key_error_wrapped_in_mpd_ack_error(self): @@ -43,3 +43,10 @@ class MpdExceptionsTest(unittest.TestCase): except MpdSystemError as e: self.assertEqual(e.get_mpd_ack(), u'ACK [52@0] {} foo') + + def test_mpd_permission_error(self): + try: + raise MpdPermissionError(command='foo') + except MpdPermissionError as e: + self.assertEqual(e.get_mpd_ack(), + u'ACK [4@0] {foo} you don\'t have permission for "foo"')