Fix scrobbing pages

This commit is contained in:
2023-03-27 01:31:05 -04:00
parent d19838a26f
commit ee01ffa4ad
3 changed files with 7 additions and 4 deletions

View File

@ -22,6 +22,7 @@ class AuthorAdmin(admin.ModelAdmin):
class PageAdmin(admin.ModelAdmin):
date_hierarchy = "created"
list_filter = ("book",)
ordering = ("book", "number")
@admin.register(Book)

View File

@ -130,6 +130,7 @@ def build_scrobbles_from_pages(
new_scrobbles = []
new_scrobbles = []
pages_created = []
for page_row in rows:
koreader_id = page_row[KoReaderPageStatColumn.ID_BOOK.value]
page_number = page_row[KoReaderPageStatColumn.PAGE.value]
@ -147,8 +148,9 @@ def build_scrobbles_from_pages(
KoReaderPageStatColumn.DURATION.value
]
page.save(update_fields=["start_time", "duration_seconds"])
page.refresh_from_db()
pages_created.append(page)
for page in pages_created:
if page.is_scrobblable:
# Page number is a placeholder, we'll re-preocess this after creation
logger.debug(
@ -161,7 +163,7 @@ def build_scrobbles_from_pages(
timestamp=page.start_time,
played_to_completion=True,
in_progress=False,
book_pages_read=page_number,
book_pages_read=page.number,
long_play_complete=False,
)
new_scrobbles.append(new_scrobble)

View File

@ -231,7 +231,7 @@ class Page(TimeStampedModel):
@property
def seconds_to_next_page(self) -> int:
seconds = 0
seconds = 999999 # Effectively infnity time as we have no next
if not self.end_time:
self._set_end_time()
if self.next:
@ -265,7 +265,7 @@ class Page(TimeStampedModel):
def _set_end_time(self) -> None:
if self.end_time:
return self.end_time
return
self.end_time = self.start_time + timedelta(
seconds=self.duration_seconds