diff --git a/emmental/db/artists.py b/emmental/db/artists.py index ce8eb87..664cc5a 100644 --- a/emmental/db/artists.py +++ b/emmental/db/artists.py @@ -101,7 +101,8 @@ class Table(playlist.Table): """Search for artists matching the search text.""" return self.sql("""SELECT artistid FROM album_artist_view WHERE CASEFOLD(artist) GLOB :glob - OR CASEFOLD(album) GLOB :glob""", glob=glob) + OR CASEFOLD(album) GLOB :glob + OR CASEFOLD(medium) GLOB :glob""", glob=glob) def do_sql_insert(self, name: str, mbid: str = "") -> sqlite3.Cursor | None: diff --git a/tests/db/test_artists.py b/tests/db/test_artists.py index 3ccd989..f949b83 100644 --- a/tests/db/test_artists.py +++ b/tests/db/test_artists.py @@ -171,10 +171,13 @@ class TestArtistTable(tests.util.TestCase): artist1 = self.table.create("Artist 1") artist2 = self.table.create("Artist 2") - artist1.add_album(self.sql.albums.create("Album 1", "Artist 1", "1")) + album = self.sql.albums.create("Album 1", "Artist 1", "1") + artist1.add_album(album) artist1.add_album(self.sql.albums.create("Album 2", "Artist 1", "2")) artist2.add_album(self.sql.albums.create("Album 3", "Artist 2", "3")) artist2.add_album(self.sql.albums.create("Album 4", "Artist 2", "4")) + self.sql.media.create(album, "Medium 1", number=1) + self.sql.media.create(album, "Medium 2", number=2) self.table.filter("*1", now=True) self.assertSetEqual(self.table.get_filter().keys, {1}) @@ -184,6 +187,9 @@ class TestArtistTable(tests.util.TestCase): self.table.filter("*4", now=True) self.assertSetEqual(self.table.get_filter().keys, {2}) + self.table.filter("medium*", now=True) + self.assertSetEqual(self.table.get_filter().keys, {1}) + def test_get_sort_key(self): """Test the get_sort_key() function.""" artist1 = self.table.create("Artist 1")