scanner: Create a global Queue instance
And some convenience functions for using it Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
parent
e09d892a46
commit
5f6f3f9f42
|
@ -3,3 +3,14 @@ from . import metadata
|
|||
from . import queue
|
||||
from . import task
|
||||
from . import widgets
|
||||
|
||||
Queue = queue.TaskQueue()
|
||||
|
||||
def import_track(lib, track, playcount, lastplayed):
|
||||
Queue.push(task.ImportTask(lib, track, playcount, lastplayed))
|
||||
|
||||
def update_library(lib):
|
||||
Queue.push(task.CheckSchedulerTask(lib))
|
||||
|
||||
def remove_library(lib):
|
||||
Queue.push(task.RemoveLibrarySchedulerTask(lib))
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
# Copyright 2021 (c) Anna Schumaker.
|
||||
import datetime
|
||||
import db
|
||||
import pathlib
|
||||
import scanner
|
||||
import unittest
|
||||
|
||||
test_album = pathlib.Path("./data/Test Album")
|
||||
test_track = test_album / "01 - Test Track.ogg"
|
||||
|
||||
class TestScanner(unittest.TestCase):
|
||||
def tearDown(self):
|
||||
scanner.Queue.tasks_finished()
|
||||
|
||||
def test_scanner_init(self):
|
||||
self.assertIsInstance(scanner.Queue, scanner.queue.TaskQueue)
|
||||
|
||||
def test_scanner_import_track(self):
|
||||
lib = db.library.Table.find(test_album)
|
||||
scanner.import_track(lib, test_track, 2, datetime.date.today())
|
||||
self.assertIsInstance(scanner.Queue.tasks[0], scanner.task.ImportTask)
|
||||
|
||||
def test_scanner_update_library(self):
|
||||
lib = db.library.Table.find(test_album)
|
||||
scanner.update_library(lib)
|
||||
self.assertIsInstance(scanner.Queue.tasks[0],
|
||||
scanner.task.CheckSchedulerTask)
|
||||
|
||||
def test_scanner_remove_library(self):
|
||||
lib = db.library.Table.find(test_album)
|
||||
scanner.remove_library(lib)
|
||||
self.assertIsInstance(scanner.Queue.tasks[0],
|
||||
scanner.task.RemoveLibrarySchedulerTask)
|
Loading…
Reference in New Issue