From 810c0291b26b258b8e46b19732114bb97e9712af Mon Sep 17 00:00:00 2001 From: Tom Kralidis Date: Wed, 11 Apr 2018 18:52:44 +0000 Subject: [PATCH] catch SQLite extension errors in Python 2.7 --- pygeoapi/provider/sqlite.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/pygeoapi/provider/sqlite.py b/pygeoapi/provider/sqlite.py index 89c99a9..9660489 100644 --- a/pygeoapi/provider/sqlite.py +++ b/pygeoapi/provider/sqlite.py @@ -31,7 +31,7 @@ import sqlite3 import logging import os import geojson -from pygeoapi.provider.base import BaseProvider +from pygeoapi.provider.base import BaseProvider, ProviderConnectionError from pygeoapi.provider import InvalidProviderError LOGGER = logging.getLogger(__name__) @@ -106,7 +106,12 @@ class SQLiteProvider(BaseProvider): else: raise InvalidProviderError - conn.enable_load_extension(True) + try: + conn.enable_load_extension(True) + except AttributeError as err: + LOGGER.error('Extension loading not enabled: {}'.format(err)) + raise ProviderConnectionError() + conn.row_factory = sqlite3.Row cursor = conn.cursor() cursor.execute("SELECT load_extension('mod_spatialite')")