mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
Fix searches on Yes/No columns using the terms ('blank', 'checked', 'unchecked') not working on non-English calibre installs
This commit is contained in:
parent
689d9f6e60
commit
c2576d2d29
@ -303,9 +303,9 @@ class BooleanSearch(object): # {{{
|
|||||||
self.local_empty = icu_lower(_('empty'))
|
self.local_empty = icu_lower(_('empty'))
|
||||||
self.local_blank = icu_lower(_('blank'))
|
self.local_blank = icu_lower(_('blank'))
|
||||||
self.local_bool_values = {
|
self.local_bool_values = {
|
||||||
self.local_no, self.local_unchecked, '_no', 'false', 'no',
|
self.local_no, self.local_unchecked, '_no', 'false', 'no', 'unchecked', '_unchecked',
|
||||||
self.local_yes, self.local_checked, '_yes', 'true', 'yes',
|
self.local_yes, self.local_checked, 'checked', '_checked', '_yes', 'true', 'yes',
|
||||||
self.local_empty, self.local_blank, '_empty', 'empty'}
|
self.local_empty, self.local_blank, 'blank', '_blank', '_empty', 'empty'}
|
||||||
|
|
||||||
def __call__(self, query, field_iter, bools_are_tristate):
|
def __call__(self, query, field_iter, bools_are_tristate):
|
||||||
matches = set()
|
matches = set()
|
||||||
@ -315,20 +315,20 @@ class BooleanSearch(object): # {{{
|
|||||||
val = force_to_bool(val)
|
val = force_to_bool(val)
|
||||||
if not bools_are_tristate:
|
if not bools_are_tristate:
|
||||||
if val is None or not val: # item is None or set to false
|
if val is None or not val: # item is None or set to false
|
||||||
if query in {self.local_no, self.local_unchecked, 'no', '_no', 'false'}:
|
if query in {self.local_no, self.local_unchecked, 'unchecked', '_unchecked', 'no', '_no', 'false'}:
|
||||||
matches |= book_ids
|
matches |= book_ids
|
||||||
else: # item is explicitly set to true
|
else: # item is explicitly set to true
|
||||||
if query in {self.local_yes, self.local_checked, 'yes', '_yes', 'true'}:
|
if query in {self.local_yes, self.local_checked, 'checked', '_checked', 'yes', '_yes', 'true'}:
|
||||||
matches |= book_ids
|
matches |= book_ids
|
||||||
else:
|
else:
|
||||||
if val is None:
|
if val is None:
|
||||||
if query in {self.local_empty, self.local_blank, 'empty', '_empty', 'false'}:
|
if query in {self.local_empty, self.local_blank, 'blank', '_blank', 'empty', '_empty', 'false'}:
|
||||||
matches |= book_ids
|
matches |= book_ids
|
||||||
elif not val: # is not None and false
|
elif not val: # is not None and false
|
||||||
if query in {self.local_no, self.local_unchecked, 'no', '_no', 'true'}:
|
if query in {self.local_no, self.local_unchecked, 'unchecked', '_unchecked', 'no', '_no', 'true'}:
|
||||||
matches |= book_ids
|
matches |= book_ids
|
||||||
else: # item is not None and true
|
else: # item is not None and true
|
||||||
if query in {self.local_yes, self.local_checked, 'yes', '_yes', 'true'}:
|
if query in {self.local_yes, self.local_checked, 'checked', '_checked', 'yes', '_yes', 'true'}:
|
||||||
matches |= book_ids
|
matches |= book_ids
|
||||||
return matches
|
return matches
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user