curds: Create a GenrePlaylist class
This should make the UI side easier, since we can check against the playlist type when searching for the playlist. Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
fe3863a977
commit
a3fa8f1526
|
@ -7,6 +7,7 @@ from . import threadqueue
|
|||
|
||||
Album = tags.Album
|
||||
DataFile = data.DataFile
|
||||
GenrePlaylist = playlist.genre.GenrePlaylist
|
||||
LibraryPlaylist = playlist.library.LibraryPlaylist
|
||||
Playlist = playlist.playlist.Playlist
|
||||
ThreadQueue = threadqueue.ThreadQueue
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import playlist
|
||||
|
||||
class GenrePlaylist(playlist.Playlist):
|
||||
def __init__(self, name):
|
||||
playlist.Playlist.__init__(self, name.title(), "audio-x-generic-symbolic")
|
|
@ -1,5 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import collection
|
||||
from . import genre
|
||||
from . import library
|
||||
from . import playlist
|
||||
from . import previous
|
||||
|
@ -36,7 +37,7 @@ class GenreManager(PlaylistAllocator):
|
|||
def add_track(self, track):
|
||||
plist = self.lookup(track["genre"].title())
|
||||
if plist == None:
|
||||
plist = playlist.Playlist(track["genre"].title(), "audio-x-generic-symbolic")
|
||||
plist = genre.GenrePlaylist(track["genre"])
|
||||
self.add_playlist(plist)
|
||||
plist.add(track)
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import genre
|
||||
from . import playlist
|
||||
import unittest
|
||||
|
||||
class TestGenrePlaylist(unittest.TestCase):
|
||||
def test_genre_plist(self):
|
||||
plist = genre.GenrePlaylist("genre")
|
||||
self.assertIsInstance(plist, genre.GenrePlaylist)
|
||||
self.assertIsInstance(plist, playlist.Playlist)
|
||||
self.assertEqual(plist.name, "Genre")
|
||||
self.assertEqual(plist.icon, "audio-x-generic-symbolic")
|
|
@ -1,5 +1,6 @@
|
|||
# Copyright 2019 (c) Anna Schumaker.
|
||||
from . import collection
|
||||
from . import genre
|
||||
from . import library
|
||||
from . import manager
|
||||
from . import playlist
|
||||
|
@ -78,24 +79,24 @@ class TestPlaylistManager(unittest.TestCase):
|
|||
self.assertEqual(len(self.playman["Library"]), 0)
|
||||
|
||||
def test_manager_genre(self):
|
||||
genre = self.playman["Genre"]
|
||||
self.assertEqual(str(genre), "<big>Genre</big>")
|
||||
self.assertEqual(genre.name, "Genre")
|
||||
self.assertEqual(genre.icon, "audio-x-generic-symbolic")
|
||||
genreman = self.playman["Genre"]
|
||||
self.assertEqual(str(genreman), "<big>Genre</big>")
|
||||
self.assertEqual(genreman.name, "Genre")
|
||||
self.assertEqual(genreman.icon, "audio-x-generic-symbolic")
|
||||
|
||||
self.playman["Library"].add(test_library)
|
||||
library.join()
|
||||
|
||||
plist = genre.lookup("Test Genre 1")
|
||||
self.assertIsInstance(plist, playlist.Playlist)
|
||||
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(genre), 5)
|
||||
self.assertEqual(len(genreman), 5)
|
||||
|
||||
notify.cancel("new-track", genre.add_track)
|
||||
notify.cancel("new-track", genreman.add_track)
|
||||
self.playman.reset()
|
||||
self.assertEqual(len(genre), 0)
|
||||
self.assertIn((genre.add_track, False), notify.registered["new-track"])
|
||||
self.assertEqual(len(genreman), 0)
|
||||
self.assertIn((genreman.add_track, False), notify.registered["new-track"])
|
||||
|
||||
def test_manager_on_scan(self):
|
||||
plist = self.playman["Library"].add(test_library)
|
||||
|
|
|
@ -8,6 +8,7 @@ class TestEmmental(unittest.TestCase):
|
|||
def test_import_curds(self):
|
||||
self.assertEqual(curds.Album, curds.tags.Album)
|
||||
self.assertEqual(curds.DataFile, curds.data.DataFile)
|
||||
self.assertEqual(curds.GenrePlaylist, curds.playlist.genre.GenrePlaylist)
|
||||
self.assertEqual(curds.LibraryPlaylist, curds.playlist.library.LibraryPlaylist)
|
||||
self.assertEqual(curds.Playlist, curds.playlist.playlist.Playlist)
|
||||
self.assertEqual(curds.ThreadQueue, curds.threadqueue.ThreadQueue)
|
||||
|
|
Loading…
Reference in New Issue