/
/
/
1"""Helpers for HEOS Player Provider."""
2
3from urllib.parse import urlencode
4
5from pyheos import HeosNowPlayingMedia
6from pyheos.util.mediauri import BASE_URI
7
8
9def media_uri_from_now_playing_media(now_playing_media: HeosNowPlayingMedia) -> str:
10 """Generate a media URI based on available data in now playing media."""
11 base_uri = f"{BASE_URI}/{now_playing_media.source_id}/{now_playing_media.type}"
12
13 params: dict[str, str] = {}
14
15 if now_playing_media.song:
16 params["song"] = now_playing_media.song
17 if now_playing_media.station:
18 params["station"] = now_playing_media.station
19 if now_playing_media.album:
20 params["album"] = now_playing_media.album
21 if now_playing_media.artist:
22 params["artist"] = now_playing_media.artist
23 if now_playing_media.image_url:
24 params["image_url"] = now_playing_media.image_url
25 if now_playing_media.album_id:
26 params["album_id"] = now_playing_media.album_id
27 if now_playing_media.media_id:
28 params["media_id"] = now_playing_media.media_id
29 if now_playing_media.queue_id:
30 params["queue_id"] = str(now_playing_media.queue_id)
31
32 return f"{base_uri}?{urlencode(params)}"
33