koreader-calibre-plugin icon indicating copy to clipboard operation
koreader-calibre-plugin copied to clipboard

[Bug] Books are not synced with message "skipped, no uuid"

Open leononame opened this issue 6 months ago • 0 comments

KOreader Sync plugin version

0.7.1

KOreader version

2025.04

Operating System

Linux

Connection type

Wired (over usb cable)

Describe the bug

When reading the metadata from my Kobo Clara BW, metadata is not correctly imported for all books. Some books are simply skipped and don't appear at all in the final sync window.

I currently have 24 books on the device - Calibre correctly recognizes all 24 books on the device:

Image

But when I execute sync, only 15 of those books are synced:

Image

I traced this back to the get_paths function. The remaining books are returned in the device.books() call, but their uuid is not set. I don't know why or how the UUID is not set, I'm not familiar at all with how calibre plugins work, but this is really annoying.

My question is: how do I get the books to have a UUID on the device?

Side note: Since get_paths returns a map of books by UUID, only a single book without UUID can be returned. It'd be more helpful if all books without UUID were returned (e.g. return a list of tuples rather than a dictionary) so that at least they all show up in the list.

How to reproduce

I can send my epub and kepub files over if it helps, I'm also willing to share my calibre library or anything else in private for debugging purposes. My template for sending books to the device is "{title} - {authors}".

Expected behavior

I would expect all books on the device to have a UUID and be synced correctly

Provide details output from plugin pop-up window

No response

Screenshots

No response

Any additional info

No response

leononame avatar Jun 30 '25 19:06 leononame