Skip to content

Commit ac45b7f

Browse files
authored
fix: abs: another in progress fix (#2605)
1 parent 75ad921 commit ac45b7f

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

music_assistant/providers/audiobookshelf/__init__.py

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1448,9 +1448,10 @@ async def _set_playlog_from_user_sync(self, progresses: list[MediaProgress]) ->
14481448
# timestamp, we do not update again.
14491449
if not self.progress_guard.guard_ok_abs(progress):
14501450
continue
1451-
if progress.current_time is not None and not progress.current_time >= 30:
1452-
# same as mass default, only > 30s
1453-
continue
1451+
if progress.current_time is not None:
1452+
if int(progress.current_time) != 0 and progress.current_time >= 30:
1453+
# same as mass default, only > 30s
1454+
continue
14541455
if progress.library_item_id not in known_ids:
14551456
continue
14561457
__updated_items += 1
@@ -1499,11 +1500,14 @@ async def _update_playlog_book(self, progress: MediaProgress) -> None:
14991500
)
15001501
if mass_audiobook is None:
15011502
return
1502-
await self.mass.music.mark_item_played(
1503-
mass_audiobook,
1504-
fully_played=progress.is_finished,
1505-
seconds_played=int(progress.current_time),
1506-
)
1503+
if int(progress.current_time) == 0:
1504+
await self.mass.music.mark_item_unplayed(mass_audiobook)
1505+
else:
1506+
await self.mass.music.mark_item_played(
1507+
mass_audiobook,
1508+
fully_played=progress.is_finished,
1509+
seconds_played=int(progress.current_time),
1510+
)
15071511

15081512
async def _update_playlog_episode(self, progress: MediaProgress) -> None:
15091513
# helper progress also ensures no useless progress updates,
@@ -1517,11 +1521,14 @@ async def _update_playlog_episode(self, progress: MediaProgress) -> None:
15171521
mass_episode = await self.get_podcast_episode(_episode_id, add_progress=False)
15181522
except MediaNotFoundError:
15191523
return
1520-
await self.mass.music.mark_item_played(
1521-
mass_episode,
1522-
fully_played=progress.is_finished,
1523-
seconds_played=int(progress.current_time),
1524-
)
1524+
if int(progress.current_time) == 0:
1525+
await self.mass.music.mark_item_unplayed(mass_episode)
1526+
else:
1527+
await self.mass.music.mark_item_played(
1528+
mass_episode,
1529+
fully_played=progress.is_finished,
1530+
seconds_played=int(progress.current_time),
1531+
)
15251532

15261533
async def _cache_set_helper_libraries(self) -> None:
15271534
await self.mass.cache.set(

0 commit comments

Comments
 (0)