Add 'pause' support to Spotify backend
This commit is contained in:
parent
dc69494866
commit
08a095530f
@ -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
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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):
|
||||
|
||||
@ -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):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user