curds: Swap out the GenreManager for the GenreNode
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
8769423fe8
commit
b37a36369f
|
@ -50,20 +50,6 @@ class PlaylistManagerBase(list):
|
|||
self.clear()
|
||||
|
||||
|
||||
class GenreManager(PlaylistManagerBase):
|
||||
def __init__(self):
|
||||
PlaylistManagerBase.__init__(self, "Genre", "audio-x-generic-symbolic",
|
||||
genre.GenrePlaylist)
|
||||
notify.register("new-track", self.add_track)
|
||||
|
||||
def add_track(self, track):
|
||||
self.lookup(track["genre"], allocate=True).add(track)
|
||||
|
||||
def reset(self):
|
||||
PlaylistManagerBase.reset(self)
|
||||
notify.register("new-track", self.add_track)
|
||||
|
||||
|
||||
class Placeholder(PlaylistManagerBase):
|
||||
def __init__(self):
|
||||
PlaylistManagerBase.__init__(self)
|
||||
|
@ -80,7 +66,7 @@ class PlaylistManager(PlaylistManagerBase):
|
|||
self.append(collection.CollectionPlaylist())
|
||||
self.append(previous.PreviousPlaylist())
|
||||
self.append(Placeholder())
|
||||
self.append(GenreManager())
|
||||
self.append(genre.GenreNode())
|
||||
self.append(library.LibraryNode())
|
||||
self.current = [ self.lookup("Collection") ]
|
||||
self.track = None
|
||||
|
@ -129,9 +115,7 @@ class PlaylistManager(PlaylistManagerBase):
|
|||
|
||||
def parent(self, child):
|
||||
parent = self
|
||||
if isinstance(child, genre.GenrePlaylist):
|
||||
parent = self.lookup("Genre")
|
||||
elif isinstance(child, library.LibraryPlaylist):
|
||||
if child and child.parent:
|
||||
return child.parent
|
||||
return parent if child in parent else None
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
|
||||
def tearDown(self):
|
||||
notify.cancel("new-track", self.playman.lookup("Collection").add)
|
||||
notify.cancel("new-track", self.playman.lookup("Genre").add_track)
|
||||
notify.cancel("new-track", self.playman.lookup("Genres").new_track)
|
||||
notify.cancel("new-playlist", self.on_new_playlist)
|
||||
notify.register("playlist-changed", self.on_playlist_changed)
|
||||
library.stop()
|
||||
|
@ -50,14 +50,11 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertIsInstance(self.playman, manager.PlaylistManager)
|
||||
self.assertIsInstance(self.playman, manager.PlaylistManagerBase)
|
||||
self.assertIsInstance(self.playman, list)
|
||||
|
||||
self.assertIsInstance(self.playman.lookup("Collection"), collection.CollectionPlaylist)
|
||||
self.assertIsInstance(self.playman.lookup("Previous"), previous.PreviousPlaylist)
|
||||
|
||||
self.assertIsInstance(self.playman.lookup("Genre"), manager.GenreManager)
|
||||
self.assertIsInstance(self.playman.lookup("Genre"), manager.PlaylistManagerBase)
|
||||
self.assertIsInstance(self.playman.lookup("Genre"), list)
|
||||
|
||||
self.assertIsInstance(self.playman.lookup("Libraries"), library.LibraryNode)
|
||||
self.assertIsInstance(self.playman.lookup("Genres"), genre.GenreNode)
|
||||
self.assertIsInstance(self.playman.lookup("Libraries"), library.LibraryNode)
|
||||
|
||||
self.assertEqual(self.playman.current, [ self.playman.lookup("Collection") ])
|
||||
self.assertEqual(self.playman.track, None)
|
||||
|
@ -68,7 +65,7 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertEqual( self.playman[0], self.playman.lookup("Collection"))
|
||||
self.assertEqual( self.playman[1], self.playman.lookup("Previous"))
|
||||
self.assertIsInstance(self.playman[2], manager.Placeholder)
|
||||
self.assertEqual( self.playman[3], self.playman.lookup("Genre"))
|
||||
self.assertEqual( self.playman[3], self.playman.lookup("Genres"))
|
||||
self.assertEqual( self.playman[4], self.playman.lookup("Libraries"))
|
||||
self.assertIsNone(self.playman[999])
|
||||
|
||||
|
@ -84,33 +81,6 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertIsNone(place.lookup("Test", allocate=True))
|
||||
self.assertEqual(len(place), 0)
|
||||
|
||||
def test_manager_genre(self):
|
||||
genreman = self.playman.lookup("Genre")
|
||||
self.assertEqual(str(genreman), "<big>Genre</big>")
|
||||
self.assertEqual(genreman.name, "Genre")
|
||||
self.assertEqual(genreman.icon, "audio-x-generic-symbolic")
|
||||
|
||||
self.playman.lookup("Libraries").lookup(test_library)
|
||||
library.join()
|
||||
|
||||
plist = genreman.lookup("Test Genre 1")
|
||||
self.assertIsInstance(plist, genre.GenrePlaylist)
|
||||
self.assertEqual(plist.name, "Test Genre 1")
|
||||
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)
|
||||
self.assertIn((genreman.add_track, False), notify.registered["new-track"])
|
||||
|
||||
def test_manager_on_scan(self):
|
||||
plist = self.playman.lookup("Libraries").lookup(test_library)
|
||||
alist = self.playman.lookup("Libraries").lookup(test_album)
|
||||
|
@ -184,7 +154,7 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
clist = self.playman.lookup("Collection")
|
||||
plist = self.playman.lookup("Libraries").lookup(test_library)
|
||||
library.join()
|
||||
glist = self.playman.lookup("Genre").lookup("Test Genre 1")
|
||||
glist = self.playman.lookup("Genres").lookup("Test Genre 1")
|
||||
|
||||
self.assertEqual(self.playman.current, [ clist ])
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class TestManager(unittest.TestCase):
|
|||
curds.notify.register("new-playlist", manager.MgrModel.on_new_playlist, queue=True)
|
||||
|
||||
self.model = manager.ManagerModel()
|
||||
self.genre = curds.PlaylistManager.lookup("Genre")
|
||||
self.genre = curds.PlaylistManager.lookup("Genres")
|
||||
curds.Track.lookup(os.path.join(test_album1, "01 - Test Track 01.ogg"))
|
||||
curds.Track.lookup(os.path.join(test_album2, "01 - Test Track 01.ogg"))
|
||||
|
||||
|
@ -62,7 +62,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertRaises(ValueError, self.model.get_iter, path)
|
||||
|
||||
idx = plist_mgr.index(self.genre)
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
path = Gtk.TreePath.new_from_indices([ idx, i ])
|
||||
iter = self.model.get_iter(path)
|
||||
self.assertTreeIterEqual(iter, (idx + 1, i + 1, 0))
|
||||
|
@ -76,7 +76,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertEqual(path.get_indices(), [ i ])
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
iter.user_data2 = i + 1
|
||||
path = self.model.get_path(iter)
|
||||
self.assertEqual(path.get_indices(), [ iter.user_data - 1, i ])
|
||||
|
@ -105,7 +105,7 @@ class TestManager(unittest.TestCase):
|
|||
child = self.model.iter_children(iter)
|
||||
self.assertTreeIterEqual(child, (iter.user_data, 1, 0))
|
||||
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
child.user_data2 = i + 1
|
||||
self.assertIsNone(self.model.iter_children(child))
|
||||
|
||||
|
@ -118,7 +118,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertEqual(self.model.iter_has_child(iter), expected)
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre) + 1):
|
||||
for i in range(self.genre.n_children() + 1):
|
||||
iter.user_data2 = i + 1
|
||||
self.assertFalse(self.model.iter_has_child(iter))
|
||||
|
||||
|
@ -132,7 +132,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertEqual(self.model.iter_n_children(iter), n)
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre) + 1):
|
||||
for i in range(self.genre.n_children() + 1):
|
||||
iter.user_data2 = i + 1
|
||||
self.assertEqual(self.model.iter_n_children(iter), 0)
|
||||
|
||||
|
@ -145,7 +145,7 @@ class TestManager(unittest.TestCase):
|
|||
self.assertIsNone(self.model.iter_nth_child(None, len(plist_mgr)))
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
child = self.model.iter_nth_child(iter, i)
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
self.assertIsNone(self.model.iter_nth_child(iter, i + 1))
|
||||
|
@ -159,7 +159,7 @@ class TestManager(unittest.TestCase):
|
|||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
child = self.model.iter_children(iter)
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
child = self.model.iter_next(child)
|
||||
self.assertIsNone(child)
|
||||
|
@ -172,7 +172,7 @@ class TestManager(unittest.TestCase):
|
|||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
iter = self.model.iter_children(iter)
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
parent = self.model.iter_parent(iter)
|
||||
self.assertTreeIterEqual(parent, (iter.user_data, 0, 0))
|
||||
iter = self.model.iter_next(iter)
|
||||
|
@ -186,7 +186,7 @@ class TestManager(unittest.TestCase):
|
|||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
iter = self.model.iter_nth_child(iter, 1)
|
||||
for i in range(len(self.genre) - 1, -1, -1):
|
||||
for i in range(self.genre.n_children() - 1, -1, -1):
|
||||
self.assertTreeIterEqual(iter, (iter.user_data, i + 1, 0))
|
||||
iter = self.model.iter_previous(iter)
|
||||
self.assertIsNone(iter)
|
||||
|
@ -205,13 +205,13 @@ class TestManager(unittest.TestCase):
|
|||
iter.user_data2 = 1
|
||||
for i in range(len(plist_mgr) + 1):
|
||||
iter.user_data = i + 1
|
||||
expected = self.genre[0] if plist_mgr[i] == self.genre else None
|
||||
expected = self.genre.nth_child(0) if plist_mgr[i] == self.genre else None
|
||||
self.assertEqual(self.model.iter_playlist(iter), expected)
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre) + 1):
|
||||
for i in range(self.genre.n_children() + 1):
|
||||
iter.user_data2 = i + 1
|
||||
expected = self.genre[i] if i < len(self.genre) else None
|
||||
expected = self.genre.nth_child(i) if i < self.genre.n_children() else None
|
||||
self.assertEqual(self.model.iter_playlist(iter), expected)
|
||||
|
||||
def test_model_iter_valid(self):
|
||||
|
@ -231,8 +231,8 @@ class TestManager(unittest.TestCase):
|
|||
self.assertTreeIterEqual(iter, (i + 1, 0, 0))
|
||||
|
||||
iter = self.model.playlist_iter(self.genre)
|
||||
for i in range(len(self.genre)):
|
||||
child = self.model.playlist_iter(self.genre[i])
|
||||
for i in range(self.genre.n_children()):
|
||||
child = self.model.playlist_iter(self.genre.nth_child(i))
|
||||
self.assertTreeIterEqual(child, (iter.user_data, i + 1, 0))
|
||||
|
||||
def test_manager_selection(self):
|
||||
|
@ -254,12 +254,12 @@ class TestManager(unittest.TestCase):
|
|||
def test_manager_activate(self):
|
||||
column = manager.Treeview.get_column(1)
|
||||
filter = self.model.filter
|
||||
child = self.model.playlist_iter(self.genre[0])
|
||||
child = self.model.playlist_iter(self.genre.nth_child(0))
|
||||
(res, iter) = filter.convert_child_iter_to_iter(child)
|
||||
path = filter.get_path(iter)
|
||||
|
||||
manager.Treeview.row_activated(path, column)
|
||||
self.assertEqual(plist_mgr.current[0], self.genre[0])
|
||||
self.assertEqual(plist_mgr.current[0], self.genre.nth_child(0))
|
||||
|
||||
for i in range(3):
|
||||
path = Gtk.TreePath(i)
|
||||
|
@ -283,9 +283,9 @@ class TestManager(unittest.TestCase):
|
|||
if plist_mgr[i] != self.genre:
|
||||
self.assertIsNone(filter.iter_nth_child(iter, 0))
|
||||
else:
|
||||
for i in range(len(self.genre)):
|
||||
for i in range(self.genre.n_children()):
|
||||
child = filter.iter_nth_child(iter, i)
|
||||
self.assertEqual(filter.get_value(child, 1), str(self.genre[i]))
|
||||
self.assertEqual(filter.get_value(child, 1), str(self.genre.nth_child(i)))
|
||||
|
||||
entry.set_text("*v")
|
||||
self.model.set_filter_text(entry)
|
||||
|
@ -308,7 +308,7 @@ class TestManager(unittest.TestCase):
|
|||
if plist_mgr[i] != self.genre:
|
||||
self.assertIsNone(child)
|
||||
else:
|
||||
self.assertEqual(filter.get_value(child, 1), str(self.genre[1]))
|
||||
self.assertEqual(filter.get_value(child, 1), str(self.genre.nth_child(1)))
|
||||
|
||||
entry.set_text("")
|
||||
self.model.set_filter_text(entry)
|
||||
|
|
Loading…
Reference in New Issue