Add MpdPermissionError exception

This commit is contained in:
Stein Magnus Jodal 2011-06-03 23:25:00 +02:00
parent 4036b7dd8e
commit c84639b197
2 changed files with 15 additions and 2 deletions

View File

@ -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)

View File

@ -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"')