]> git.openstreetmap.org Git - nominatim.git/commitdiff
add typing information to DB properties
authorSarah Hoffmann <lonvia@denofr.de>
Tue, 5 Jul 2022 08:34:55 +0000 (10:34 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 18 Jul 2022 07:47:57 +0000 (09:47 +0200)
lib-sql/tables.sql
nominatim/db/properties.py

index 538286b841faff49294b6fff76bb84e0fb13a808..03431d95ac7bbb78c2b15688d72fe07b66cc52ff 100644 (file)
@@ -45,7 +45,7 @@ GRANT SELECT ON TABLE country_name TO "{{config.DATABASE_WEBUSER}}";
 
 DROP TABLE IF EXISTS nominatim_properties;
 CREATE TABLE nominatim_properties (
-    property TEXT,
+    property TEXT NOT NULL,
     value TEXT
 );
 GRANT SELECT ON TABLE nominatim_properties TO "{{config.DATABASE_WEBUSER}}";
index 270204872dd56459691c4105156fe8073d6aa815..9dac2053ba6d6dbd2c92589f11f9948a798baf52 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,7 +26,8 @@ def set_property(conn, name, value):
         cur.execute(sql, (value, name))
     conn.commit()
 
-def get_property(conn, name):
+
+def get_property(conn: Connection, name: str) -> Optional[str]:
     """ Return the current value of the given propery or None if the property
         is not set.
     """
@@ -34,4 +38,7 @@ def get_property(conn, name):
         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]