From: Sarah Hoffmann Date: Fri, 23 Apr 2021 18:53:00 +0000 (+0200) Subject: replace usages of fromisoformat() with strptime() X-Git-Tag: v3.7.1~12 X-Git-Url: https://git.openstreetmap.org/nominatim.git/commitdiff_plain/0289d125da1e07cd3571144672a091f3d74d51b5 replace usages of fromisoformat() with strptime() fromisoformat was only introduced with Python 3.7 while we still support Python 3.5. Fixes #2292. --- diff --git a/nominatim/db/status.py b/nominatim/db/status.py index 225638f4..c543c746 100644 --- a/nominatim/db/status.py +++ b/nominatim/db/status.py @@ -9,6 +9,7 @@ from ..tools.exec_utils import get_url from ..errors import UsageError LOG = logging.getLogger() +ISODATE_FORMAT = '%Y-%m-%dT%H:%M:%S' def compute_database_date(conn): """ Determine the date of the database from the newest object in the @@ -36,7 +37,7 @@ def compute_database_date(conn): LOG.debug("Found timestamp %s", match[1]) - return dt.datetime.fromisoformat(match[1]).replace(tzinfo=dt.timezone.utc) + return dt.datetime.strptime(match[1], ISODATE_FORMAT).replace(tzinfo=dt.timezone.utc) def set_status(conn, date, seq=None, indexed=True): diff --git a/test/python/test_db_status.py b/test/python/test_db_status.py index c6591471..9f032763 100644 --- a/test/python/test_db_status.py +++ b/test/python/test_db_status.py @@ -19,6 +19,11 @@ OSM_NODE_DATA = """\ """ +def iso_date(date): + return dt.datetime.strptime(date, nominatim.db.status.ISODATE_FORMAT)\ + .replace(tzinfo=dt.timezone.utc) + + def test_compute_database_date_valid(monkeypatch, status_table, place_row, temp_db_conn): place_row(osm_type='N', osm_id=45673) @@ -32,7 +37,7 @@ def test_compute_database_date_valid(monkeypatch, status_table, place_row, temp_ date = nominatim.db.status.compute_database_date(temp_db_conn) assert requested_url == ['https://www.openstreetmap.org/api/0.6/node/45673/1'] - assert date == dt.datetime.fromisoformat('2006-01-27T22:09:10').replace(tzinfo=dt.timezone.utc) + assert date == iso_date('2006-01-27T22:09:10') def test_compute_database_broken_api(monkeypatch, status_table, place_row, temp_db_conn): diff --git a/test/python/test_tools_replication.py b/test/python/test_tools_replication.py index 156385ad..affe1317 100644 --- a/test/python/test_tools_replication.py +++ b/test/python/test_tools_replication.py @@ -41,7 +41,8 @@ def test_init_replication_success(monkeypatch, status_table, place_row, temp_db_ temp_db_cursor.execute("SELECT * FROM import_status") - expected_date = dt.datetime.fromisoformat('2006-01-27T19:09:10').replace(tzinfo=dt.timezone.utc) + expected_date = dt.datetime.strptime('2006-01-27T19:09:10', status.ISODATE_FORMAT)\ + .replace(tzinfo=dt.timezone.utc) assert temp_db_cursor.rowcount == 1 assert temp_db_cursor.fetchone() == [expected_date, 234, True]