From 49b02e240d10885d1a2c18bc8f19aaba1d59c026 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Fri, 10 Mar 2023 23:17:22 +0100 Subject: [PATCH] Add some guards in generated didl metadata --- music_assistant/server/helpers/didl_lite.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/music_assistant/server/helpers/didl_lite.py b/music_assistant/server/helpers/didl_lite.py index 7c2a6340..ece34b69 100644 --- a/music_assistant/server/helpers/didl_lite.py +++ b/music_assistant/server/helpers/didl_lite.py @@ -33,12 +33,13 @@ def create_didl_metadata(url: str, queue_item: QueueItem, flow_mode: bool = Fals ) if is_radio: # radio or other non-track item + image = queue_item.image.url if queue_item.image else "" return ( '' f'' f"{_escape_str(queue_item.name)}" f"{queue_item.image.url}" - f"{queue_item.queue_item_id}" + f"{image}" "object.item.audioItem.audioBroadcast" f"audio/{ext}" f'{url}' @@ -46,8 +47,15 @@ def create_didl_metadata(url: str, queue_item: QueueItem, flow_mode: bool = Fals "" ) title = _escape_str(queue_item.media_item.name) - artist = _escape_str(queue_item.media_item.artist.name) - album = _escape_str(queue_item.media_item.album.name) + if queue_item.media_item.artist and queue_item.media_item.artist.name: + artist = _escape_str(queue_item.media_item.artist.name) + else: + artist = "" + if queue_item.media_item.album and queue_item.media_item.album.name: + album = _escape_str(queue_item.media_item.album.name) + else: + album = "" + image = queue_item.image.url if queue_item.image else "" item_class = "object.item.audioItem.musicTrack" duration_str = str(datetime.timedelta(seconds=queue_item.duration)) return ( @@ -60,7 +68,7 @@ def create_didl_metadata(url: str, queue_item: QueueItem, flow_mode: bool = Fals f"{queue_item.duration}" "Music Assistant" f"{queue_item.queue_item_id}" - f"{queue_item.image.url}" + f"{image}" f"{item_class}" f"audio/{ext}" f'{url}' -- 2.34.1