]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/db/properties.py
add explicit cast for fetchone
[nominatim.git] / nominatim / db / properties.py
index 19c090069ac9ab9ccaf33bd20caff1f53088fcd7..3624c950e4a158c6b4f7d8b6ab7d8f9cfbd6911c 100644 (file)
@@ -7,8 +7,11 @@
 """
 Query and access functions for the in-database property table.
 """
+from typing import Optional, cast
 
-def set_property(conn, name, value):
+from nominatim.db.connection import Connection
+
+def set_property(conn: Connection, name: str, value: str) -> None:
     """ Add or replace the propery with the given name.
     """
     with conn.cursor() as cur:
@@ -23,12 +26,19 @@ def set_property(conn, name, value):
         cur.execute(sql, (value, name))
     conn.commit()
 
-def get_property(conn, name):
-    """ Return the current value of the given propery or None if the property
+
+def get_property(conn: Connection, name: str) -> Optional[str]:
+    """ Return the current value of the given property or None if the property
         is not set.
     """
+    if not conn.table_exists('nominatim_properties'):
+        return None
+
     with conn.cursor() as cur:
         cur.execute('SELECT value FROM nominatim_properties WHERE property = %s',
                     (name, ))
 
-        return cur.fetchone()[0] if cur.rowcount > 0 else None
+        if cur.rowcount == 0:
+            return None
+
+        return cast(Optional[str], cur.fetchone()[0]) # type: ignore[no-untyped-call]