scanner: Add shortcuts for creating widgets

These use the global queue instance to create appropriate widgets with
the same name.

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-08-30 11:12:47 -04:00
parent 5f6f3f9f42
commit 98ef8bf3f3
2 changed files with 31 additions and 0 deletions

View File

@ -6,6 +6,23 @@ from . import widgets
Queue = queue.TaskQueue()
def ProgressBar():
return widgets.ProgressBar(Queue)
def AddFolderButton():
return widgets.AddFolderButton(Queue)
def UpdateButton(library):
return widgets.UpdateButton(library, Queue)
def UpdateAllButton():
return widgets.UpdateAllButton(Queue)
def RemoveButton(library):
return widgets.RemoveButton(library, Queue)
def import_track(lib, track, playcount, lastplayed):
Queue.push(task.ImportTask(lib, track, playcount, lastplayed))

View File

@ -31,3 +31,17 @@ class TestScanner(unittest.TestCase):
scanner.remove_library(lib)
self.assertIsInstance(scanner.Queue.tasks[0],
scanner.task.RemoveLibrarySchedulerTask)
def test_scanner_widgets(self):
lib = db.library.Table.find(test_album)
self.assertIsInstance(scanner.ProgressBar(),
scanner.widgets.ProgressBar)
self.assertIsInstance(scanner.AddFolderButton(),
scanner.widgets.AddFolderButton)
self.assertIsInstance(scanner.UpdateButton(lib),
scanner.widgets.UpdateButton)
self.assertIsInstance(scanner.UpdateAllButton(),
scanner.widgets.UpdateAllButton)
self.assertIsInstance(scanner.RemoveButton(lib),
scanner.widgets.RemoveButton)