]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/api/results.py
switch CLI search command to python implementation
[nominatim.git] / nominatim / api / results.py
index 5981cb3ecc8f753a55a3186abbe9617ed8d1eabb..1e77d0be5aba5b6b6c9ba7118380956adba90d7d 100644 (file)
@@ -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