Add some missing MPD commands

This commit is contained in:
Stein Magnus Jodal 2010-02-14 01:20:54 +01:00
parent 0e3a98b328
commit 328191d657
2 changed files with 48 additions and 0 deletions

View File

@ -113,6 +113,10 @@ class MpdHandler(object):
response.append(u'list_OK')
return result
@register(r'^commands$')
def _commands(self):
raise MpdNotImplemented # TODO
@register(r'^consume "(?P<state>[01])"$')
def _consume(self, state):
state = int(state)
@ -135,6 +139,10 @@ class MpdHandler(object):
if self.backend.playback.current_track is not None:
return self.backend.playback.current_track.mpd_format()
@register(r'^decoders$')
def _decoders(self):
raise MpdNotImplemented # TODO
@register(r'^delete "(?P<songpos>\d+)"$')
@register(r'^delete "(?P<start>\d+):(?P<end>\d+)*"$')
def _delete(self, songpos=None, start=None, end=None):
@ -144,10 +152,18 @@ class MpdHandler(object):
def _deleteid(self, songid):
raise MpdNotImplemented # TODO
@register(r'^disableoutput "(?P<outputid>\d+)"$')
def _disableoutput(self, outputid):
raise MpdNotImplemented # TODO
@register(r'^$')
def _empty(self):
pass
@register(r'^enableoutput "(?P<outputid>\d+)"$')
def _enableoutput(self, outputid):
raise MpdNotImplemented # TODO
@register(r'^find "(?P<type>(album|artist|title))" "(?P<what>[^"]+)"$')
def _find(self, type, what):
raise MpdNotImplemented # TODO
@ -220,6 +236,10 @@ class MpdHandler(object):
def _next(self):
return self.backend.playback.next()
@register(r'^notcommands$')
def _notcommands(self):
raise MpdNotImplemented # TODO
@register(r'^outputs$')
def _outputs(self):
return [
@ -519,6 +539,10 @@ class MpdHandler(object):
def _swapid(self, songid1, songid2):
raise MpdNotImplemented # TODO
@register(r'^tagtypes$')
def _tagtypes(self):
raise MpdNotImplemented # TODO
@register(r'^update( "(?P<uri>[^"]+)")*$')
def _update(self, uri=None, rescan_unmodified_files=False):
return {'updating_db': 0} # TODO

View File

@ -779,6 +779,14 @@ class AudioOutputHandlerTest(unittest.TestCase):
def setUp(self):
self.h = handler.MpdHandler(backend=DummyBackend())
def test_enableoutput(self):
result = self.h.handle_request(u'enableoutput "0"')
self.assert_(u'ACK Not implemented' in result)
def test_disableoutput(self):
result = self.h.handle_request(u'disableoutput "0"')
self.assert_(u'ACK Not implemented' in result)
def test_outputs(self):
result = self.h.handle_request(u'outputs')
self.assert_(u'outputid: 0' in result)
@ -791,6 +799,22 @@ class ReflectionHandlerTest(unittest.TestCase):
def setUp(self):
self.h = handler.MpdHandler(backend=DummyBackend())
def test_commands(self):
result = self.h.handle_request(u'commands')
self.assert_(u'ACK Not implemented' in result)
def test_decoders(self):
result = self.h.handle_request(u'decoders')
self.assert_(u'ACK Not implemented' in result)
def test_notcommands(self):
result = self.h.handle_request(u'notcommands')
self.assert_(u'ACK Not implemented' in result)
def test_tagtypes(self):
result = self.h.handle_request(u'tagtypes')
self.assert_(u'ACK Not implemented' in result)
def test_urlhandlers(self):
result = self.h.handle_request(u'urlhandlers')
self.assert_(u'OK' in result)