music-assistant-server
Branch:dev-lidarr-plugin
Commit Details
Feat/genres-v2-implementation (#3164)
* feat(genres): Core genre system * feat(genres): add background scanner for metadata.genres * refactor(genres): add genres to base * test(genres): add test suite * fix(genres): eixsting genres are not recreated at migration * feat(genres): guard against infinite loops in scanner * fix(genres): remove duplicate, improve tests * fix(genres): limit genre tracks return * refactor(genres): use logger rather than print * refactor(genres): use asyncio.gather rather than sequential calls * refactor(genres): various fixes after review comments * refactor(genres): randomize selection, use asyncio gether * refactor(genres): remove alias object * fix(genres): fix n:n relationship, safeguard comparisons * refactor(genres): address review comments * fix(genres): fix issues after rebase * test(genres): add missing param to library sync tests
Author
Jozef Kruszynski<[email protected]>
February 20, 2026 at 05:04 PM UTC
Committer
GitHub<[email protected]>
February 20, 2026 at 05:04 PM UTC
503additions
16deletions
17files changed
Parent commits
Changes
17 files
+503-16
Changed Files (17)
music_assistant/
music_assistant/controllers/media/
music_assistant/controllers/
music_assistant/helpers/resources/
music_assistant/models/
music_assistant/providers/test/
tests/core/
tests/
music_assistant/constants.py
+5-3
music_assistant/controllers/media/albums.py
+2
music_assistant/controllers/media/artists.py
+2
music_assistant/controllers/media/audiobooks.py
+3
music_assistant/controllers/media/base.py
+35-2
music_assistant/controllers/media/genres.py
music_assistant/controllers/media/podcasts.py
+3
music_assistant/controllers/media/tracks.py
+3
music_assistant/controllers/music.py
+253
music_assistant/controllers/player_queues.py
+49
music_assistant/helpers/resources/genre_mapping.json
music_assistant/models/music_provider.py
+94
music_assistant/providers/test/__init__.py
+50-11
pyproject.toml
tests/core/test_genre_helpers.py
tests/core/test_genres.py
tests/test_library_sync.py
+4