curds: Collection playlist cleanups

- Use constants for icon and sort fields
- Move into a new special.py file

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2019-12-17 10:14:52 -05:00
parent ebd330098a
commit e4709a80e2
4 changed files with 15 additions and 13 deletions

View File

@ -1,10 +1,10 @@
# Copyright 2019 (c) Anna Schumaker.
from . import artist
from . import collection
from . import decade
from . import genre
from . import library
from . import prev
from . import special
from . import up_next
from . import user
from .. import sort
@ -16,7 +16,7 @@ class PlaylistRoot(tree.ETree):
tree.ETree.__init__(self, "root")
with self.tree_lock:
self.__insert__(0, collection.CollectionPlaylist())
self.__insert__(0, special.CollectionPlaylist())
self.__insert__(1, up_next.UpNextPlaylist())
self.__insert__(2, prev.PreviousPlaylist())
self.__insert__(3, user.UserNode())

View File

@ -2,11 +2,13 @@
from . import playlist
from .. import notify
COLL_ICON = "media-playback-start"
COLL_SORT = [ "artist", "date", "album", "discnumber", "tracknumber" ]
class CollectionPlaylist(playlist.Playlist):
def __init__(self):
sort = [ "artist", "date", "album", "discnumber", "tracknumber" ]
playlist.Playlist.__init__(self, "Collection", "media-playback-start", sort, can_loop=False)
self.loop=True
playlist.Playlist.__init__(self, "Collection", COLL_ICON, COLL_SORT, can_loop=False)
self.loop = True
def new_track(self, track):
self.add(track)

View File

@ -1,6 +1,6 @@
# Copyright 2019 (c) Anna Schumaker.
from . import collection
from . import playlist
from . import special
from .. import notify
from .. import trak
import os
@ -10,9 +10,9 @@ test_album = os.path.abspath("./trier/Test Album")
class TestCollectionPlaylist(unittest.TestCase):
def test_collection_plist(self):
plist = collection.CollectionPlaylist()
plist = special.CollectionPlaylist()
self.assertIsInstance(plist, collection.CollectionPlaylist)
self.assertIsInstance(plist, special.CollectionPlaylist)
self.assertIsInstance(plist, playlist.Playlist)
self.assertEqual(plist.name, "Collection")
self.assertEqual(plist.icon, "media-playback-start")
@ -20,7 +20,7 @@ class TestCollectionPlaylist(unittest.TestCase):
[ "artist", "date", "album", "discnumber", "tracknumber" ])
def test_collection_new_track(self):
plist = collection.CollectionPlaylist()
plist = special.CollectionPlaylist()
self.assertEqual(len(plist), 0)
track1 = trak.lookup(os.path.join(test_album, "01 - Test Track.ogg"))
@ -28,7 +28,7 @@ class TestCollectionPlaylist(unittest.TestCase):
self.assertEqual(plist[0], track1)
def test_collection_reset(self):
plist = collection.CollectionPlaylist()
plist = special.CollectionPlaylist()
plist.list.append(42)
plist.random = True
plist.loop = False
@ -41,7 +41,7 @@ class TestCollectionPlaylist(unittest.TestCase):
self.assertIn((plist.new_track, False), notify.events["new-track"])
def test_collection_loop(self):
plist = collection.CollectionPlaylist()
plist = special.CollectionPlaylist()
self.assertFalse(plist.can_loop)
self.assertTrue( plist.loop)
self.assertTrue( plist.set_loop(False))

View File

@ -1,12 +1,12 @@
# Copyright 2019 (c) Anna Schumaker.
from . import artist
from . import collection
from . import decade
from . import genre
from . import library
from . import playlist
from . import prev
from . import root
from . import special
from . import up_next
from . import user
from .. import notify
@ -54,7 +54,7 @@ class TestPlaylistRoot(unittest.TestCase):
self.assertIsInstance(self.playman, root.PlaylistRoot)
self.assertIsInstance(self.playman, tree.ETree)
self.assertIsInstance(self.playman.lookup("Collection"), collection.CollectionPlaylist)
self.assertIsInstance(self.playman.lookup("Collection"), special.CollectionPlaylist)
self.assertIsInstance(self.playman.lookup("Up Next"), up_next.UpNextPlaylist)
self.assertIsInstance(self.playman.lookup("Previous"), prev.PreviousPlaylist)
self.assertIsInstance(self.playman.lookup("Playlists"), user.UserNode)