the category parameter in search should result in a qualifier

This commit is contained in:
Sarah Hoffmann
2023-11-28 12:01:49 +01:00
parent d8ed565bce
commit 70dc4957dc
2 changed files with 11 additions and 8 deletions

View File

@@ -321,8 +321,15 @@ class SearchBuilder:
self.query.get_tokens(assignment.postcode,
TokenType.POSTCODE))
if assignment.qualifier:
sdata.set_qualifiers(self.query.get_tokens(assignment.qualifier,
TokenType.QUALIFIER))
tokens = self.query.get_tokens(assignment.qualifier, TokenType.QUALIFIER)
if self.details.categories:
tokens = [t for t in tokens if t.get_category() in self.details.categories]
if not tokens:
return None
sdata.set_qualifiers(tokens)
elif self.details.categories:
sdata.qualifiers = dbf.WeightedCategories(self.details.categories,
[0.0] * len(self.details.categories))
if assignment.address:
sdata.set_ranking([self.get_addr_ranking(r) for r in assignment.address])
@@ -347,10 +354,6 @@ class SearchBuilder:
tokens[cat] = t.penalty
return dbf.WeightedCategories(list(tokens.keys()), list(tokens.values()))
if self.details.categories:
return dbf.WeightedCategories(self.details.categories,
[0.0] * len(self.details.categories))
return None

View File

@@ -309,8 +309,8 @@ def test_name_only_search_with_category():
assert len(searches) == 1
search = searches[0]
assert isinstance(search, dbs.NearSearch)
assert isinstance(search.search, dbs.PlaceSearch)
assert isinstance(search, dbs.PlaceSearch)
assert search.qualifiers.values == [('foo', 'bar')]
def test_name_only_search_with_countries():