]> git.openstreetmap.org Git - nominatim.git/blobdiff - src/nominatim_api/types.py
look up all places at once
[nominatim.git] / src / nominatim_api / types.py
index 5f3309d9498f901fd89072e0005bd14c2161f0fa..66a3c553f22db94527a9e4e612503e4708209608 100644 (file)
@@ -61,6 +61,17 @@ class OsmID:
         if self.osm_type not in ('N', 'W', 'R'):
             raise ValueError(f"Illegal OSM type '{self.osm_type}'. Must be one of N, W, R.")
 
+    def class_as_housenumber(self) -> Optional[int]:
+        """ Interpret the class property as a housenumber and return it.
+
+            If the OSM ID points to an interpolation, then the class may be
+            a number pointing to the exact number requested. This function
+            returns the housenumber as an int, if class is set and is a number.
+        """
+        if self.osm_class and self.osm_class.isdigit():
+            return int(self.osm_class)
+        return None
+
 
 PlaceRef = Union[PlaceID, OsmID]