From: Sarah Hoffmann Date: Sat, 26 Nov 2022 16:08:51 +0000 (+0100) Subject: introduce paths module which contains the data paths X-Git-Tag: v4.3.0~131^2~2 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/20f56dfc77453b60e3e2a5dff2e400024affe96b?ds=inline introduce paths module which contains the data paths This means that nominatim can find its data even when not called from the command line tool. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index 332f1a12..4fe95f63 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -233,7 +233,14 @@ if (BUILD_IMPORTER) install(DIRECTORY nominatim DESTINATION ${NOMINATIM_LIBDIR}/lib-python FILES_MATCHING PATTERN "*.py" + PATTERN "paths.py" EXCLUDE PATTERN __pycache__ EXCLUDE) + + configure_file(${PROJECT_SOURCE_DIR}/cmake/paths-py.tmpl paths-py.installed) + install(FILES ${PROJECT_BINARY_DIR}/paths-py.installed + DESTINATION ${NOMINATIM_LIBDIR}/lib-python/nominatim + RENAME paths.py) + install(DIRECTORY lib-sql DESTINATION ${NOMINATIM_LIBDIR}) install(FILES ${COUNTRY_GRID_FILE} diff --git a/cmake/paths-py.tmpl b/cmake/paths-py.tmpl new file mode 100644 index 00000000..372a4546 --- /dev/null +++ b/cmake/paths-py.tmpl @@ -0,0 +1,15 @@ +# 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. +""" +Path settings for extra data used by Nominatim (installed version). +""" +from pathlib import Path + +PHPLIB_DIR = (Path('@NOMINATIM_LIBDIR@') / 'lib-php').resolve() +SQLLIB_DIR = (Path('@NOMINATIM_LIBDIR@') / 'lib-sql').resolve() +DATA_DIR = Path('@NOMINATIM_DATADIR@').resolve() +CONFIG_DIR = Path('@NOMINATIM_CONFIGDIR@').resolve() diff --git a/nominatim/paths.py b/nominatim/paths.py new file mode 100644 index 00000000..a34628df --- /dev/null +++ b/nominatim/paths.py @@ -0,0 +1,15 @@ +# 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. +""" +Path settings for extra data used by Nominatim. +""" +from pathlib import Path + +PHPLIB_DIR = (Path(__file__) / '..' / '..' / 'lib-php').resolve() +SQLLIB_DIR = (Path(__file__) / '..' / '..' / 'lib-sql').resolve() +DATA_DIR = (Path(__file__) / '..' / '..' / 'data').resolve() +CONFIG_DIR = (Path(__file__) / '..' / '..' / 'settings').resolve()