mark more musicbrainz fields as optional
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 18 Apr 2024 22:40:46 +0000 (00:40 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 18 Apr 2024 22:40:46 +0000 (00:40 +0200)
music_assistant/server/helpers/tags.py
music_assistant/server/providers/musicbrainz/__init__.py

index 60d77798ec7a1d1ac2e9f40898e395ca5c9c3153..047f022dfc0e600ced1bc8667878bccb1f95236a 100644 (file)
@@ -29,7 +29,7 @@ LOGGER = logging.getLogger(f"{MASS_LOGGER_NAME}.tags")
 TAG_SPLITTER = ";"
 
 
-def split_items(org_str: str, split_slash: bool = False) -> tuple[str, ...]:
+def split_items(org_str: str, allow_unsafe_splitters: bool = False) -> tuple[str, ...]:
     """Split up a tags string by common splitter."""
     if org_str is None:
         return ()
@@ -38,8 +38,10 @@ def split_items(org_str: str, split_slash: bool = False) -> tuple[str, ...]:
     org_str = org_str.strip()
     if TAG_SPLITTER in org_str:
         return tuple(x.strip() for x in org_str.split(TAG_SPLITTER))
-    if split_slash and "/" in org_str:
+    if allow_unsafe_splitters and "/" in org_str:
         return tuple(x.strip() for x in org_str.split("/"))
+    if allow_unsafe_splitters and ", " in org_str:
+        return tuple(x.strip() for x in org_str.split(", "))
     return (org_str.strip(),)
 
 
index 11d8398b8cfa67ed766cad2fa03f1339f6ab04b2..95762cf5ff306c5d31556a2574673c075cdd1c7d 100644 (file)
@@ -131,11 +131,11 @@ class MusicBrainzReleaseGroup(DataClassDictMixin):
     """Model for a (basic) ReleaseGroup object from MusicBrainz."""
 
     id: str
-    primary_type_id: str
     title: str
-    primary_type: str
 
     # optional fields
+    primary_type: str | None = None
+    primary_type_id: str | None = None
     secondary_types: list[str] | None = None
     secondary_type_ids: list[str] | None = None
     artist_credit: list[MusicBrainzArtistCredit] | None = None