X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/dcfb228c9a0035d72de6c3a66f7f329e72cd960e..0608cf1476b80ea7fe1160c78689383f03b4c231:/nominatim/api/results.py diff --git a/nominatim/api/results.py b/nominatim/api/results.py index 5981cb3e..1e77d0be 100644 --- a/nominatim/api/results.py +++ b/nominatim/api/results.py @@ -103,6 +103,9 @@ class BaseResult: place_id : Optional[int] = None osm_object: Optional[Tuple[str, int]] = None + locale_name: Optional[str] = None + display_name: Optional[str] = None + names: Optional[Dict[str, str]] = None address: Optional[Dict[str, str]] = None extratags: Optional[Dict[str, str]] = None @@ -147,6 +150,18 @@ class BaseResult: return self.importance or (0.7500001 - (self.rank_search/40.0)) + def localize(self, locales: Locales) -> None: + """ Fill the locale_name and the display_name field for the + place and, if available, its address information. + """ + self.locale_name = locales.display_name(self.names) + if self.address_rows: + self.display_name = ', '.join(self.address_rows.localize(locales)) + else: + self.display_name = self.locale_name + + + BaseResultT = TypeVar('BaseResultT', bound=BaseResult) @dataclasses.dataclass