Fix scrobbing pages
This commit is contained in:
@ -22,6 +22,7 @@ class AuthorAdmin(admin.ModelAdmin):
|
||||
class PageAdmin(admin.ModelAdmin):
|
||||
date_hierarchy = "created"
|
||||
list_filter = ("book",)
|
||||
ordering = ("book", "number")
|
||||
|
||||
|
||||
@admin.register(Book)
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
Reference in New Issue
Block a user