add typing information to DB properties

This commit is contained in:
Sarah Hoffmann
2022-07-05 10:34:55 +02:00
parent 69f9122bef
commit e6775e713c
2 changed files with 11 additions and 4 deletions

View File

@@ -45,7 +45,7 @@ GRANT SELECT ON TABLE country_name TO "{{config.DATABASE_WEBUSER}}";
DROP TABLE IF EXISTS nominatim_properties; DROP TABLE IF EXISTS nominatim_properties;
CREATE TABLE nominatim_properties ( CREATE TABLE nominatim_properties (
property TEXT, property TEXT NOT NULL,
value TEXT value TEXT
); );
GRANT SELECT ON TABLE nominatim_properties TO "{{config.DATABASE_WEBUSER}}"; GRANT SELECT ON TABLE nominatim_properties TO "{{config.DATABASE_WEBUSER}}";

View 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. """ Add or replace the propery with the given name.
""" """
with conn.cursor() as cur: with conn.cursor() as cur:
@@ -23,7 +26,8 @@ def set_property(conn, name, value):
cur.execute(sql, (value, name)) cur.execute(sql, (value, name))
conn.commit() 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 """ Return the current value of the given propery or None if the property
is not set. is not set.
""" """
@@ -34,4 +38,7 @@ def get_property(conn, name):
cur.execute('SELECT value FROM nominatim_properties WHERE property = %s', cur.execute('SELECT value FROM nominatim_properties WHERE property = %s',
(name, )) (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]