X-Git-Url: https://git.openstreetmap.org/nominatim.git/blobdiff_plain/76b1885595df885cab439372c72f45c9e5c01471..73953cbac95847740339d7a5ee3c0e5f142d93c5:/nominatim/config.py diff --git a/nominatim/config.py b/nominatim/config.py index d4645b93..a8436440 100644 --- a/nominatim/config.py +++ b/nominatim/config.py @@ -30,7 +30,7 @@ class Configuration: self.project_dir = project_dir self.config_dir = config_dir self._config = dotenv_values(str((config_dir / 'env.defaults').resolve())) - if project_dir is not None: + if project_dir is not None and (project_dir / '.env').is_file(): self._config.update(dotenv_values(str((project_dir / '.env').resolve()))) # Add defaults for variables that are left empty to set the default. @@ -39,6 +39,16 @@ class Configuration: self._config['NOMINATIM_ADDRESS_LEVEL_CONFIG'] = \ str(config_dir / 'address-levels.json') + class _LibDirs: + 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 @@ -58,9 +68,9 @@ class Configuration: """ try: return int(self.__getattr__(name)) - except ValueError: + except ValueError as exp: LOG.fatal("Invalid setting NOMINATIM_%s. Needs to be a number.", name) - raise UsageError("Configuration error.") + raise UsageError("Configuration error.") from exp def get_libpq_dsn(self):