]> 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 (
 
 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}}";
     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.
 """
 """
 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:
     """ 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()
 
         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.
     """
     """ 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, ))
 
         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]