Kobo driver: Fix update device metadata setting not being saved

Also fix book language not being set correctly on newer firmware.

Merge branch 'master' of https://github.com/davidfor/calibre
This commit is contained in:
Kovid Goyal 2019-04-10 19:38:09 +05:30
commit 8e2ea0c2a6
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 7 additions and 2 deletions

View File

@ -24,6 +24,7 @@ from calibre.devices.usbms.books import CollectionsBookList
from calibre.devices.kobo.books import KTCollectionsBookList from calibre.devices.kobo.books import KTCollectionsBookList
from calibre.ebooks.metadata import authors_to_string from calibre.ebooks.metadata import authors_to_string
from calibre.ebooks.metadata.book.base import Metadata from calibre.ebooks.metadata.book.base import Metadata
from calibre.ebooks.metadata.utils import normalize_languages
from calibre.devices.kobo.books import Book from calibre.devices.kobo.books import Book
from calibre.devices.kobo.books import ImageWrapper from calibre.devices.kobo.books import ImageWrapper
from calibre.devices.mime import mime_type_ext from calibre.devices.mime import mime_type_ext
@ -3080,8 +3081,11 @@ class KOBOTOUCH(KOBO):
update_values.append(newmi.isbn) update_values.append(newmi.isbn)
set_clause += ', ISBN = ? ' set_clause += ', ISBN = ? '
if not (newmi.language == kobo_metadata.language):
update_values.append(newmi.language) library_language = normalize_languages(kobo_metadata.languages, newmi.languages)
library_language = library_language[0] if library_language is not None and len(library_language) > 0 else None
if not (library_language == kobo_metadata.language):
update_values.append(library_language)
set_clause += ', Language = ? ' set_clause += ', Language = ? '
if self.update_subtitle: if self.update_subtitle:

View File

@ -112,6 +112,7 @@ class KOBOTOUCHConfig(TabbedDeviceConfig):
p['show_previews'] = self.show_previews p['show_previews'] = self.show_previews
p['show_archived_books'] = self.show_archived_books p['show_archived_books'] = self.show_archived_books
p['update_device_metadata'] = self.update_device_metadata
p['update_series'] = self.update_series p['update_series'] = self.update_series
p['update_core_metadata'] = self.update_core_metadata p['update_core_metadata'] = self.update_core_metadata
p['update_purchased_kepubs'] = self.update_purchased_kepubs p['update_purchased_kepubs'] = self.update_purchased_kepubs