Ignore trailing colons on words when filtering matches by title from amazon

This commit is contained in:
Kovid Goyal 2018-10-12 18:48:10 +05:30
parent bdb6d4e246
commit 4d31b8e3db
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -839,7 +839,7 @@ class Worker(Thread): # Get details {{{
class Amazon(Source): class Amazon(Source):
name = 'Amazon.com' name = 'Amazon.com'
version = (1, 2, 3) version = (1, 2, 4)
minimum_calibre_version = (2, 82, 0) minimum_calibre_version = (2, 82, 0)
description = _('Downloads metadata and covers from Amazon') description = _('Downloads metadata and covers from Amazon')
@ -1386,9 +1386,9 @@ class Amazon(Source):
if not self.use_search_engine: if not self.use_search_engine:
return True return True
if title is not None: if title is not None:
tokens = {icu_lower(x) for x in title.split() if len(x) > 3} tokens = {icu_lower(x).rstrip(':') for x in title.split() if len(x) > 3}
if tokens: if tokens:
result_tokens = {icu_lower(x) for x in mi.title.split()} result_tokens = {icu_lower(x).rstrip(':') for x in mi.title.split()}
if not tokens.intersection(result_tokens): if not tokens.intersection(result_tokens):
log('Ignoring result:', mi.title, 'as its title does not match') log('Ignoring result:', mi.title, 'as its title does not match')
return False return False