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
|
return self.state
|
||||||
|
|
||||||
# Control methods
|
# Control methods
|
||||||
def stop(self):
|
def pause(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def play(self, songid):
|
def play(self, songid):
|
||||||
@ -47,6 +47,12 @@ class BaseBackend(object):
|
|||||||
def play_id(self, songid):
|
def play_id(self, songid):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def resume(self):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def stop(self):
|
||||||
|
pass
|
||||||
|
|
||||||
# Current/single playlist methods
|
# Current/single playlist methods
|
||||||
def playlist_changes_since(self, version):
|
def playlist_changes_since(self, version):
|
||||||
return None
|
return None
|
||||||
|
|||||||
@ -96,6 +96,10 @@ class SpotifyBackend(BaseBackend):
|
|||||||
if track is not None and self.state in (self.PLAY, self.PAUSE):
|
if track is not None and self.state in (self.PLAY, self.PAUSE):
|
||||||
return self._format_track(track)
|
return self._format_track(track)
|
||||||
|
|
||||||
|
def pause(self):
|
||||||
|
self.state = self.PAUSE
|
||||||
|
self.spotify.pause()
|
||||||
|
|
||||||
def play_id(self, songid):
|
def play_id(self, songid):
|
||||||
self.state = self.PLAY
|
self.state = self.PLAY
|
||||||
track = self._current_playlist[songid]
|
track = self._current_playlist[songid]
|
||||||
@ -131,6 +135,10 @@ class SpotifyBackend(BaseBackend):
|
|||||||
else:
|
else:
|
||||||
return self._format_playlist(self._current_playlist)
|
return self._format_playlist(self._current_playlist)
|
||||||
|
|
||||||
|
def resume(self):
|
||||||
|
self.state = self.PLAY
|
||||||
|
self.spotify.resume()
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
self.state = self.STOP
|
self.state = self.STOP
|
||||||
self.spotify.stop()
|
self.spotify.stop()
|
||||||
|
|||||||
@ -173,9 +173,12 @@ class MpdHandler(object):
|
|||||||
def _password(self, password):
|
def _password(self, password):
|
||||||
pass # TODO
|
pass # TODO
|
||||||
|
|
||||||
@register(r'^pause (?P<state>[01])$')
|
@register(r'^pause "(?P<state>[01])"$')
|
||||||
def _pause(self, state):
|
def _pause(self, state):
|
||||||
pass # TODO
|
if int(state):
|
||||||
|
self.backend.pause()
|
||||||
|
else:
|
||||||
|
self.backend.resume()
|
||||||
|
|
||||||
@register(r'^ping$')
|
@register(r'^ping$')
|
||||||
def _ping(self):
|
def _ping(self):
|
||||||
|
|||||||
@ -208,11 +208,11 @@ class PlaybackControlHandlerTest(unittest.TestCase):
|
|||||||
self.assert_(result is None)
|
self.assert_(result is None)
|
||||||
|
|
||||||
def test_pause_off(self):
|
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)
|
self.assert_(result is None)
|
||||||
|
|
||||||
def test_pause_on(self):
|
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)
|
self.assert_(result is None)
|
||||||
|
|
||||||
def test_play(self):
|
def test_play(self):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user