Skip to content

Commit 20327c2

Browse files
committed
Report duration
1 parent a255bc6 commit 20327c2

3 files changed

Lines changed: 7 additions & 1 deletion

File tree

custom_components/mass_queue/actions.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
from .const import (
2424
ATTR_COMMAND,
2525
ATTR_DATA,
26+
ATTR_DURATION,
2627
ATTR_FAVORITE,
2728
ATTR_LIMIT,
2829
ATTR_LIMIT_AFTER,
@@ -410,7 +411,7 @@ async def get_playlist_tracks(self, playlist_uri: str, page: int | None = None):
410411
)
411412
return [self.format_track_item(item.to_dict()) for item in resp]
412413

413-
def format_track_item(self, playlist_item: dict) -> dict:
414+
def format_track_item(self, playlist_item: dict) -> TRACK_ITEM_SCHEMA:
414415
"""Processes the individual items in a playlist."""
415416
media_title = playlist_item.get("name") or "N/A"
416417
media_album = playlist_item.get("album") or "N/A"
@@ -419,6 +420,7 @@ def format_track_item(self, playlist_item: dict) -> dict:
419420
media_image = find_image(playlist_item) or ""
420421
local_image_encoded = playlist_item.get(ATTR_LOCAL_IMAGE_ENCODED)
421422
favorite = playlist_item["favorite"]
423+
duration = playlist_item["duration"] or 0
422424

423425
artists = playlist_item["artists"]
424426
artist_names = [artist["name"] for artist in artists]
@@ -429,6 +431,7 @@ def format_track_item(self, playlist_item: dict) -> dict:
429431
ATTR_MEDIA_ALBUM_NAME: media_album_name,
430432
ATTR_MEDIA_ARTIST: media_artist,
431433
ATTR_MEDIA_CONTENT_ID: media_content_id,
434+
ATTR_DURATION: duration,
432435
ATTR_MEDIA_IMAGE: media_image,
433436
ATTR_FAVORITE: favorite,
434437
},

custom_components/mass_queue/const.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
ATTR_COMMAND = "command"
3232
ATTR_CONFIG_ENTRY_ID = "config_entry_id"
3333
ATTR_DATA = "data"
34+
ATTR_DURATION = "duration"
3435
ATTR_FAVORITE = "favorite"
3536
ATTR_LIMIT = "limit"
3637
ATTR_LIMIT_AFTER = "limit_after"

custom_components/mass_queue/schemas.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
ATTR_COMMAND,
1010
ATTR_CONFIG_ENTRY_ID,
1111
ATTR_DATA,
12+
ATTR_DURATION,
1213
ATTR_FAVORITE,
1314
ATTR_LIMIT,
1415
ATTR_LIMIT_AFTER,
@@ -62,6 +63,7 @@
6263
vol.Required(ATTR_MEDIA_CONTENT_ID): str,
6364
vol.Required(ATTR_MEDIA_IMAGE): str,
6465
vol.Required(ATTR_FAVORITE): bool,
66+
vol.Required(ATTR_DURATION): vol.Any(int, None),
6567
vol.Optional(ATTR_LOCAL_IMAGE_ENCODED): str,
6668
},
6769
)

0 commit comments

Comments
 (0)