diff --git a/fastanime/cli/interactive/session.py b/fastanime/cli/interactive/session.py index 7c3c281..72293fe 100644 --- a/fastanime/cli/interactive/session.py +++ b/fastanime/cli/interactive/session.py @@ -113,18 +113,18 @@ class Context: if not self._media_api: from ...libs.media_api.api import create_api_client - self._media_api = create_api_client( - self.config.general.media_api, self.config - ) + media_api = create_api_client(self.config.general.media_api, self.config) - if auth_profile := self.auth.get_auth(): - p = self._media_api.authenticate(auth_profile.token) + auth = self.auth + if auth_profile := auth.get_auth(): + p = media_api.authenticate(auth_profile.token) if p: logger.debug(f"Authenticated as {p.name}") else: logger.warning(f"Failed to authenticate with {auth_profile.token}") else: logger.debug("Not authenticated") + self._media_api = media_api return self._media_api @@ -162,7 +162,7 @@ class Context: from ..service.watch_history.service import WatchHistoryService self._watch_history = WatchHistoryService( - self.config, self.media_registry, self._media_api + self.config, self.media_registry, self.media_api ) return self._watch_history diff --git a/fastanime/cli/service/player/ipc/mpv.py b/fastanime/cli/service/player/ipc/mpv.py index 3303f35..45e9394 100644 --- a/fastanime/cli/service/player/ipc/mpv.py +++ b/fastanime/cli/service/player/ipc/mpv.py @@ -440,7 +440,8 @@ class MpvIPCPlayer(BaseIPCPlayer): self._handle_property_change(message) elif event == "client-message": self._handle_client_message(message) - elif event == "file-loaded" and not self.registry: + elif event == "file-loaded": + time.sleep(0.1) self._configure_player() elif event: logger.debug(f"MPV event: {event}") @@ -596,11 +597,11 @@ class MpvIPCPlayer(BaseIPCPlayer): self.player_state.reset() self.player_state.episode = target_episode self.ipc_client.send_command(["loadfile", str(file_path)]) - time.sleep(1) - self.ipc_client.send_command(["seek", 0, "absolute"]) - self.ipc_client.send_command( - ["set_property", "title", self.player_state.episode_title] - ) + # time.sleep(1) + # self.ipc_client.send_command(["seek", 0, "absolute"]) + # self.ipc_client.send_command( + # ["set_property", "title", self.player_state.episode_title] + # ) self._show_text(f"Fetched {file_path}") self.player_fetching = False diff --git a/fastanime/cli/service/watch_history/service.py b/fastanime/cli/service/watch_history/service.py index 660b4b3..b286722 100644 --- a/fastanime/cli/service/watch_history/service.py +++ b/fastanime/cli/service/watch_history/service.py @@ -38,13 +38,23 @@ class WatchHistoryService: ) if self.media_api and self.media_api.is_authenticated(): - self.media_api.update_list_entry( + if not self.media_api.update_list_entry( UpdateUserMediaListEntryParams( media_id=media_item.id, - progress=player_result.episode, status=status, + progress=player_result.episode, ) - ) + ): + logger.info( + "successfully updated remote progress with {player_result.episode}" + ) + + else: + logger.warning( + "failed to update remote progress with {player_result.episode}" + ) + else: + logger.warning("Not logged in") def get_episode(self, media_item: MediaItem): index_entry = self.media_registry.get_media_index_entry(media_item.id) @@ -116,6 +126,9 @@ class WatchHistoryService: progress=progress, ) ) + logger.info("updating remote progressd") + else: + logger.warning("Not logged in") def add_media_to_list_if_not_present(self, media_item: MediaItem): """Adds a media item to the user's PLANNING list if it's not already on any list."""