mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge branch 'master' of https://github.com/davidfor/calibre
This commit is contained in:
commit
c43ff4f5d9
@ -950,7 +950,7 @@ class KOBO(USBMS):
|
|||||||
def sync_booklists(self, booklists, end_session=True):
|
def sync_booklists(self, booklists, end_session=True):
|
||||||
debug_print('KOBO:sync_booklists - start')
|
debug_print('KOBO:sync_booklists - start')
|
||||||
paths = self.get_device_paths()
|
paths = self.get_device_paths()
|
||||||
debug_print('KOBO:sync_booklists - booklists:', booklists)
|
# debug_print('KOBO:sync_booklists - booklists:', booklists)
|
||||||
|
|
||||||
blists = {}
|
blists = {}
|
||||||
for i in paths:
|
for i in paths:
|
||||||
@ -1363,7 +1363,7 @@ class KOBOTOUCH(KOBO):
|
|||||||
# Starting with firmware version 3.19.x, the last number appears to be is a
|
# Starting with firmware version 3.19.x, the last number appears to be is a
|
||||||
# build number. A number will be recorded here but it can be safely ignored
|
# build number. A number will be recorded here but it can be safely ignored
|
||||||
# when testing the firmware version.
|
# when testing the firmware version.
|
||||||
max_supported_fwversion = (4, 24, 15672)
|
max_supported_fwversion = (4, 25, 15821)
|
||||||
# The following document firwmare versions where new function or devices were added.
|
# The following document firwmare versions where new function or devices were added.
|
||||||
# Not all are used, but this feels a good place to record it.
|
# Not all are used, but this feels a good place to record it.
|
||||||
min_fwversion_shelves = (2, 0, 0)
|
min_fwversion_shelves = (2, 0, 0)
|
||||||
@ -1758,6 +1758,7 @@ class KOBOTOUCH(KOBO):
|
|||||||
bl[idx].kobo_series = series
|
bl[idx].kobo_series = series
|
||||||
bl[idx].kobo_series_number = seriesnumber
|
bl[idx].kobo_series_number = seriesnumber
|
||||||
bl[idx].kobo_series_id = SeriesID
|
bl[idx].kobo_series_id = SeriesID
|
||||||
|
bl[idx].kobo_series_number_float = SeriesNumberFloat
|
||||||
bl[idx].kobo_subtitle = Subtitle
|
bl[idx].kobo_subtitle = Subtitle
|
||||||
bl[idx].can_put_on_shelves = allow_shelves
|
bl[idx].can_put_on_shelves = allow_shelves
|
||||||
bl[idx].mime = MimeType
|
bl[idx].mime = MimeType
|
||||||
@ -1817,6 +1818,7 @@ class KOBOTOUCH(KOBO):
|
|||||||
book.kobo_series = series
|
book.kobo_series = series
|
||||||
book.kobo_series_number = seriesnumber
|
book.kobo_series_number = seriesnumber
|
||||||
book.kobo_series_id = SeriesID
|
book.kobo_series_id = SeriesID
|
||||||
|
book.kobo_series_number_float = SeriesNumberFloat
|
||||||
book.kobo_subtitle = Subtitle
|
book.kobo_subtitle = Subtitle
|
||||||
book.can_put_on_shelves = allow_shelves
|
book.can_put_on_shelves = allow_shelves
|
||||||
# debug_print('KoboTouch:update_booklist - title=', title, 'book.device_collections', book.device_collections)
|
# debug_print('KoboTouch:update_booklist - title=', title, 'book.device_collections', book.device_collections)
|
||||||
@ -3153,14 +3155,12 @@ class KOBOTOUCH(KOBO):
|
|||||||
changes_found = False
|
changes_found = False
|
||||||
kobo_metadata = book.kobo_metadata
|
kobo_metadata = book.kobo_metadata
|
||||||
|
|
||||||
series_changed = not (newmi.series == kobo_metadata.series)
|
if show_debug:
|
||||||
series_number_changed = False
|
debug_print('KoboTouch:set_core_metadata newmi.series="%s"' % (newmi.series, ))
|
||||||
if kobo_metadata.series_index is not None:
|
debug_print('KoboTouch:set_core_metadata kobo_metadata.series="%s"' % (kobo_metadata.series, ))
|
||||||
try:
|
debug_print('KoboTouch:set_core_metadata newmi.series_index="%s"' % (newmi.series_index, ))
|
||||||
kobo_series_number = float(book.kobo_series_number)
|
debug_print('KoboTouch:set_core_metadata kobo_metadata.series_index="%s"' % (kobo_metadata.series_index, ))
|
||||||
except:
|
debug_print('KoboTouch:set_core_metadata book.kobo_series_number="%s"' % (book.kobo_series_number, ))
|
||||||
kobo_series_number = None
|
|
||||||
series_number_changed = not (kobo_series_number == newmi.series_index)
|
|
||||||
|
|
||||||
if newmi.series is not None:
|
if newmi.series is not None:
|
||||||
new_series = newmi.series
|
new_series = newmi.series
|
||||||
@ -3171,6 +3171,14 @@ class KOBOTOUCH(KOBO):
|
|||||||
else:
|
else:
|
||||||
new_series = None
|
new_series = None
|
||||||
new_series_number = None
|
new_series_number = None
|
||||||
|
|
||||||
|
series_changed = not (new_series == kobo_metadata.series)
|
||||||
|
series_number_changed = not (new_series_number == book.kobo_series_number)
|
||||||
|
if show_debug:
|
||||||
|
debug_print('KoboTouch:set_core_metadata new_series="%s"' % (new_series, ))
|
||||||
|
debug_print('KoboTouch:set_core_metadata new_series_number="%s"' % (new_series_number, ))
|
||||||
|
debug_print('KoboTouch:set_core_metadata series_number_changed="%s"' % (series_number_changed, ))
|
||||||
|
debug_print('KoboTouch:set_core_metadata series_changed="%s"' % (series_changed, ))
|
||||||
|
|
||||||
if series_changed or series_number_changed:
|
if series_changed or series_number_changed:
|
||||||
update_values.append(new_series)
|
update_values.append(new_series)
|
||||||
@ -3179,12 +3187,22 @@ class KOBOTOUCH(KOBO):
|
|||||||
set_clause += ', SeriesNumber = ? '
|
set_clause += ', SeriesNumber = ? '
|
||||||
if self.supports_series_list and book.is_sideloaded:
|
if self.supports_series_list and book.is_sideloaded:
|
||||||
series_id = self.kobo_series_dict.get(new_series, new_series)
|
series_id = self.kobo_series_dict.get(new_series, new_series)
|
||||||
if not book.kobo_series_id == series_id or series_changed or series_number_changed:
|
try:
|
||||||
|
kobo_series_id = book.kobo_series_id
|
||||||
|
kobo_series_number_float = book.kobo_series_number_float
|
||||||
|
except: # This should mean the book was sent to the device during the current session.
|
||||||
|
kobo_series_id = None
|
||||||
|
kobo_series_number_float = None
|
||||||
|
|
||||||
|
if series_changed or series_number_changed \
|
||||||
|
or not kobo_series_id == series_id \
|
||||||
|
or not kobo_series_number_float == newmi.series_index:
|
||||||
update_values.append(series_id)
|
update_values.append(series_id)
|
||||||
set_clause += ', SeriesID = ? '
|
set_clause += ', SeriesID = ? '
|
||||||
update_values.append(new_series_number)
|
update_values.append(newmi.series_index)
|
||||||
set_clause += ', SeriesNumberFloat = ? '
|
set_clause += ', SeriesNumberFloat = ? '
|
||||||
debug_print("KoboTouch:set_core_metadata Setting SeriesID - new_series='%s', series_id='%s'" % (new_series, series_id))
|
if show_debug:
|
||||||
|
debug_print("KoboTouch:set_core_metadata Setting SeriesID - new_series='%s', series_id='%s'" % (new_series, series_id))
|
||||||
|
|
||||||
if not series_only:
|
if not series_only:
|
||||||
if not (newmi.title == kobo_metadata.title):
|
if not (newmi.title == kobo_metadata.title):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user