From 995ba2c7c2dec248bfd6fb83f066d49d2428cd3e Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Mon, 19 Apr 2021 09:06:42 +0200 Subject: [PATCH] add library directories to config Allows to reduce the number of parameters in functions that take the config anyway. --- nominatim/cli.py | 5 +++++ nominatim/config.py | 10 ++++++++++ 2 files changed, 15 insertions(+) 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 -- 2.45.1