emmental/curds/playlist/root.py

38 lines
1.1 KiB
Python

# 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 up_next
from . import user
from .. import sort
from .. import tree
class PlaylistRoot(tree.ETree):
def __init__(self):
tree.ETree.__init__(self, "root")
with self.tree_lock:
self.__insert__(0, collection.CollectionPlaylist())
self.__insert__(1, up_next.UpNextPlaylist())
self.__insert__(2, prev.PreviousPlaylist())
self.__insert__(3, user.UserNode())
self.__insert__(4, artist.ArtistNode())
self.__insert__(5, genre.GenreNode())
self.__insert__(6, decade.DecadeNode())
self.__insert__(7, library.LibraryNode())
def lookup(self, name):
with self.tree_lock:
for node in self.children:
if node.sort_key() == sort.key(name):
return node
return None
def reset(self):
for plist in self.children:
plist.reset()