From 59fb7d12f313422537d498906225bc0709acd381 Mon Sep 17 00:00:00 2001 From: Anna Schumaker Date: Tue, 6 Jun 2023 09:22:22 -0400 Subject: [PATCH] db: Set the Queued Tracks playlist as active when adding tracks I do this unconditionally, so even if the track is already on the playlist we set it as active. I think this is what the user would expect, but I'm open to revising this approach later. Fixes: #62 ("Queueing tracks doesn't activate the Queued Tracks playlist") Signed-off-by: Anna Schumaker --- emmental/db/playlists.py | 3 +++ tests/db/test_playlists.py | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/emmental/db/playlists.py b/emmental/db/playlists.py index 5139c0e..51fb699 100644 --- a/emmental/db/playlists.py +++ b/emmental/db/playlists.py @@ -113,6 +113,9 @@ class Table(playlist.Table): case self.previous: self.add_system_track(playlist, track) return True + case self.queued: + self.sql.set_active_playlist(playlist) + return self.add_user_track(playlist, track) case self.unplayed: return track.playcount == 0 case _: return self.add_user_track(playlist, track) diff --git a/tests/db/test_playlists.py b/tests/db/test_playlists.py index fa58164..87799d9 100644 --- a/tests/db/test_playlists.py +++ b/tests/db/test_playlists.py @@ -615,6 +615,11 @@ class TestSystemPlaylists(tests.util.TestCase): self.table.queued.propertyid).fetchall() self.assertEqual(len(rows), 1) self.assertEqual(rows[0]["trackid"], self.track.trackid) + self.assertEqual(self.sql.active_playlist, self.table.queued) + + self.sql.set_active_playlist(self.table.collection) + self.table.queued.add_track(self.track) + self.assertEqual(self.sql.active_playlist, self.table.queued) self.library.deleting = True self.table.queued.reload_tracks()