core: Remove playback.track_at_next
This commit is contained in:
parent
81466c0ab9
commit
70d4dba7aa
@ -149,6 +149,9 @@ backends:
|
|||||||
This makes it possible to support lookup of artist or album URIs which then
|
This makes it possible to support lookup of artist or album URIs which then
|
||||||
can expand to a list of tracks.
|
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
|
- Added support for connecting to the Spotify service through an HTTP or SOCKS
|
||||||
proxy, which is supported by pyspotify >= 1.9.
|
proxy, which is supported by pyspotify >= 1.9.
|
||||||
|
|
||||||
|
|||||||
@ -168,17 +168,6 @@ class PlaybackController(object):
|
|||||||
Not necessarily the same track as :attr:`tl_track_at_next`.
|
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):
|
def get_tl_track_at_next(self):
|
||||||
tl_tracks = self.core.tracklist.tl_tracks
|
tl_tracks = self.core.tracklist.tl_tracks
|
||||||
|
|
||||||
|
|||||||
@ -419,8 +419,8 @@ class MprisObject(dbus.service.Object):
|
|||||||
if not self.get_CanControl():
|
if not self.get_CanControl():
|
||||||
return False
|
return False
|
||||||
return (
|
return (
|
||||||
self.core.playback.current_track.get() is not None or
|
self.core.playback.current_tl_track.get() is not None or
|
||||||
self.core.playback.track_at_next.get() is not None)
|
self.core.playback.tl_track_at_next.get() is not None)
|
||||||
|
|
||||||
def get_CanPause(self):
|
def get_CanPause(self):
|
||||||
if not self.get_CanControl():
|
if not self.get_CanControl():
|
||||||
|
|||||||
@ -3,8 +3,9 @@ from __future__ import unicode_literals
|
|||||||
|
|
||||||
def populate_tracklist(func):
|
def populate_tracklist(func):
|
||||||
def wrapper(self):
|
def wrapper(self):
|
||||||
|
self.tl_tracks = []
|
||||||
for track in self.tracks:
|
for track in self.tracks:
|
||||||
self.core.tracklist.add(track)
|
self.tl_tracks.append(self.core.tracklist.add(track))
|
||||||
return func(self)
|
return func(self)
|
||||||
|
|
||||||
wrapper.__name__ = func.__name__
|
wrapper.__name__ = func.__name__
|
||||||
|
|||||||
@ -234,29 +234,29 @@ class PlaybackControllerTest(object):
|
|||||||
|
|
||||||
@populate_tracklist
|
@populate_tracklist
|
||||||
def test_next_track_before_play(self):
|
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
|
@populate_tracklist
|
||||||
def test_next_track_during_play(self):
|
def test_next_track_during_play(self):
|
||||||
self.playback.play()
|
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
|
@populate_tracklist
|
||||||
def test_next_track_after_previous(self):
|
def test_next_track_after_previous(self):
|
||||||
self.playback.play()
|
self.playback.play()
|
||||||
self.playback.next()
|
self.playback.next()
|
||||||
self.playback.previous()
|
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):
|
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
|
@populate_tracklist
|
||||||
def test_next_track_at_end_of_playlist(self):
|
def test_next_track_at_end_of_playlist(self):
|
||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracklist.tl_tracks[1:]:
|
for _ in self.tracklist.tl_tracks[1:]:
|
||||||
self.playback.next()
|
self.playback.next()
|
||||||
self.assertEqual(self.playback.track_at_next, None)
|
self.assertEqual(self.playback.tl_track_at_next, None)
|
||||||
|
|
||||||
@populate_tracklist
|
@populate_tracklist
|
||||||
def test_next_track_at_end_of_playlist_with_repeat(self):
|
def test_next_track_at_end_of_playlist_with_repeat(self):
|
||||||
@ -264,13 +264,13 @@ class PlaybackControllerTest(object):
|
|||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracks[1:]:
|
for _ in self.tracks[1:]:
|
||||||
self.playback.next()
|
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
|
@populate_tracklist
|
||||||
def test_next_track_with_random(self):
|
def test_next_track_with_random(self):
|
||||||
random.seed(1)
|
random.seed(1)
|
||||||
self.playback.random = True
|
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
|
@populate_tracklist
|
||||||
def test_next_with_consume(self):
|
def test_next_with_consume(self):
|
||||||
@ -300,9 +300,9 @@ class PlaybackControllerTest(object):
|
|||||||
def test_next_track_with_random_after_append_playlist(self):
|
def test_next_track_with_random_after_append_playlist(self):
|
||||||
random.seed(1)
|
random.seed(1)
|
||||||
self.playback.random = True
|
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.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
|
@populate_tracklist
|
||||||
def test_end_of_track(self):
|
def test_end_of_track(self):
|
||||||
@ -370,29 +370,29 @@ class PlaybackControllerTest(object):
|
|||||||
|
|
||||||
@populate_tracklist
|
@populate_tracklist
|
||||||
def test_end_of_track_track_before_play(self):
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_track_during_play(self):
|
def test_end_of_track_track_during_play(self):
|
||||||
self.playback.play()
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_track_after_previous(self):
|
def test_end_of_track_track_after_previous(self):
|
||||||
self.playback.play()
|
self.playback.play()
|
||||||
self.playback.on_end_of_track()
|
self.playback.on_end_of_track()
|
||||||
self.playback.previous()
|
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):
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_track_at_end_of_playlist(self):
|
def test_end_of_track_track_at_end_of_playlist(self):
|
||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracklist.tl_tracks[1:]:
|
for _ in self.tracklist.tl_tracks[1:]:
|
||||||
self.playback.on_end_of_track()
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_track_at_end_of_playlist_with_repeat(self):
|
def test_end_of_track_track_at_end_of_playlist_with_repeat(self):
|
||||||
@ -400,13 +400,13 @@ class PlaybackControllerTest(object):
|
|||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracks[1:]:
|
for _ in self.tracks[1:]:
|
||||||
self.playback.on_end_of_track()
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_track_with_random(self):
|
def test_end_of_track_track_with_random(self):
|
||||||
random.seed(1)
|
random.seed(1)
|
||||||
self.playback.random = True
|
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
|
@populate_tracklist
|
||||||
def test_end_of_track_with_consume(self):
|
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):
|
def test_end_of_track_track_with_random_after_append_playlist(self):
|
||||||
random.seed(1)
|
random.seed(1)
|
||||||
self.playback.random = True
|
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.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
|
@populate_tracklist
|
||||||
def test_previous_track_before_play(self):
|
def test_previous_track_before_play(self):
|
||||||
@ -830,14 +830,14 @@ class PlaybackControllerTest(object):
|
|||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracks[1:]:
|
for _ in self.tracks[1:]:
|
||||||
self.playback.next()
|
self.playback.next()
|
||||||
self.assertEqual(self.playback.track_at_next, None)
|
self.assertEqual(self.playback.tl_track_at_next, None)
|
||||||
|
|
||||||
@populate_tracklist
|
@populate_tracklist
|
||||||
def test_random_until_end_of_playlist_and_play_from_start(self):
|
def test_random_until_end_of_playlist_and_play_from_start(self):
|
||||||
self.playback.repeat = True
|
self.playback.repeat = True
|
||||||
for _ in self.tracks:
|
for _ in self.tracks:
|
||||||
self.playback.next()
|
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.assertEqual(self.playback.state, PlaybackState.STOPPED)
|
||||||
self.playback.play()
|
self.playback.play()
|
||||||
self.assertEqual(self.playback.state, PlaybackState.PLAYING)
|
self.assertEqual(self.playback.state, PlaybackState.PLAYING)
|
||||||
@ -849,7 +849,7 @@ class PlaybackControllerTest(object):
|
|||||||
self.playback.play()
|
self.playback.play()
|
||||||
for _ in self.tracks:
|
for _ in self.tracks:
|
||||||
self.playback.next()
|
self.playback.next()
|
||||||
self.assertNotEqual(self.playback.track_at_next, None)
|
self.assertNotEqual(self.playback.tl_track_at_next, None)
|
||||||
|
|
||||||
@populate_tracklist
|
@populate_tracklist
|
||||||
def test_played_track_during_random_not_played_again(self):
|
def test_played_track_during_random_not_played_again(self):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user