From 880a1064e21af570e65af1663f33ae6abce6326a Mon Sep 17 00:00:00 2001 From: jxxghp Date: Mon, 24 Aug 2026 22:31:34 +0800 Subject: [PATCH] fix(recommend): use album chart for music recommendations --- app/chain/recommend.py | 2 ++ tests/test_recommend_chain.py | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/chain/recommend.py b/app/chain/recommend.py index 5bb75dae4..7152fa6c2 100644 --- a/app/chain/recommend.py +++ b/app/chain/recommend.py @@ -332,6 +332,7 @@ class RecommendChain(ChainBase, metaclass=Singleton): range_name="this_week", page=page or 1, count=count or 30, + entity=MUSIC_ENTITY_ALBUM, ) return [media.to_dict() for media in medias] @@ -577,6 +578,7 @@ class RecommendChain(ChainBase, metaclass=Singleton): range_name="this_week", page=page or 1, count=count or 30, + entity=MUSIC_ENTITY_ALBUM, ) return [media.to_dict() for media in medias] diff --git a/tests/test_recommend_chain.py b/tests/test_recommend_chain.py index 13766dcf1..7e1d1bf24 100644 --- a/tests/test_recommend_chain.py +++ b/tests/test_recommend_chain.py @@ -101,17 +101,22 @@ def test_music_weekly_uses_music_chart(): chain = RecommendChain() with patch("app.chain.recommend.ListenBrainzChain") as source_chain: source_chain.return_value.music_chart.return_value = [ - MusicInfo(media_source="musicbrainz", media_id="recording-1", title="晴天") + MusicInfo( + media_source="musicbrainz", + media_id="album-1", + music_type="album", + title="叶惠美", + ) ] result = chain.music_weekly(page=2, count=10) - assert result[0]["media_id"] == "recording-1" + assert result[0]["media_id"] == "album-1" source_chain.return_value.music_chart.assert_called_once_with( range_name="this_week", page=2, count=10, - entity="recording", + entity="album", ) @@ -121,7 +126,12 @@ def test_async_music_weekly_uses_music_chart(): with patch("app.chain.recommend.ListenBrainzChain") as source_chain: source_chain.return_value.async_music_chart = AsyncMock( return_value=[ - MusicInfo(media_source="musicbrainz", media_id="recording-1", title="晴天") + MusicInfo( + media_source="musicbrainz", + media_id="album-1", + music_type="album", + title="叶惠美", + ) ] ) @@ -132,7 +142,7 @@ def test_async_music_weekly_uses_music_chart(): range_name="this_week", page=1, count=30, - entity="recording", + entity="album", )