fix: failure to update remote history

This commit is contained in:
Benexl
2025-07-29 01:13:53 +03:00
parent 9402e7a2b6
commit be14e6a135
3 changed files with 29 additions and 15 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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."""