From 98ef8bf3f314335977c162aab47dfb4a482850b0 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Mon, 30 Aug 2021 11:12:47 -0400 Subject: [PATCH] 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 --- scanner/__init__.py | 17 +++++++++++++++++ scanner/test_scanner.py | 14 ++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/scanner/__init__.py b/scanner/__init__.py index 8b36d46..c10a4ac 100644 --- a/scanner/__init__.py +++ b/scanner/__init__.py @@ -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)) diff --git a/scanner/test_scanner.py b/scanner/test_scanner.py index 8be9126..acc65c2 100644 --- a/scanner/test_scanner.py +++ b/scanner/test_scanner.py @@ -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)