mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-16 15:47:58 +00:00
make sure outputs take into account linked place names
This commit is contained in:
@@ -18,8 +18,14 @@ Feature: Searching linked places
|
||||
| N2 | R13 |
|
||||
When sending search query "Vario"
|
||||
Then results contain
|
||||
| osm |
|
||||
| R13 |
|
||||
| osm | display_name |
|
||||
| R13 | Garbo |
|
||||
When sending search query "Vario"
|
||||
| accept-language |
|
||||
| it |
|
||||
Then results contain
|
||||
| osm | display_name |
|
||||
| R13 | Vario |
|
||||
|
||||
|
||||
Scenario: Differing names from linked places are searchable
|
||||
@@ -38,5 +44,9 @@ Feature: Searching linked places
|
||||
| N2 | R13 |
|
||||
When sending search query "Vario"
|
||||
Then results contain
|
||||
| osm |
|
||||
| R13 |
|
||||
| osm | display_name |
|
||||
| R13 | Garbo |
|
||||
When sending search query "Garbo"
|
||||
Then results contain
|
||||
| osm | display_name |
|
||||
| R13 | Garbo |
|
||||
|
||||
@@ -117,8 +117,10 @@ Feature: Updates of linked places
|
||||
| 1 | N3:label |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| object | linked_place_id | name+_place_name:de |
|
||||
| R1 | - | pnt |
|
||||
And placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| N3 | R1 | pnt |
|
||||
When updating places
|
||||
| osm | class | type | name+name:de | admin | geometry |
|
||||
@@ -126,8 +128,43 @@ Feature: Updates of linked places
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| N3 | R1 | newname |
|
||||
And placex contains
|
||||
| object | linked_place_id | name+_place_name:de |
|
||||
| R1 | - | newname |
|
||||
|
||||
Scenario: Update linking relation when linkee name is deleted
|
||||
Given the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| R1 | boundary | administrative | rel | 8 | poly-area:0.1 |
|
||||
And the places
|
||||
| osm | class | type | name | admin | geometry |
|
||||
| N3 | place | city | pnt | 30 | 0.00001 0 |
|
||||
And the relations
|
||||
| id | members |
|
||||
| 1 | N3:label |
|
||||
When importing
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+_place_name | name+name |
|
||||
| R1 | - | pnt | rel |
|
||||
And placex contains
|
||||
| object | linked_place_id | name+name |
|
||||
| N3 | R1 | pnt |
|
||||
When sending search query "pnt"
|
||||
Then results contain
|
||||
| osm |
|
||||
| R1 |
|
||||
When updating places
|
||||
| osm | class | type | name+name:de | admin | geometry |
|
||||
| N3 | place | city | depnt | 30 | 0.00001 0 |
|
||||
Then placex contains
|
||||
| object | linked_place_id | name+name:de |
|
||||
| N3 | R1 | depnt |
|
||||
And placex contains
|
||||
| object | linked_place_id | name+_place_name:de | name+name |
|
||||
| R1 | - | depnt | rel |
|
||||
When sending search query "pnt"
|
||||
Then exactly 0 results are returned
|
||||
|
||||
Scenario: Updating linkee extratags keeps linker's extratags
|
||||
Given the named places
|
||||
| osm | class | type | extra+wikidata | admin | geometry |
|
||||
|
||||
@@ -62,8 +62,6 @@ class GenericResponse:
|
||||
|
||||
if errorcode == 200 and fmt != 'debug':
|
||||
getattr(self, '_parse_' + fmt)()
|
||||
else:
|
||||
print("Bad response: ", page)
|
||||
|
||||
def _parse_json(self):
|
||||
m = re.fullmatch(r'([\w$][^(]*)\((.*)\)', self.page)
|
||||
@@ -74,13 +72,14 @@ class GenericResponse:
|
||||
self.header['json_func'] = m.group(1)
|
||||
self.result = json.JSONDecoder(object_pairs_hook=OrderedDict).decode(code)
|
||||
if isinstance(self.result, OrderedDict):
|
||||
self.result = [self.result]
|
||||
if 'error' in self.result:
|
||||
self.result = []
|
||||
else:
|
||||
self.result = [self.result]
|
||||
|
||||
def _parse_geojson(self):
|
||||
self._parse_json()
|
||||
if 'error' in self.result[0]:
|
||||
self.result = []
|
||||
else:
|
||||
if self.result:
|
||||
self.result = list(map(_geojson_result_to_json_result, self.result[0]['features']))
|
||||
|
||||
def _parse_geocodejson(self):
|
||||
|
||||
Reference in New Issue
Block a user