View Single Post
Old 01-14-2012, 09:41 AM   #1
engelhro
Junior Member
engelhro began at the beginning.
 
Posts: 5
Karma: 10
Join Date: Jan 2012
Device: Kindle Touch
Question How to connect a book on the device with its counterpart in the library?

Hello,

Is there a way to somehow connect a book on my device (Kindle Touch) to one entry in the library which are incorrectly not recognized as belonging together?
Background: during adding this book (bought from Amazon, but apparently with some metadata problems) from the device to the library, an error message is shown by Calibre (see below, if that is of any help). Afterwards I have a broken entry in the library with both "unknown" title and author. Though I can fix its metadata in the library, there's of course no checkmark next to the library entry indicating that this book is also on the device, and vice versa.

It's a minor annoyance, but I still want to resolve it - otherwise it always seems as if the device and the library are not in sync, each with one unmatched entry. Adding the book from the device again adds just another copy of the stray "unknown/unknown" title, and doing the opposite (uploading the fixed copy from the library onto the device) leads to a confusion on the Kindle/Amazon side (moving the book to the "Archived" section and triggering a re-download at the next occasion, as the book is not recognized anymore as being the same and thus already present on the Kindle).

So how do I tell Calibre that these books are linked, respectively that they actually *are* same book, and both entries represent each other? Or alternatively how do I fix the problem with the "add to library" functionality?

Thanks for your help!

Here are the promised details (using Calibre 0.8.35), i.e. the error message:

Code:
Traceback (most recent call last):
  File "site-packages\calibre\ebooks\metadata\worker.py", line 72, in do_read_metadata
  File "site-packages\calibre\ebooks\metadata\worker.py", line 36, in serialize_metadata_for
  File "site-packages\calibre\ebooks\metadata\opf2.py", line 1367, in metadata_to_opf
  File "site-packages\calibre\ebooks\metadata\opf2.py", line 1364, in factory
  File "lxml.etree.pyx", line 916, in lxml.etree._Element.text.__set__ (src/lxml/lxml.etree.c:36134)
  File "apihelpers.pxi", line 721, in lxml.etree._setNodeText (src/lxml/lxml.etree.c:17141)
  File "apihelpers.pxi", line 1366, in lxml.etree._utf8 (src/lxml/lxml.etree.c:22211)
ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
engelhro is offline   Reply With Quote