trackdb: Load saved files

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2020-10-25 09:02:19 -04:00
parent a63dc5586b
commit a1d4d9e418
2 changed files with 13 additions and 1 deletions

View File

@ -69,7 +69,7 @@ class TestTrackDB(unittest.TestCase):
self.assertEqual(trackdb.get_track(3), lib[3])
self.assertIsNone(trackdb.get_track(200))
def test_trackdb_save(self):
def test_trackdb_save_load(self):
db_file = data.DataFile(trackdb.db_file, data.READ)
lib = trackdb.add_path(test_tracks)
lib.scan()
@ -84,6 +84,13 @@ class TestTrackDB(unittest.TestCase):
self.assertEqual(idle.Funcs, [ ])
self.assertTrue(db_file.exists())
trackdb.library_paths.clear()
trackdb.library.NextID = 0
trackdb.load()
self.assertEqual(trackdb.library.NextID, 12)
self.assertEqual(len(trackdb.library_paths), 1)
self.assertEqual(len(trackdb.library_paths[0].tracks), 12)
def test_trackdb_stress(self):
lib = trackdb.add_path("./trier/Test Library/")
lib.scan()

View File

@ -62,6 +62,11 @@ def save(*args):
if idle_id == None:
idle_id = idle.add(_do_save)
def load():
global library_paths
with data.DataFile(db_file, data.READ) as f:
(library.NextID, library_paths) = f.unpickle()
def __register_callbacks():
LibraryAdded.register(save)
LibraryRemoved.register(save)