diff --git a/nominatim/cli.py b/nominatim/cli.py index d560676e..47b25c17 100644 --- a/nominatim/cli.py +++ b/nominatim/cli.py @@ -84,6 +84,11 @@ class CommandlineParser: args.config = Configuration(args.project_dir, args.config_dir, environ=kwargs.get('environ', os.environ)) + args.config.set_libdirs(module=args.module_dir, + osm2pgsql=args.osm2pgsql_path, + php=args.phplib_dir, + sql=args.sqllib_dir, + data=args.data_dir) log = logging.getLogger() log.warning('Using project directory: %s', str(args.project_dir)) diff --git a/nominatim/config.py b/nominatim/config.py index d4645b93..d1df17b7 100644 --- a/nominatim/config.py +++ b/nominatim/config.py @@ -39,6 +39,16 @@ class Configuration: self._config['NOMINATIM_ADDRESS_LEVEL_CONFIG'] = \ str(config_dir / 'address-levels.json') + class _LibDirs: # pylint: disable=too-few-public-methods + pass + + self.lib_dir = _LibDirs() + + def set_libdirs(self, **kwargs): + """ Set paths to library functions and data. + """ + for key, value in kwargs.items(): + setattr(self.lib_dir, key, Path(value).resolve()) def __getattr__(self, name): name = 'NOMINATIM_' + name