mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Kobo driver: Friendlier error message when the user tries to add kepubs from the device to calibre. Fixes to getting bookmarks from the device. No longer show unsupported db version for older Kobo models with newer firmware. Fixes #1063352 (KOBO database version unsupported)
This commit is contained in:
parent
47bb021d3f
commit
a186affcdc
@ -33,11 +33,11 @@ class KOBO(USBMS):
|
|||||||
gui_name = 'Kobo Reader'
|
gui_name = 'Kobo Reader'
|
||||||
description = _('Communicate with the Kobo Reader')
|
description = _('Communicate with the Kobo Reader')
|
||||||
author = 'Timothy Legge and David Forrester'
|
author = 'Timothy Legge and David Forrester'
|
||||||
version = (2, 0, 0)
|
version = (2, 0, 1)
|
||||||
|
|
||||||
dbversion = 0
|
dbversion = 0
|
||||||
fwversion = 0
|
fwversion = 0
|
||||||
supported_dbversion = 33
|
supported_dbversion = 62
|
||||||
has_kepubs = False
|
has_kepubs = False
|
||||||
|
|
||||||
supported_platforms = ['windows', 'osx', 'linux']
|
supported_platforms = ['windows', 'osx', 'linux']
|
||||||
@ -59,7 +59,8 @@ class KOBO(USBMS):
|
|||||||
SUPPORTS_SUB_DIRS = True
|
SUPPORTS_SUB_DIRS = True
|
||||||
SUPPORTS_ANNOTATIONS = True
|
SUPPORTS_ANNOTATIONS = True
|
||||||
|
|
||||||
VIRTUAL_BOOK_EXTENSIONS = frozenset(['kobo'])
|
# "kepubs" do not have an extension. The name looks like a GUID. Using an empty string seems to work.
|
||||||
|
VIRTUAL_BOOK_EXTENSIONS = frozenset(['kobo', ''])
|
||||||
|
|
||||||
EXTRA_CUSTOMIZATION_MESSAGE = [
|
EXTRA_CUSTOMIZATION_MESSAGE = [
|
||||||
_('The Kobo supports several collections including ')+\
|
_('The Kobo supports several collections including ')+\
|
||||||
@ -1044,6 +1045,7 @@ class KOBO(USBMS):
|
|||||||
extension = os.path.splitext(path_map[id])[1]
|
extension = os.path.splitext(path_map[id])[1]
|
||||||
ContentType = self.get_content_type_from_extension(extension) if extension != '' else self.get_content_type_from_path(path_map[id])
|
ContentType = self.get_content_type_from_extension(extension) if extension != '' else self.get_content_type_from_path(path_map[id])
|
||||||
ContentID = self.contentid_from_path(path_map[id], ContentType)
|
ContentID = self.contentid_from_path(path_map[id], ContentType)
|
||||||
|
debug_print("get_annotations - ContentID: ", ContentID, "ContentType: ", ContentType)
|
||||||
|
|
||||||
bookmark_ext = extension
|
bookmark_ext = extension
|
||||||
|
|
||||||
@ -1066,7 +1068,10 @@ class KOBO(USBMS):
|
|||||||
try:
|
try:
|
||||||
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(calendar.timegm(time.strptime(bookmark.last_read, "%Y-%m-%dT%H:%M:%S"))))
|
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(calendar.timegm(time.strptime(bookmark.last_read, "%Y-%m-%dT%H:%M:%S"))))
|
||||||
except:
|
except:
|
||||||
|
try:
|
||||||
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(calendar.timegm(time.strptime(bookmark.last_read, "%Y-%m-%dT%H:%M:%S.%f"))))
|
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(calendar.timegm(time.strptime(bookmark.last_read, "%Y-%m-%dT%H:%M:%S.%f"))))
|
||||||
|
except:
|
||||||
|
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(calendar.timegm(time.strptime(bookmark.last_read, "%Y-%m-%dT%H:%M:%SZ"))))
|
||||||
else:
|
else:
|
||||||
#self.datetime = time.gmtime()
|
#self.datetime = time.gmtime()
|
||||||
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
|
last_read = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
|
||||||
@ -1157,6 +1162,7 @@ class KOBO(USBMS):
|
|||||||
|
|
||||||
if bm.type == 'kobo_bookmark':
|
if bm.type == 'kobo_bookmark':
|
||||||
mi = db.get_metadata(db_id, index_is_id=True)
|
mi = db.get_metadata(db_id, index_is_id=True)
|
||||||
|
debug_print("KOBO:add_annotation_to_library - Title: ", mi.title)
|
||||||
user_notes_soup = self.generate_annotation_html(bm.value)
|
user_notes_soup = self.generate_annotation_html(bm.value)
|
||||||
if mi.comments:
|
if mi.comments:
|
||||||
a_offset = mi.comments.find('<div class="user_annotations">')
|
a_offset = mi.comments.find('<div class="user_annotations">')
|
||||||
@ -1750,6 +1756,9 @@ class KOBOTOUCH(KOBO):
|
|||||||
ContentID = os.path.splitext(path)[0]
|
ContentID = os.path.splitext(path)[0]
|
||||||
# Remove the prefix on the file. it could be either
|
# Remove the prefix on the file. it could be either
|
||||||
ContentID = ContentID.replace(self._main_prefix, '')
|
ContentID = ContentID.replace(self._main_prefix, '')
|
||||||
|
elif extension == '':
|
||||||
|
ContentID = path
|
||||||
|
ContentID = ContentID.replace(self._main_prefix + self.normalize_path('.kobo/kepub/'), '')
|
||||||
else:
|
else:
|
||||||
ContentID = path
|
ContentID = path
|
||||||
ContentID = ContentID.replace(self._main_prefix, "file:///mnt/onboard/")
|
ContentID = ContentID.replace(self._main_prefix, "file:///mnt/onboard/")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user