From 035cb3fb31807bd176588e7444f058ec9b02b93e Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Tue, 18 Feb 2025 15:43:03 +0100 Subject: [PATCH] Follow-up fix for multi item parsing from tags --- music_assistant/helpers/tags.py | 7 +++++-- tests/fixtures/MyArtist - MyTitle.mp3 | Bin 18148 -> 18148 bytes 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/music_assistant/helpers/tags.py b/music_assistant/helpers/tags.py index 54256547..590a1dc1 100644 --- a/music_assistant/helpers/tags.py +++ b/music_assistant/helpers/tags.py @@ -42,7 +42,10 @@ def split_items(org_str: str, allow_unsafe_splitters: bool = False) -> tuple[str if org_str is None: return () if isinstance(org_str, list): - return tuple(x.strip() for x in org_str) + final_items: list[str] = [] + for item in org_str: + final_items.extend(split_items(item, allow_unsafe_splitters)) + return tuple(final_items) org_str = org_str.strip() if TAG_SPLITTER in org_str: return clean_tuple(org_str.split(TAG_SPLITTER)) @@ -64,7 +67,7 @@ def split_artists( splitters = ("featuring", " feat. ", " feat ", "feat.") if allow_ampersand: splitters = (*splitters, " & ") - artists = split_items(org_artists) + artists = split_items(org_artists, allow_unsafe_splitters=False) for item in artists: for splitter in splitters: if splitter not in item: diff --git a/tests/fixtures/MyArtist - MyTitle.mp3 b/tests/fixtures/MyArtist - MyTitle.mp3 index 42319c420073e5de9327cfc7522dde721d53de88..57179680ac573fd84ef8d78282d7040af265c1f0 100644 GIT binary patch delta 365 zcmaFT%lM?1vEI|gn1uldxTHcnLyUk7P6h^M-^!58lAKhA5Jw*;xR7H`QfV$jh_k;R zP>3I>$~`r&DAkYwOc^nR1h|5IJG1KM= NOl*vsRag%=0sy9OV&4D& delta 614 zcmaFT%lM?1vEI|gn3(|xxTHcnLyUk7VFm`q|Nnd$Dj7l;G8sx3au`y9q9KkxPAHO& zK#3%VQifcRq_e*tkWvKebO)->V<-ZWh78sW3JeH7$n=l^R}du%vxJYq5vaBVXj3te zWSBTxt3Ei`6{tcUtip#Ok)ezsjlq<`l0gq>pc$AnU@!m~6%i2uq-?