introduce custom UsageError

This is a exception to be thrown when the error occures because
of bad user data. We don't want to print a full stack trace in
these cases but just tell the user what went wrong.
This commit is contained in:
Sarah Hoffmann
2021-01-30 16:20:10 +01:00
parent 45ea73913f
commit e629a175ed
11 changed files with 45 additions and 20 deletions

View File

@@ -27,7 +27,7 @@ class _Cursor(psycopg2.extras.DictCursor):
self.execute(sql, args)
if self.rowcount != 1:
raise ValueError("Query did not return a single row.")
raise RuntimeError("Query did not return a single row.")
return self.fetchone()[0]

View File

@@ -6,6 +6,7 @@ import logging
import re
from ..tools.exec_utils import get_url
from ..errors import UsageError
LOG = logging.getLogger()
@@ -19,7 +20,7 @@ def compute_database_date(conn):
if osmid is None:
LOG.fatal("No data found in the database.")
raise RuntimeError("No data found in the database.")
raise UsageError("No data found in the database.")
LOG.info("Using node id %d for timestamp lookup", osmid)
# Get the node from the API to find the timestamp when it was created.
@@ -31,7 +32,7 @@ def compute_database_date(conn):
if match is None:
LOG.fatal("The node data downloaded from the API does not contain valid data.\n"
"URL used: %s", node_url)
raise RuntimeError("Bad API data.")
raise UsageError("Bad API data.")
LOG.debug("Found timestamp %s", match[1])