Simplify bad/good term match

This commit is contained in:
Gautier P 2021-01-18 13:12:52 +01:00
parent caa4961679
commit da6cb83f93
2 changed files with 17 additions and 23 deletions

View File

@ -117,28 +117,22 @@ def refine_with_details_criteria(flats_list, constraint):
)
is_ok[i] = False
has_all_good_terms_in_description = True
if constraint["description_should_contain"]:
has_all_good_terms_in_description = all(
term in flat['text']
for term in constraint["description_should_contain"]
)
has_a_bad_term_in_description = False
if constraint["description_should_not_contain"]:
has_a_bad_term_in_description = any(
term in flat['text']
for term in constraint["description_should_not_contain"]
)
if (not has_all_good_terms_in_description
or has_a_bad_term_in_description):
LOGGER.info(
("Description for flat %s does not contain all the required "
"terms, or contains a blacklisted term."),
flat["id"]
)
is_ok[i] = False
for term in constraint["description_should_contain"]:
if term.lower() not in flat['text'].lower():
LOGGER.info(
("Description for flat %s does not contain required term '%s'."),
flat["id"],
term
)
is_ok[i] = False
for term in constraint["description_should_not_contain"]:
if term.lower() in flat['text'].lower():
LOGGER.info(
("Description for flat %s contains blacklisted term '%s'."),
flat["id"],
term
)
is_ok[i] = False
return (
[