scanner: Add a RemoveLibraryTask

For removing a library's database entry

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-08-26 10:36:32 -04:00
parent 0f57b10500
commit 88ebde085b
2 changed files with 25 additions and 0 deletions

View File

@ -103,3 +103,13 @@ class RemoveTask(Task):
for track in self.tracks:
db.track.Table.delete(track)
db.commit()
class RemoveLibraryTask(Task):
def __init__(self, library):
Task.__init__(self)
self.library = library
def run_task(self):
db.library.Table.delete(self.library)
db.commit()

View File

@ -179,3 +179,18 @@ class TestScannerRemoveTask(unittest.TestCase):
self.assertIsNone(rt.run_task())
for i in [ 1, 2, 3, 4, 5 ]:
self.assertIsNone(db.track.Table.get(i))
class TestScannerRemoveLibraryTask(unittest.TestCase):
def setUp(self):
db.reset()
def test_scanner_remove_library_task(self):
lib = db.library.Table.find(test_tracks)
rlt = task.RemoveLibraryTask(lib)
self.assertIsInstance(rlt, task.Task)
self.assertEqual(rlt.library, lib)
self.assertIsNone(rlt.run_task())
self.assertIsNone(db.library.Table.lookup(test_tracks))