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, self.query.get_tokens(assignment.postcode,
TokenType.POSTCODE)) TokenType.POSTCODE))
if assignment.qualifier: if assignment.qualifier:
sdata.set_qualifiers(self.query.get_tokens(assignment.qualifier, tokens = self.query.get_tokens(assignment.qualifier, TokenType.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: if assignment.address:
sdata.set_ranking([self.get_addr_ranking(r) for r in 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 tokens[cat] = t.penalty
return dbf.WeightedCategories(list(tokens.keys()), list(tokens.values())) 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 return None

View File

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