scanner: Create an EnableLibraryTask

For enabling or disabling library paths through an idle task

Implements: Issue #37 (Create an Idle Task to enable / disable library paths)
Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-11-05 15:26:55 -04:00
parent b8da049be9
commit 8f98dfdde7
2 changed files with 27 additions and 0 deletions

View File

@ -139,3 +139,13 @@ class RemoveLibrarySchedulerTask(Task):
def run_task(self):
return [ RemoveTask(tracks) for tracks in self.track_chunks() ] + \
[ RemoveLibraryTask(self.library) ]
class EnableLibraryTask(Task):
def __init__(self, library, enable):
Task.__init__(self)
self.library = library
self.enable = enable
def run_task(self):
self.library.set_property("enabled", self.enable)

View File

@ -227,3 +227,20 @@ class TestScannerRemoveLibrarySchedulerTask(unittest.TestCase):
for i in range(1, 76):
self.assertIsNone(db.track.Table.get(i))
self.assertIsNone(db.library.Table.lookup(test_tracks))
class TestEnableLibraryTask(unittest.TestCase):
def test_task(self):
lib = db.library.Table.find(test_tracks)
elt = task.EnableLibraryTask(lib, False)
self.assertIsInstance(elt, task.Task)
self.assertEqual(elt.library, lib)
self.assertEqual(elt.enable, False)
self.assertIsNone(elt.run_task())
self.assertFalse(lib.enabled)
elt.enable = True
self.assertIsNone(elt.run_task())
self.assertTrue(lib.enabled)