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

@@ -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]