mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
Merge pull request #3222 from lonvia/fix-river-output
Make sure the place name always comes first in output
This commit is contained in:
@@ -491,24 +491,6 @@ def _result_row_to_address_row(row: SaRow, isaddress: Optional[bool] = None) ->
|
|||||||
distance=row.distance)
|
distance=row.distance)
|
||||||
|
|
||||||
|
|
||||||
def _get_housenumber_details(results: List[BaseResultT]) -> Tuple[List[int], List[int]]:
|
|
||||||
places = []
|
|
||||||
hnrs = []
|
|
||||||
for result in results:
|
|
||||||
if result.place_id:
|
|
||||||
housenumber = -1
|
|
||||||
if result.source_table in (SourceTable.TIGER, SourceTable.OSMLINE):
|
|
||||||
if result.housenumber is not None:
|
|
||||||
housenumber = int(result.housenumber)
|
|
||||||
elif result.extratags is not None and 'startnumber' in result.extratags:
|
|
||||||
# details requests do not come with a specific house number
|
|
||||||
housenumber = int(result.extratags['startnumber'])
|
|
||||||
places.append(result.place_id)
|
|
||||||
hnrs.append(housenumber)
|
|
||||||
|
|
||||||
return places, hnrs
|
|
||||||
|
|
||||||
|
|
||||||
def _get_address_lookup_id(result: BaseResultT) -> int:
|
def _get_address_lookup_id(result: BaseResultT) -> int:
|
||||||
assert result.place_id
|
assert result.place_id
|
||||||
if result.source_table != SourceTable.PLACEX or result.rank_search > 27:
|
if result.source_table != SourceTable.PLACEX or result.rank_search > 27:
|
||||||
@@ -569,7 +551,7 @@ def _setup_address_details(result: BaseResultT) -> None:
|
|||||||
extratags=result.extratags or {},
|
extratags=result.extratags or {},
|
||||||
admin_level=result.admin_level,
|
admin_level=result.admin_level,
|
||||||
fromarea=True, isaddress=True,
|
fromarea=True, isaddress=True,
|
||||||
rank_address=result.rank_address, distance=0.0))
|
rank_address=result.rank_address or 100, distance=0.0))
|
||||||
if result.source_table == SourceTable.PLACEX and result.address:
|
if result.source_table == SourceTable.PLACEX and result.address:
|
||||||
housenumber = result.address.get('housenumber')\
|
housenumber = result.address.get('housenumber')\
|
||||||
or result.address.get('streetnumber')\
|
or result.address.get('streetnumber')\
|
||||||
|
|||||||
@@ -2,6 +2,14 @@
|
|||||||
Feature: Search queries
|
Feature: Search queries
|
||||||
Generic search result correctness
|
Generic search result correctness
|
||||||
|
|
||||||
|
Scenario: Search for natural object
|
||||||
|
When sending json search query "Samina"
|
||||||
|
| accept-language |
|
||||||
|
| en |
|
||||||
|
Then results contain
|
||||||
|
| ID | class | type | display_name |
|
||||||
|
| 0 | waterway | river | Samina, Austria |
|
||||||
|
|
||||||
Scenario: House number search for non-street address
|
Scenario: House number search for non-street address
|
||||||
When sending json search query "6 Silum, Liechtenstein" with address
|
When sending json search query "6 Silum, Liechtenstein" with address
|
||||||
| accept-language |
|
| accept-language |
|
||||||
|
|||||||
Reference in New Issue
Block a user