core: Remove playback.track_at_next

This commit is contained in:
Stein Magnus Jodal 2012-11-20 09:40:39 +01:00
parent 81466c0ab9
commit 70d4dba7aa
5 changed files with 28 additions and 35 deletions

View File

@ -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.

View File

@ -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

View File

@ -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():

View File

@ -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__

View File

@ -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):