mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix the isbn special case
This commit is contained in:
parent
3d1b02d10f
commit
52e2c7b4e4
@ -501,6 +501,7 @@ class ResultCache(SearchQueryParser): # {{{
|
|||||||
if query and query.strip():
|
if query and query.strip():
|
||||||
# get metadata key associated with the search term. Eliminates
|
# get metadata key associated with the search term. Eliminates
|
||||||
# dealing with plurals and other aliases
|
# dealing with plurals and other aliases
|
||||||
|
original_location = location
|
||||||
location = self.field_metadata.search_term_to_field_key(icu_lower(location.strip()))
|
location = self.field_metadata.search_term_to_field_key(icu_lower(location.strip()))
|
||||||
# grouped search terms
|
# grouped search terms
|
||||||
if isinstance(location, list):
|
if isinstance(location, list):
|
||||||
@ -550,11 +551,13 @@ class ResultCache(SearchQueryParser): # {{{
|
|||||||
len(item[loc].split(ms)) if item[loc] is not None else 0
|
len(item[loc].split(ms)) if item[loc] is not None else 0
|
||||||
return self.get_numeric_matches(location, query[1:],
|
return self.get_numeric_matches(location, query[1:],
|
||||||
candidates, val_func=vf)
|
candidates, val_func=vf)
|
||||||
|
|
||||||
# special case: identifiers. isbn is a special case within the case
|
# special case: identifiers. isbn is a special case within the case
|
||||||
if location == 'identifiers':
|
if location == 'identifiers':
|
||||||
|
if original_location == 'isbn':
|
||||||
|
return self.get_keypair_matches('identifiers',
|
||||||
|
'=isbn:'+query, candidates)
|
||||||
return self.get_keypair_matches(location, query, candidates)
|
return self.get_keypair_matches(location, query, candidates)
|
||||||
if location == 'isbn':
|
|
||||||
return self.get_keypair_matches('identifiers', '=isbn:'+query, candidates)
|
|
||||||
|
|
||||||
# check for user categories
|
# check for user categories
|
||||||
if len(location) >= 2 and location.startswith('@'):
|
if len(location) >= 2 and location.startswith('@'):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user