Skip to content

Commit

Permalink
feat: seconds on play
Browse files Browse the repository at this point in the history
  • Loading branch information
cdnninja committed Dec 6, 2024
1 parent 023dea7 commit b83d665
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
4 changes: 2 additions & 2 deletions custom_components/yoto/media_player.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,12 @@ async def async_play_media(
announce: bool | None = None,
**kwargs: Any,
) -> None:
cardid, chapterid, trackid = split_media_id(media_id)
cardid, chapterid, trackid, time = split_media_id(media_id)
_LOGGER.debug(
f"{DOMAIN} - Media requested: {media_id} Cardid: {cardid}, chapterid: {chapterid}, trackid: {trackid}"
)
await self.coordinator.async_play_card(
player_id=self.player.id, cardid=cardid, chapter=chapterid, trackkey=trackid
player_id=self.player.id, cardid=cardid, chapter=chapterid, trackkey=trackid, secondsin=int(time)
)

async def async_media_seek(self, position: float) -> None:
Expand Down
12 changes: 9 additions & 3 deletions custom_components/yoto/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,21 @@ def rgetattr(obj, attr):
def split_media_id(text):
# a synthetic media idea in the format of cardid-chapterid-trackid
parts = text.split("-")
if len(parts) >= 3:
if len(parts) == 3:
cardid, chapterid, trackid, time = parts
elif len(parts) == 3:
cardid, chapterid, trackid = parts
time = None
elif len(parts) == 2:
cardid, chapterid = parts
trackid = None
time = None
else:
cardid = text
chapterid = trackid = None
return cardid, chapterid, trackid
chapterid = None
trackid = None
time = None
return cardid, chapterid, trackid, time


def parse_key(text):
Expand Down

0 comments on commit b83d665

Please sign in to comment.