mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 10:57:58 +00:00
skip most addr: tags with suffixes
Only one addr: tag can be processed currently, so make sure it is the one without suffixes to not get odd data. addr:street is the exception because it uses a different matching mechanism.
This commit is contained in:
@@ -420,8 +420,9 @@ class LegacyICUNameAnalyzer(AbstractAnalyzer):
|
||||
if token:
|
||||
streets.append(token)
|
||||
elif item.kind == 'place':
|
||||
token_info.add_place(self._compute_partial_tokens(item.name))
|
||||
elif not item.kind.startswith('_') and \
|
||||
if not item.suffix:
|
||||
token_info.add_place(self._compute_partial_tokens(item.name))
|
||||
elif not item.kind.startswith('_') and not item.suffix and \
|
||||
item.kind not in ('country', 'full'):
|
||||
addr_terms.append((item.kind, self._compute_partial_tokens(item.name)))
|
||||
|
||||
|
||||
@@ -514,6 +514,12 @@ class TestPlaceAddress:
|
||||
assert eval(info['place']) == self.name_token_set('HONU', 'LULU')
|
||||
|
||||
|
||||
def test_process_place_place_extra(self):
|
||||
info = self.process_address(**{'place:en': 'Honu Lulu'})
|
||||
|
||||
assert 'place' not in info
|
||||
|
||||
|
||||
def test_process_place_place_empty(self):
|
||||
info = self.process_address(place='🜵')
|
||||
|
||||
@@ -533,6 +539,14 @@ class TestPlaceAddress:
|
||||
assert result == {'city': city, 'suburb': city, 'state': state}
|
||||
|
||||
|
||||
def test_process_place_multiple_address_terms(self):
|
||||
info = self.process_address(**{'city': 'Bruxelles', 'city:de': 'Brüssel'})
|
||||
|
||||
result = {k: eval(v) for k,v in info['addr'].items()}
|
||||
|
||||
assert result == {'city': self.name_token_set('Bruxelles')}
|
||||
|
||||
|
||||
def test_process_place_address_terms_empty(self):
|
||||
info = self.process_address(country='de', city=' ', street='Hauptstr',
|
||||
full='right behind the church')
|
||||
|
||||
Reference in New Issue
Block a user