[utils] Fix match_str for boolean meta fields

This commit is contained in:
Sergey M․ 2018-04-24 23:49:30 +07:00
parent 99036a1298
commit 1cc47c6674
No known key found for this signature in database
GPG key ID: 2C393E0F18A9236D
2 changed files with 14 additions and 2 deletions

View file

@ -2574,8 +2574,8 @@ def _match_one(filter_part, dct):
return op(actual_value, comparison_value)
UNARY_OPERATORS = {
'': lambda v: v is not None,
'!': lambda v: v is None,
'': lambda v: (v is True) if isinstance(v, bool) else (v is not None),
'!': lambda v: (v is False) if isinstance(v, bool) else (v is None),
}
operator_rex = re.compile(r'''(?x)\s*
(?P<op>%s)\s*(?P<key>[a-z_]+)