Fix #1999571 [Similar books: Grouped search problems](https://bugs.launchpad.net/calibre/+bug/1999571)
This commit is contained in:
Kovid Goyal 2022-12-15 07:34:46 +05:30
commit 8e362f7dfb
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 8 additions and 0 deletions

View File

@ -2349,6 +2349,13 @@ class Cache:
return f.get_books_for_val(item_id_or_composite_value, self._get_proxy_metadata, self._all_book_ids())
return self._books_for_field(f.name, int(item_id_or_composite_value))
@read_api
def split_if_is_multiple_composite(self, f, v):
fm = self.field_metadata.get(f, None)
if fm and fm['datatype'] == 'composite' and fm['is_multiple']:
return [v.strip() for v in v.split(',') if v.strip()]
return v
@read_api
def data_for_find_identical_books(self):
''' Return data that can be used to implement

View File

@ -66,6 +66,7 @@ class SimilarBooksAction(InterfaceAction):
v = mi.get(f, None)
if not v:
continue
v = db.new_api.split_if_is_multiple_composite(f, v)
if isinstance(v, list):
val.update(v)
else: