From 10d422eaf7d2bf3a5e10069a3ac0272023fee7f1 Mon Sep 17 00:00:00 2001 From: Marcel van der Veldt Date: Tue, 25 Feb 2025 09:53:56 +0100 Subject: [PATCH] Chore: use prov_item_id instead of item_id in on_played callback Make it extra clear that we're providing the provider item id --- music_assistant/controllers/music.py | 6 +++--- music_assistant/models/music_provider.py | 8 ++++---- .../providers/_template_music_provider/__init__.py | 4 ++-- music_assistant/providers/audible/__init__.py | 6 +++--- music_assistant/providers/audiobookshelf/__init__.py | 12 ++++++------ .../providers/opensubsonic/sonic_provider.py | 4 ++-- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/music_assistant/controllers/music.py b/music_assistant/controllers/music.py index 7fa57637..8bf9ca97 100644 --- a/music_assistant/controllers/music.py +++ b/music_assistant/controllers/music.py @@ -862,11 +862,11 @@ class MusicController(CoreController): self.mass.create_task( music_prov.on_played( media_type=media_item.media_type, - item_id=prov_mapping.item_id, + prov_item_id=prov_mapping.item_id, fully_played=fully_played, position=seconds_played, - is_playing=is_playing, media_item=media_item, + is_playing=is_playing, ) ) @@ -913,7 +913,7 @@ class MusicController(CoreController): self.mass.create_task( music_prov.on_played( media_type=media_item.media_type, - item_id=prov_mapping.item_id, + prov_item_id=prov_mapping.item_id, fully_played=False, position=0, media_item=media_item, diff --git a/music_assistant/models/music_provider.py b/music_assistant/models/music_provider.py index e1871390..d0ebcfb5 100644 --- a/music_assistant/models/music_provider.py +++ b/music_assistant/models/music_provider.py @@ -356,11 +356,11 @@ class MusicProvider(Provider): async def on_played( self, media_type: MediaType, - item_id: str, + prov_item_id: str, fully_played: bool, position: int, + media_item: MediaItemType, is_playing: bool = False, - media_item: MediaItemType | None = None, ) -> None: """ Handle callback when a (playable) media item has been played. @@ -376,9 +376,9 @@ class MusicProvider(Provider): When fully_played is set to false and position is 0, the user marked the item as unplayed in the UI. - is_playing is True when the track is currently playing. - media_item is the full media item details of the played/playing track. + + is_playing is True when the track is currently playing. """ async def resolve_image(self, path: str) -> str | bytes: diff --git a/music_assistant/providers/_template_music_provider/__init__.py b/music_assistant/providers/_template_music_provider/__init__.py index 5a8f2e23..9ea6436f 100644 --- a/music_assistant/providers/_template_music_provider/__init__.py +++ b/music_assistant/providers/_template_music_provider/__init__.py @@ -448,11 +448,11 @@ class MyDemoMusicprovider(MusicProvider): async def on_played( self, media_type: MediaType, - item_id: str, + prov_item_id: str, fully_played: bool, position: int, + media_item: MediaItemType, is_playing: bool = False, - media_item: MediaItemType | None = None, ) -> None: """ Handle callback when a (playable) media item has been played. diff --git a/music_assistant/providers/audible/__init__.py b/music_assistant/providers/audible/__init__.py index a5e8a72a..03f3a2b5 100644 --- a/music_assistant/providers/audible/__init__.py +++ b/music_assistant/providers/audible/__init__.py @@ -282,11 +282,11 @@ class Audibleprovider(MusicProvider): async def on_played( self, media_type: MediaType, - item_id: str, + prov_item_id: str, fully_played: bool, position: int, + media_item: MediaItemType, is_playing: bool = False, - media_item: MediaItemType | None = None, ) -> None: """ Handle callback when a (playable) media item has been played. @@ -306,7 +306,7 @@ class Audibleprovider(MusicProvider): media_item is the full media item details of the played/playing track. """ - await self.helper.set_last_position(item_id, position) + await self.helper.set_last_position(prov_item_id, position) async def unload(self, is_removed: bool = False) -> None: """ diff --git a/music_assistant/providers/audiobookshelf/__init__.py b/music_assistant/providers/audiobookshelf/__init__.py index 285480ab..6d6dcdf1 100644 --- a/music_assistant/providers/audiobookshelf/__init__.py +++ b/music_assistant/providers/audiobookshelf/__init__.py @@ -545,11 +545,11 @@ class Audiobookshelf(MusicProvider): async def on_played( self, media_type: MediaType, - item_id: str, + prov_item_id: str, fully_played: bool, position: int, + media_item: MediaItemType, is_playing: bool = False, - media_item: MediaItemType | None = None, ) -> None: """Update progress in Audiobookshelf. @@ -561,8 +561,8 @@ class Audiobookshelf(MusicProvider): """ if media_type == MediaType.PODCAST_EPISODE: - abs_podcast_id, abs_episode_id = item_id.split(" ") - mass_podcast_episode = await self.get_podcast_episode(item_id) + abs_podcast_id, abs_episode_id = prov_item_id.split(" ") + mass_podcast_episode = await self.get_podcast_episode(prov_item_id) duration = mass_podcast_episode.duration self.logger.debug( f"Updating media progress of {media_type.value}, title {mass_podcast_episode.name}." @@ -575,11 +575,11 @@ class Audiobookshelf(MusicProvider): is_finished=fully_played, ) if media_type == MediaType.AUDIOBOOK: - mass_audiobook = await self.get_audiobook(item_id) + mass_audiobook = await self.get_audiobook(prov_item_id) duration = mass_audiobook.duration self.logger.debug(f"Updating {media_type.value} named {mass_audiobook.name} progress") await self._client.update_my_media_progress( - item_id=item_id, + item_id=prov_item_id, duration_seconds=duration, progress_seconds=position, is_finished=fully_played, diff --git a/music_assistant/providers/opensubsonic/sonic_provider.py b/music_assistant/providers/opensubsonic/sonic_provider.py index ac0e01e7..ddfe8e7c 100644 --- a/music_assistant/providers/opensubsonic/sonic_provider.py +++ b/music_assistant/providers/opensubsonic/sonic_provider.py @@ -795,11 +795,11 @@ class OpenSonicProvider(MusicProvider): async def on_played( self, media_type: MediaType, - item_id: str, + prov_item_id: str, fully_played: bool, position: int, + media_item: MediaItemType, is_playing: bool = False, - media_item: MediaItemType | None = None, ) -> None: """ Handle callback when a (playable) media item has been played. -- 2.34.1