X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/76b1885595df885cab439372c72f45c9e5c01471..690f9ec06fd7a08b41de027427d8a1d3d0e3ff2e:/nominatim/db/status.py diff --git a/nominatim/db/status.py b/nominatim/db/status.py index e63a40f9..12b24a83 100644 --- a/nominatim/db/status.py +++ b/nominatim/db/status.py @@ -1,3 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0-only +# +# This file is part of Nominatim. (https://nominatim.org) +# +# Copyright (C) 2022 by the Nominatim developer community. +# For a full list of authors see the git log. """ Access and helper functions for the status and status log table. """ @@ -9,6 +15,7 @@ from nominatim.tools.exec_utils import get_url from nominatim.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 @@ -16,7 +23,10 @@ def compute_database_date(conn): """ # First, find the node with the highest ID in the database with conn.cursor() as cur: - osmid = cur.scalar("SELECT max(osm_id) FROM place WHERE osm_type='N'") + if conn.table_exists('place'): + osmid = cur.scalar("SELECT max(osm_id) FROM place WHERE osm_type='N'") + else: + osmid = cur.scalar("SELECT max(osm_id) FROM placex WHERE osm_type='N'") if osmid is None: LOG.fatal("No data found in the database.") @@ -34,9 +44,9 @@ def compute_database_date(conn): "URL used: %s", node_url) raise UsageError("Bad API data.") - LOG.debug("Found timestamp %s", match[1]) + LOG.debug("Found timestamp %s", match.group(1)) - return dt.datetime.fromisoformat(match[1]).replace(tzinfo=dt.timezone.utc) + return dt.datetime.strptime(match.group(1), ISODATE_FORMAT).replace(tzinfo=dt.timezone.utc) def set_status(conn, date, seq=None, indexed=True):