mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-02-26 11:08:13 +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 |
|
| **Default:** | extratags |
|
||||||
|
|
||||||
The _style configuration_ describes which OSM objects and tags are taken
|
The _style configuration_ describes which OSM objects and tags are taken
|
||||||
into consideration for the search database. This setting may either
|
into consideration for the search database. Nominatim comes with a set
|
||||||
be a string pointing to one of the internal styles or it may be a path
|
of pre-configured styles, that may be configured here.
|
||||||
pointing to a custom style.
|
|
||||||
|
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)
|
See [Import Styles](Import-Styles.md)
|
||||||
for more information on the available internal styles and the format of the
|
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'):
|
if style in ('admin', 'street', 'address', 'full', 'extratags'):
|
||||||
return self.config_dir / 'import-{}.style'.format(style)
|
return self.config_dir / 'import-{}.style'.format(style)
|
||||||
|
|
||||||
return Path(style)
|
return self.find_config_file('', 'IMPORT_STYLE')
|
||||||
|
|
||||||
|
|
||||||
def get_os_env(self):
|
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
|
assert config.get_import_style_file() == expected
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("value", ['custom', '/foo/bar.stye'])
|
def test_get_import_style_extern_relative(make_config_path, monkeypatch):
|
||||||
def test_get_import_style_extern(make_config, monkeypatch, value):
|
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()
|
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):
|
def test_load_subconf_from_project_dir(make_config_path):
|
||||||
|
|||||||
Reference in New Issue
Block a user