mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-15 02:47:59 +00:00
switch IMPORT_STYLE to use generic file search
Allows relative paths wrt project directory.
This commit is contained in:
@@ -328,9 +328,13 @@ project directory and then in the global settings directory.
|
||||
| **Default:** | extratags |
|
||||
|
||||
The _style configuration_ describes which OSM objects and tags are taken
|
||||
into consideration for the search database. This setting may either
|
||||
be a string pointing to one of the internal styles or it may be a path
|
||||
pointing to a custom style.
|
||||
into consideration for the search database. Nominatim comes with a set
|
||||
of pre-configured styles, that may be configured here.
|
||||
|
||||
You can also write your own custom style and point the setting to the file
|
||||
with the style. When a relative path is given, then the style file is searched
|
||||
first relative to the project directory and then in the global settings
|
||||
directory.
|
||||
|
||||
See [Import Styles](Import-Styles.md)
|
||||
for more information on the available internal styles and the format of the
|
||||
|
||||
@@ -123,7 +123,7 @@ class Configuration:
|
||||
if style in ('admin', 'street', 'address', 'full', 'extratags'):
|
||||
return self.config_dir / 'import-{}.style'.format(style)
|
||||
|
||||
return Path(style)
|
||||
return self.find_config_file('', 'IMPORT_STYLE')
|
||||
|
||||
|
||||
def get_os_env(self):
|
||||
|
||||
@@ -176,13 +176,24 @@ def test_get_import_style_intern(make_config, src_dir, monkeypatch):
|
||||
assert config.get_import_style_file() == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize("value", ['custom', '/foo/bar.stye'])
|
||||
def test_get_import_style_extern(make_config, monkeypatch, value):
|
||||
def test_get_import_style_extern_relative(make_config_path, monkeypatch):
|
||||
config = make_config_path()
|
||||
(config.project_dir / 'custom.style').write_text('x')
|
||||
|
||||
monkeypatch.setenv('NOMINATIM_IMPORT_STYLE', 'custom.style')
|
||||
|
||||
assert str(config.get_import_style_file()) == str(config.project_dir / 'custom.style')
|
||||
|
||||
|
||||
def test_get_import_style_extern_absolute(make_config, tmp_path, monkeypatch):
|
||||
config = make_config()
|
||||
cfgfile = tmp_path / 'test.style'
|
||||
|
||||
monkeypatch.setenv('NOMINATIM_IMPORT_STYLE', value)
|
||||
cfgfile.write_text('x')
|
||||
|
||||
assert str(config.get_import_style_file()) == value
|
||||
monkeypatch.setenv('NOMINATIM_IMPORT_STYLE', str(cfgfile))
|
||||
|
||||
assert str(config.get_import_style_file()) == str(cfgfile)
|
||||
|
||||
|
||||
def test_load_subconf_from_project_dir(make_config_path):
|
||||
|
||||
Reference in New Issue
Block a user