mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +00:00
replace usages of fromisoformat() with strptime()
fromisoformat was only introduced with Python 3.7 while we still support Python 3.5. Fixes #2292.
This commit is contained in:
@@ -9,6 +9,7 @@ from nominatim.tools.exec_utils import get_url
|
|||||||
from nominatim.errors import UsageError
|
from nominatim.errors import UsageError
|
||||||
|
|
||||||
LOG = logging.getLogger()
|
LOG = logging.getLogger()
|
||||||
|
ISODATE_FORMAT = '%Y-%m-%dT%H:%M:%S'
|
||||||
|
|
||||||
def compute_database_date(conn):
|
def compute_database_date(conn):
|
||||||
""" Determine the date of the database from the newest object in the
|
""" 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])
|
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):
|
def set_status(conn, date, seq=None, indexed=True):
|
||||||
|
|||||||
@@ -19,6 +19,11 @@ OSM_NODE_DATA = """\
|
|||||||
</osm>
|
</osm>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
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):
|
def test_compute_database_date_valid(monkeypatch, status_table, place_row, temp_db_conn):
|
||||||
place_row(osm_type='N', osm_id=45673)
|
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)
|
date = nominatim.db.status.compute_database_date(temp_db_conn)
|
||||||
|
|
||||||
assert requested_url == ['https://www.openstreetmap.org/api/0.6/node/45673/1']
|
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):
|
def test_compute_database_broken_api(monkeypatch, status_table, place_row, temp_db_conn):
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ def test_init_replication_success(monkeypatch, status_table, place_row, temp_db_
|
|||||||
|
|
||||||
temp_db_cursor.execute("SELECT * FROM import_status")
|
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.rowcount == 1
|
||||||
assert temp_db_cursor.fetchone() == [expected_date, 234, True]
|
assert temp_db_cursor.fetchone() == [expected_date, 234, True]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user