Fix Sonos get_queue action may fail if track metadata is missing (#130756)

initial commit
This commit is contained in:
Pete Sage 2024-11-16 11:40:49 -05:00 committed by GitHub
parent c219b512eb
commit acfc4711cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 21 additions and 3 deletions

View File

@ -782,9 +782,9 @@ class SonosMediaPlayerEntity(SonosEntity, MediaPlayerEntity):
queue: list[DidlMusicTrack] = self.coordinator.soco.get_queue(max_items=0)
return [
{
ATTR_MEDIA_TITLE: track.title,
ATTR_MEDIA_ALBUM_NAME: track.album,
ATTR_MEDIA_ARTIST: track.creator,
ATTR_MEDIA_TITLE: getattr(track, "title", None),
ATTR_MEDIA_ALBUM_NAME: getattr(track, "album", None),
ATTR_MEDIA_ARTIST: getattr(track, "creator", None),
ATTR_MEDIA_CONTENT_ID: track.get_uri(),
}
for track in queue

View File

@ -26,5 +26,17 @@
"protocol_info": "file:*:audio/mpegurl:*"
}
]
},
{
"title": "Track with no album or creator",
"item_id": "Q:0/3",
"parent_id": "Q:0",
"original_track_number": 1,
"resources": [
{
"uri": "x-file-cifs://192.168.42.10/music/TrackWithNoAlbumOrCreator.mp3",
"protocol_info": "file:*:audio/mpegurl:*"
}
]
}
]

View File

@ -71,6 +71,12 @@
'media_content_id': 'x-file-cifs://192.168.42.10/music/The%20Beatles/Abbey%20Road/01%20Come%20Together.mp3',
'media_title': 'Come Together',
}),
dict({
'media_album_name': None,
'media_artist': None,
'media_content_id': 'x-file-cifs://192.168.42.10/music/TrackWithNoAlbumOrCreator.mp3',
'media_title': 'Track with no album or creator',
}),
]),
})
# ---