trackdb: Have the UpNextPlaylist use Track.remove_from_playlist()
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
13be9e3ee2
commit
1cd9780cdf
10
lib/fake.py
10
lib/fake.py
|
@ -3,13 +3,17 @@
|
|||
tracks = { }
|
||||
|
||||
class FakeTrack:
|
||||
def __init__(self, n):
|
||||
def __init__(self, n, tag=None):
|
||||
self.trackid = n
|
||||
self.length = n
|
||||
self.tag = tag
|
||||
|
||||
def __int__(self):
|
||||
return self.trackid
|
||||
|
||||
def remove_from_playlist(self, name):
|
||||
self.tag.remove_track(self)
|
||||
|
||||
def Track(n):
|
||||
return tracks.setdefault(n, FakeTrack(n))
|
||||
|
||||
def Track(n, tag=None):
|
||||
return tracks.setdefault((n,tag), FakeTrack(n, tag=tag))
|
||||
|
|
|
@ -61,15 +61,15 @@ class TestUserTags(unittest.TestCase):
|
|||
self.assertFalse(u.can_loop())
|
||||
self.assertIsNone(u.next())
|
||||
|
||||
u.tracks = [ fake.Track(1), fake.Track(2), fake.Track(3) ]
|
||||
self.assertEqual(u.next(), fake.Track(1))
|
||||
self.assertEqual(u.tracks, [ fake.Track(2), fake.Track(3) ])
|
||||
u.tracks = [ fake.Track(1, u), fake.Track(2, u), fake.Track(3, u) ]
|
||||
self.assertEqual(u.next(), fake.Track(1, u))
|
||||
self.assertEqual(u.tracks, [ fake.Track(2, u), fake.Track(3, u) ])
|
||||
|
||||
self.assertEqual(u.next(), fake.Track(2))
|
||||
self.assertEqual(u.tracks, [ fake.Track(3) ])
|
||||
self.assertEqual(u.next(), fake.Track(2, u))
|
||||
self.assertEqual(u.tracks, [ fake.Track(3, u) ])
|
||||
|
||||
u.random = True
|
||||
self.assertEqual(u.next(), fake.Track(3))
|
||||
self.assertEqual(u.next(), fake.Track(3, u))
|
||||
self.assertEqual(u.tracks, [ ])
|
||||
self.assertFalse(u.random)
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ class UpNextTag(tag.Tag):
|
|||
def next(self):
|
||||
track = super().next()
|
||||
if track is not None:
|
||||
self.remove_track(track)
|
||||
track.remove_from_playlist("Up Next")
|
||||
with self.lock:
|
||||
self.current -= 1
|
||||
if len(self.tracks) == 0:
|
||||
|
|
Loading…
Reference in New Issue