Remove Playlist._tracks workaround
This commit is contained in:
parent
fce5964395
commit
037da6f460
@ -1,5 +1,3 @@
|
||||
from copy import copy
|
||||
|
||||
from mopidy.frontends.mpd import translator
|
||||
|
||||
class ImmutableObject(object):
|
||||
@ -195,24 +193,22 @@ class Playlist(ImmutableObject):
|
||||
#: The playlist name. Read-only.
|
||||
name = None
|
||||
|
||||
#: The playlist's tracks. Read-only.
|
||||
tracks = tuple()
|
||||
|
||||
#: The playlist modification time. Read-only.
|
||||
#:
|
||||
#: :class:`datetime.datetime`, or :class:`None` if unknown.
|
||||
last_modified = None
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
self._tracks = kwargs.pop('tracks', [])
|
||||
self.__dict__['tracks'] = tuple(kwargs.pop('tracks', []))
|
||||
super(Playlist, self).__init__(*args, **kwargs)
|
||||
|
||||
@property
|
||||
def tracks(self):
|
||||
"""List of :class:`Track` elements. Read-only."""
|
||||
return copy(self._tracks)
|
||||
|
||||
@property
|
||||
def length(self):
|
||||
"""The number of tracks in the playlist. Read-only."""
|
||||
return len(self._tracks)
|
||||
return len(self.tracks)
|
||||
|
||||
def mpd_format(self, *args, **kwargs):
|
||||
return translator.playlist_to_mpd_format(self, *args, **kwargs)
|
||||
|
||||
@ -486,7 +486,7 @@ class PlaylistTest(unittest.TestCase):
|
||||
def test_tracks(self):
|
||||
tracks = [Track(), Track(), Track()]
|
||||
playlist = Playlist(tracks=tracks)
|
||||
self.assertEqual(playlist.tracks, tracks)
|
||||
self.assertEqual(list(playlist.tracks), tracks)
|
||||
self.assertRaises(AttributeError, setattr, playlist, 'tracks', None)
|
||||
|
||||
def test_length(self):
|
||||
@ -509,7 +509,7 @@ class PlaylistTest(unittest.TestCase):
|
||||
new_playlist = playlist.copy(uri=u'another uri')
|
||||
self.assertEqual(new_playlist.uri, u'another uri')
|
||||
self.assertEqual(new_playlist.name, u'a name')
|
||||
self.assertEqual(new_playlist.tracks, tracks)
|
||||
self.assertEqual(list(new_playlist.tracks), tracks)
|
||||
self.assertEqual(new_playlist.last_modified, last_modified)
|
||||
|
||||
def test_with_new_name(self):
|
||||
@ -520,7 +520,7 @@ class PlaylistTest(unittest.TestCase):
|
||||
new_playlist = playlist.copy(name=u'another name')
|
||||
self.assertEqual(new_playlist.uri, u'an uri')
|
||||
self.assertEqual(new_playlist.name, u'another name')
|
||||
self.assertEqual(new_playlist.tracks, tracks)
|
||||
self.assertEqual(list(new_playlist.tracks), tracks)
|
||||
self.assertEqual(new_playlist.last_modified, last_modified)
|
||||
|
||||
def test_with_new_tracks(self):
|
||||
@ -532,7 +532,7 @@ class PlaylistTest(unittest.TestCase):
|
||||
new_playlist = playlist.copy(tracks=new_tracks)
|
||||
self.assertEqual(new_playlist.uri, u'an uri')
|
||||
self.assertEqual(new_playlist.name, u'a name')
|
||||
self.assertEqual(new_playlist.tracks, new_tracks)
|
||||
self.assertEqual(list(new_playlist.tracks), new_tracks)
|
||||
self.assertEqual(new_playlist.last_modified, last_modified)
|
||||
|
||||
def test_with_new_last_modified(self):
|
||||
@ -544,7 +544,7 @@ class PlaylistTest(unittest.TestCase):
|
||||
new_playlist = playlist.copy(last_modified=new_last_modified)
|
||||
self.assertEqual(new_playlist.uri, u'an uri')
|
||||
self.assertEqual(new_playlist.name, u'a name')
|
||||
self.assertEqual(new_playlist.tracks, tracks)
|
||||
self.assertEqual(list(new_playlist.tracks), tracks)
|
||||
self.assertEqual(new_playlist.last_modified, new_last_modified)
|
||||
|
||||
def test_invalid_kwarg(self):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user