[books] Fix index error issue with some imports

This commit is contained in:
2024-04-16 10:47:10 -04:00
parent 5d5b49f19b
commit 1327d5da40

View File

@ -225,7 +225,10 @@ def build_scrobbles_from_book_map(
pages_processed = 0 pages_processed = 0
total_pages_read = len(book_map[koreader_book_id]["pages"]) total_pages_read = len(book_map[koreader_book_id]["pages"])
ordered_pages = sorted(book_map[koreader_book_id]["pages"].items(), key=lambda x: x[1]["start_ts"]) ordered_pages = sorted(
book_map[koreader_book_id]["pages"].items(),
key=lambda x: x[1]["start_ts"],
)
for cur_page_number, stats in ordered_pages: for cur_page_number, stats in ordered_pages:
pages_processed += 1 pages_processed += 1
@ -249,13 +252,25 @@ def build_scrobbles_from_book_map(
should_create_scrobble = True should_create_scrobble = True
if should_create_scrobble: if should_create_scrobble:
scrobble_page_data = OrderedDict(sorted(scrobble_page_data.items(), key=lambda x: x[1]["start_ts"])) scrobble_page_data = OrderedDict(
sorted(
scrobble_page_data.items(),
key=lambda x: x[1]["start_ts"],
)
)
try:
first_page = scrobble_page_data.get( first_page = scrobble_page_data.get(
list(scrobble_page_data.keys())[0] list(scrobble_page_data.keys())[0]
) )
last_page = scrobble_page_data.get( last_page = scrobble_page_data.get(
list(scrobble_page_data.keys())[-1] list(scrobble_page_data.keys())[-1]
) )
except IndexError:
logger.error(
"Could not process book, no page data found",
extra={"scrobble_page_data": scrobble_page_data},
)
continue
start_ts = int(stats.get("start_ts")) start_ts = int(stats.get("start_ts"))
end_ts = int(last_page.get("end_ts")) end_ts = int(last_page.get("end_ts"))