From 4f0ca1264211dd0dd4ca4286500df8751d9c30de Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 4 Aug 2012 14:33:12 +0200 Subject: [PATCH 1/2] Fix isbn:false not matching if other identifiers are attached to the book. --- src/calibre/library/caches.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index a516681fab..99470f3835 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -568,6 +568,7 @@ class ResultCache(SearchQueryParser): # {{{ matches.add(id_) continue + add_if_valq_false = valq == 'false' pairs = [p.strip() for p in item[loc].split(split_char)] for pair in pairs: parts = pair.split(':') @@ -583,10 +584,14 @@ class ResultCache(SearchQueryParser): # {{{ continue elif valq == 'false': if v: + add_if_valq_false = False continue elif not _match(valq, v, valq_mkind): continue matches.add(id_) + + if add_if_valq_false: + matches.add(id_) return matches def _matchkind(self, query): From 2f122ce624348d7cd04e67a200f4a59bd101b9d5 Mon Sep 17 00:00:00 2001 From: Charles Haley <> Date: Sat, 4 Aug 2012 14:55:47 +0200 Subject: [PATCH 2/2] ... --- src/calibre/library/caches.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/calibre/library/caches.py b/src/calibre/library/caches.py index 99470f3835..0162258764 100644 --- a/src/calibre/library/caches.py +++ b/src/calibre/library/caches.py @@ -568,7 +568,7 @@ class ResultCache(SearchQueryParser): # {{{ matches.add(id_) continue - add_if_valq_false = valq == 'false' + add_if_nothing_matches = valq == 'false' pairs = [p.strip() for p in item[loc].split(split_char)] for pair in pairs: parts = pair.split(':') @@ -584,13 +584,13 @@ class ResultCache(SearchQueryParser): # {{{ continue elif valq == 'false': if v: - add_if_valq_false = False + add_if_nothing_matches = False continue elif not _match(valq, v, valq_mkind): continue matches.add(id_) - if add_if_valq_false: + if add_if_nothing_matches: matches.add(id_) return matches