X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/a0ed80d821bd3f7938a2e3d4e38357f0c03b919e..e1fc1566f3759700fa82d4875057192d0853b2f1:/nominatim/db/properties.py?ds=sidebyside diff --git a/nominatim/db/properties.py b/nominatim/db/properties.py index 27020487..e8d5e0ca 100644 --- a/nominatim/db/properties.py +++ b/nominatim/db/properties.py @@ -7,9 +7,12 @@ """ Query and access functions for the in-database property table. """ +from typing import Optional, cast -def set_property(conn, name, value): - """ Add or replace the propery with the given name. +from nominatim.db.connection import Connection + +def set_property(conn: Connection, name: str, value: str) -> None: + """ Add or replace the property with the given name. """ with conn.cursor() as cur: cur.execute('SELECT value FROM nominatim_properties WHERE property = %s', @@ -23,8 +26,9 @@ 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'): @@ -34,4 +38,10 @@ 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 + + result = cur.fetchone() + assert result is not None + + return cast(Optional[str], result[0])