db: Have Tracks remove themselves from the GenreMap when deleted

Signed-off-by: Anna Schumaker <Anna@NoWheyCreamery.com>
This commit is contained in:
Anna Schumaker 2021-08-23 11:17:44 -04:00
parent 5746b2a81f
commit 69f5742867
2 changed files with 7 additions and 0 deletions

View File

@ -48,8 +48,13 @@ class TestTrackTable(unittest.TestCase):
def test_track_table_delete(self):
track = db.make_fake_track(1, 1.234, "Test Title", "/a/b/c/d.efg")
genre = db.genre.Table.find("Test Genre")
db.genre.Map.insert(genre, track)
db.track.Table.delete(track)
self.assertIsNone(db.track.Table.lookup(pathlib.Path("/a/b/c/d.efg")))
self.assertEqual(db.genre.Map.lookup_tracks(genre), [ ])
def test_track_table_get(self):
track = db.make_fake_track(1, 1.234, "Test Title", "/a/b/c/d.efg")

View File

@ -118,6 +118,8 @@ class TrackTable(objects.Table):
int(year.decade), int(year), number, length, title, str(path) ])
def do_delete(self, track):
from . import genre
genre.Map.delete_track(track)
return execute("DELETE FROM tracks WHERE trackid=?", [ int(track) ])
def do_get(self, rowid):