Hi,
there is a know problem, that the Pocketbook Devices (at least the Lux2) doesn't correctly show the correct book info, if the metadata isn't organized in a special way. It seems, that the Pocketbooks stop to read data from the series_info onwards.
Metadata that works:
Code:
<dc:subject>Versuch</dc:subject>
<dc:language>de</dc:language>
<dc:identifier opf:scheme="calibre">0587642b-2b94-4384-a79a-49541fa8a24d</dc:identifier>
<meta content="0.7.2" name="Sigil version"/>
<meta content="Metadaten-Test" name="calibre:title_sort"/>
<meta content="{"Klecks": ""}" name="calibre:author_link_map"/>
<meta content="2014-10-26T10:28:34.540000+00:00" name="calibre:timestamp"/>
<meta name="calibre:series" content="eBook Testdateien"/>
<meta name="calibre:series_index" content="1.0"/>
<meta name="cover" content="cover"/>
Metadat that does't work:
Code:
<dc:subject>Versuch</dc:subject>
<dc:language>de</dc:language>
<dc:identifier opf:scheme="calibre">928e1c34-32f7-497d-9437-b91765614d10</dc:identifier>
<meta content="0.7.2" name="Sigil version"/>
<meta name="calibre:series" content="eBook Testdateien"/>
<meta name="calibre:series_index" content="1.0"/>
<meta content="Metadaten-Test" name="calibre:title_sort"/>
<meta content="{"Klecks": ""}" name="calibre:author_link_map"/>
<meta content="2014-10-26T10:28:34.540000+00:00" name="calibre:timestamp"/>
<meta name="cover" content="cover"/>
As you can see, the only difference is the position of the calibre:series related information.
I already tried to edit the file \calibre-master\src\calibre\ebooks\metadata\opf2.py, but my python and knowledge of the calibre source isn't good enough to recognize where i have to change the source to get calibre to write the medadata in a format the Lux2 can recognize.
I already tried to change the smart_update, but that didn't work ...
Code:
def smart_update(self, mi, replace_metadata=False, apply_null=False):
for attr in ('title', 'authors', 'author_sort', 'title_sort', 'publisher', 'rating', 'isbn', 'tags', 'category', 'comments', 'book_producer', 'pubdate', 'user_categories', 'author_link_map', 'series', 'series_index'):
val = getattr(mi, attr, None)
is_null = val is None or val in ((), [], (None, None), {})
if is_null:
if apply_null and attr in {'series', 'tags', 'isbn', 'comments', 'publisher'}:
setattr(self, attr, ([] if attr == 'tags' else None))
else:
setattr(self, attr, val)
Can someone help?