from dotenv import dotenv_values
-from .errors import UsageError
+from nominatim.errors import UsageError
LOG = logging.getLogger()
avoid conflicts with other environment variables.
"""
- def __init__(self, project_dir, config_dir, environ=os.environ):
- self.environ = environ
+ def __init__(self, project_dir, config_dir, environ=None):
+ self.environ = environ or os.environ
self.project_dir = project_dir
self.config_dir = config_dir
self._config = dotenv_values(str((config_dir / 'env.defaults').resolve()))
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