curds: Add a way to get parent playlists from the playlist manager
We can figure this out a little easier on the backend side, so let's handle this there rather than on the UI side Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
71c77d0d09
commit
5a88fac10a
|
@ -73,6 +73,15 @@ class PlaylistManager(dict):
|
|||
self["Previous"].add(self.track)
|
||||
return self.track
|
||||
|
||||
def parent(self, child):
|
||||
if child in self.values():
|
||||
return self
|
||||
if isinstance(child, genre.GenrePlaylist):
|
||||
parent = self["Genre"]
|
||||
elif isinstance(child, library.LibraryPlaylist):
|
||||
parent = self["Library"]
|
||||
return parent if child in parent else None
|
||||
|
||||
def previous(self):
|
||||
self.track = self["Previous"].next()
|
||||
return self.track
|
||||
|
|
|
@ -75,6 +75,13 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertEqual(self.playman["Library"].lookup(test_library + "/"), plist)
|
||||
self.assertIsNone(self.playman["Library"].lookup("No such library"))
|
||||
|
||||
parent = self.playman.parent(plist)
|
||||
self.assertEqual(parent, self.playman["Library"])
|
||||
parent = self.playman.parent(alist)
|
||||
self.assertEqual(parent, self.playman["Library"])
|
||||
parent = self.playman.parent(self.playman["Library"])
|
||||
self.assertEqual(parent, self.playman)
|
||||
|
||||
self.playman.reset()
|
||||
self.assertEqual(len(self.playman["Library"]), 0)
|
||||
|
||||
|
@ -93,6 +100,13 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertEqual(plist.icon, "audio-x-generic-symbolic")
|
||||
self.assertEqual(len(genreman), 5)
|
||||
|
||||
parent = self.playman.parent(plist)
|
||||
self.assertEqual(parent, genreman)
|
||||
parent = self.playman.parent(genre.GenrePlaylist("Other"))
|
||||
self.assertEqual(parent, None)
|
||||
parent = self.playman.parent(genreman)
|
||||
self.assertEqual(parent, self.playman)
|
||||
|
||||
notify.cancel("new-track", genreman.add_track)
|
||||
self.playman.reset()
|
||||
self.assertEqual(len(genreman), 0)
|
||||
|
|
Loading…
Reference in New Issue