From 41ccd7b087c3acecfb79874e5afb7e3ab12f2745 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 23 Feb 2016 11:18:59 +0530 Subject: [PATCH] Prevent db from writing non-numeric series_index values when creating new book entries --- src/calibre/db/cache.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/calibre/db/cache.py b/src/calibre/db/cache.py index e7269c224d..149205a4d6 100644 --- a/src/calibre/db/cache.py +++ b/src/calibre/db/cache.py @@ -1496,6 +1496,13 @@ class Cache(object): if not add_duplicates and self._has_book(mi): return series_index = (self._get_next_series_num_for(mi.series) if mi.series_index is None else mi.series_index) + try: + series_index = float(series_index) + except Exception: + try: + series_index = float(self._get_next_series_num_for(mi.series)) + except Exception: + series_index = 1.0 if not mi.authors: mi.authors = (_('Unknown'),) aus = mi.author_sort if mi.author_sort else self._author_sort_from_authors(mi.authors)