From: Sarah Hoffmann Date: Tue, 2 Jul 2024 13:55:23 +0000 (+0200) Subject: make sure SQLAlchemy can handle the loaded dialect X-Git-Tag: deploy~4^2~13^2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/8cb0d5b2623145697b3d2e433b18319fcb4cd756 make sure SQLAlchemy can handle the loaded dialect The psycopg dialect was only added in SQLAlchemy 2.0. To avoid loading errors when SQLAlchemy 1.4 is installed together with psycopg3, check that the dialect is really available. --- diff --git a/src/nominatim_api/sql/async_core_library.py b/src/nominatim_api/sql/async_core_library.py index c26846fb..f8e29749 100644 --- a/src/nominatim_api/sql/async_core_library.py +++ b/src/nominatim_api/sql/async_core_library.py @@ -7,15 +7,17 @@ """ Import the base library to use with asynchronous SQLAlchemy. """ -# pylint: disable=invalid-name +# pylint: disable=invalid-name, ungrouped-imports, unused-import from typing import Any try: + import sqlalchemy.dialects.postgresql.psycopg import psycopg PGCORE_LIB = 'psycopg' PGCORE_ERROR: Any = psycopg.Error except ModuleNotFoundError: + import sqlalchemy.dialects.postgresql.asyncpg import asyncpg PGCORE_LIB = 'asyncpg' PGCORE_ERROR = asyncpg.PostgresError