Add 'pause' support to Spotify backend

This commit is contained in:
Stein Magnus Jodal 2009-12-25 21:38:25 +01:00
parent dc69494866
commit 08a095530f
4 changed files with 22 additions and 5 deletions

View File

@ -38,7 +38,7 @@ class BaseBackend(object):
return self.state
# Control methods
def stop(self):
def pause(self):
pass
def play(self, songid):
@ -47,6 +47,12 @@ class BaseBackend(object):
def play_id(self, songid):
pass
def resume(self):
pass
def stop(self):
pass
# Current/single playlist methods
def playlist_changes_since(self, version):
return None

View File

@ -96,6 +96,10 @@ class SpotifyBackend(BaseBackend):
if track is not None and self.state in (self.PLAY, self.PAUSE):
return self._format_track(track)
def pause(self):
self.state = self.PAUSE
self.spotify.pause()
def play_id(self, songid):
self.state = self.PLAY
track = self._current_playlist[songid]
@ -131,6 +135,10 @@ class SpotifyBackend(BaseBackend):
else:
return self._format_playlist(self._current_playlist)
def resume(self):
self.state = self.PLAY
self.spotify.resume()
def stop(self):
self.state = self.STOP
self.spotify.stop()

View File

@ -173,9 +173,12 @@ class MpdHandler(object):
def _password(self, password):
pass # TODO
@register(r'^pause (?P<state>[01])$')
@register(r'^pause "(?P<state>[01])"$')
def _pause(self, state):
pass # TODO
if int(state):
self.backend.pause()
else:
self.backend.resume()
@register(r'^ping$')
def _ping(self):

View File

@ -208,11 +208,11 @@ class PlaybackControlHandlerTest(unittest.TestCase):
self.assert_(result is None)
def test_pause_off(self):
result = self.h.handle_request(u'pause 0')
result = self.h.handle_request(u'pause "0"')
self.assert_(result is None)
def test_pause_on(self):
result = self.h.handle_request(u'pause 1')
result = self.h.handle_request(u'pause "1"')
self.assert_(result is None)
def test_play(self):