lib: Give TagStores an init_track() function
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
def33c625a
commit
4da6c6b36e
|
@ -35,6 +35,12 @@ class TagStore:
|
|||
t.add_track(track)
|
||||
return t
|
||||
|
||||
def init_track(self, name, track):
|
||||
with self.lock:
|
||||
if (t := self.store.get(name)) != None:
|
||||
t.init_track(track)
|
||||
return t
|
||||
|
||||
def remove(self, t, track=None):
|
||||
if track:
|
||||
t.remove_track(track)
|
||||
|
|
|
@ -4,6 +4,10 @@ from . import tagstore
|
|||
import threading
|
||||
import unittest
|
||||
|
||||
class FakeTrack:
|
||||
def __init__(self, trackid):
|
||||
self.trackid = trackid
|
||||
|
||||
class TestTagStore(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.added = None
|
||||
|
@ -70,6 +74,7 @@ class TestTagStore(unittest.TestCase):
|
|||
|
||||
def test_tag_store_state(self):
|
||||
store = tagstore.TagStore()
|
||||
track = FakeTrack(1)
|
||||
tag = store.add("test", 1)
|
||||
|
||||
state = store.__getstate__()
|
||||
|
@ -81,3 +86,6 @@ class TestTagStore(unittest.TestCase):
|
|||
self.assertIsInstance(store.lock, type(threading.Lock()))
|
||||
self.assertIsInstance(store.Added, publisher.Publisher)
|
||||
self.assertIsInstance(store.Removed, publisher.Publisher)
|
||||
|
||||
self.assertEqual(store.init_track("test", track), tag)
|
||||
self.assertEqual(tag.tracks, [ track ])
|
||||
|
|
Loading…
Reference in New Issue