diff --git a/docs/changes.rst b/docs/changes.rst index 5ed689a3..4bdacd78 100644 --- a/docs/changes.rst +++ b/docs/changes.rst @@ -149,6 +149,9 @@ backends: This makes it possible to support lookup of artist or album URIs which then can expand to a list of tracks. +- Remove :attr:`mopidy.core.PlaybackController.track_at_next`. Use + :attr:`mopidy.core.PlaybackController.tl_track_at_next` instead. + - Added support for connecting to the Spotify service through an HTTP or SOCKS proxy, which is supported by pyspotify >= 1.9. diff --git a/mopidy/core/playback.py b/mopidy/core/playback.py index e562a9b1..613f21ba 100644 --- a/mopidy/core/playback.py +++ b/mopidy/core/playback.py @@ -168,17 +168,6 @@ class PlaybackController(object): Not necessarily the same track as :attr:`tl_track_at_next`. """ - def get_track_at_next(self): - return self.tl_track_at_next and self.tl_track_at_next.track - - track_at_next = property(get_track_at_next) - """ - The track that will be played if calling :meth:`next()`. - - Read-only. A :class:`mopidy.models.Track` extracted from - :attr:`tl_track_at_next` for convenience. - """ - def get_tl_track_at_next(self): tl_tracks = self.core.tracklist.tl_tracks diff --git a/mopidy/frontends/mpris/objects.py b/mopidy/frontends/mpris/objects.py index 51b0d7e8..93f14a2d 100644 --- a/mopidy/frontends/mpris/objects.py +++ b/mopidy/frontends/mpris/objects.py @@ -419,8 +419,8 @@ class MprisObject(dbus.service.Object): if not self.get_CanControl(): return False return ( - self.core.playback.current_track.get() is not None or - self.core.playback.track_at_next.get() is not None) + self.core.playback.current_tl_track.get() is not None or + self.core.playback.tl_track_at_next.get() is not None) def get_CanPause(self): if not self.get_CanControl(): diff --git a/tests/backends/base/__init__.py b/tests/backends/base/__init__.py index c415ef23..477f8cc1 100644 --- a/tests/backends/base/__init__.py +++ b/tests/backends/base/__init__.py @@ -3,8 +3,9 @@ from __future__ import unicode_literals def populate_tracklist(func): def wrapper(self): + self.tl_tracks = [] for track in self.tracks: - self.core.tracklist.add(track) + self.tl_tracks.append(self.core.tracklist.add(track)) return func(self) wrapper.__name__ = func.__name__ diff --git a/tests/backends/base/playback.py b/tests/backends/base/playback.py index 94fc7759..619efbb2 100644 --- a/tests/backends/base/playback.py +++ b/tests/backends/base/playback.py @@ -234,29 +234,29 @@ class PlaybackControllerTest(object): @populate_tracklist def test_next_track_before_play(self): - self.assertEqual(self.playback.track_at_next, self.tracks[0]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[0]) @populate_tracklist def test_next_track_during_play(self): self.playback.play() - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) @populate_tracklist def test_next_track_after_previous(self): self.playback.play() self.playback.next() self.playback.previous() - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) def test_next_track_empty_playlist(self): - self.assertEqual(self.playback.track_at_next, None) + self.assertEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_next_track_at_end_of_playlist(self): self.playback.play() for _ in self.tracklist.tl_tracks[1:]: self.playback.next() - self.assertEqual(self.playback.track_at_next, None) + self.assertEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_next_track_at_end_of_playlist_with_repeat(self): @@ -264,13 +264,13 @@ class PlaybackControllerTest(object): self.playback.play() for _ in self.tracks[1:]: self.playback.next() - self.assertEqual(self.playback.track_at_next, self.tracks[0]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[0]) @populate_tracklist def test_next_track_with_random(self): random.seed(1) self.playback.random = True - self.assertEqual(self.playback.track_at_next, self.tracks[2]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2]) @populate_tracklist def test_next_with_consume(self): @@ -300,9 +300,9 @@ class PlaybackControllerTest(object): def test_next_track_with_random_after_append_playlist(self): random.seed(1) self.playback.random = True - self.assertEqual(self.playback.track_at_next, self.tracks[2]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2]) self.tracklist.append(self.tracks[:1]) - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) @populate_tracklist def test_end_of_track(self): @@ -370,29 +370,29 @@ class PlaybackControllerTest(object): @populate_tracklist def test_end_of_track_track_before_play(self): - self.assertEqual(self.playback.track_at_next, self.tracks[0]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[0]) @populate_tracklist def test_end_of_track_track_during_play(self): self.playback.play() - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) @populate_tracklist def test_end_of_track_track_after_previous(self): self.playback.play() self.playback.on_end_of_track() self.playback.previous() - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) def test_end_of_track_track_empty_playlist(self): - self.assertEqual(self.playback.track_at_next, None) + self.assertEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_end_of_track_track_at_end_of_playlist(self): self.playback.play() for _ in self.tracklist.tl_tracks[1:]: self.playback.on_end_of_track() - self.assertEqual(self.playback.track_at_next, None) + self.assertEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_end_of_track_track_at_end_of_playlist_with_repeat(self): @@ -400,13 +400,13 @@ class PlaybackControllerTest(object): self.playback.play() for _ in self.tracks[1:]: self.playback.on_end_of_track() - self.assertEqual(self.playback.track_at_next, self.tracks[0]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[0]) @populate_tracklist def test_end_of_track_track_with_random(self): random.seed(1) self.playback.random = True - self.assertEqual(self.playback.track_at_next, self.tracks[2]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2]) @populate_tracklist def test_end_of_track_with_consume(self): @@ -428,9 +428,9 @@ class PlaybackControllerTest(object): def test_end_of_track_track_with_random_after_append_playlist(self): random.seed(1) self.playback.random = True - self.assertEqual(self.playback.track_at_next, self.tracks[2]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[2]) self.tracklist.append(self.tracks[:1]) - self.assertEqual(self.playback.track_at_next, self.tracks[1]) + self.assertEqual(self.playback.tl_track_at_next, self.tl_tracks[1]) @populate_tracklist def test_previous_track_before_play(self): @@ -830,14 +830,14 @@ class PlaybackControllerTest(object): self.playback.play() for _ in self.tracks[1:]: self.playback.next() - self.assertEqual(self.playback.track_at_next, None) + self.assertEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_random_until_end_of_playlist_and_play_from_start(self): self.playback.repeat = True for _ in self.tracks: self.playback.next() - self.assertNotEqual(self.playback.track_at_next, None) + self.assertNotEqual(self.playback.tl_track_at_next, None) self.assertEqual(self.playback.state, PlaybackState.STOPPED) self.playback.play() self.assertEqual(self.playback.state, PlaybackState.PLAYING) @@ -849,7 +849,7 @@ class PlaybackControllerTest(object): self.playback.play() for _ in self.tracks: self.playback.next() - self.assertNotEqual(self.playback.track_at_next, None) + self.assertNotEqual(self.playback.tl_track_at_next, None) @populate_tracklist def test_played_track_during_random_not_played_again(self):