drop=args.no_updates)
LOG.warning('Create search index for default country names.')
country_info.create_country_names(conn, tokenizer,
- args.config.LANGUAGES)
+ args.config.get_str_list('LANGUAGES'))
if args.no_updates:
freeze.drop_update_tables(conn)
tokenizer.finalize_import(args.config)
raise UsageError("Configuration error.") from exp
+ def get_str_list(self, name):
+ """ Return the given configuration parameter as a list of strings.
+ The values are assumed to be given as a comma-sparated list and
+ will be stripped before returning them. On empty values None
+ is returned.
+ """
+ raw = self.__getattr__(name)
+
+ return [v.strip() for v in raw.split(',')] if raw else None
+
+
def get_path(self, name):
""" Return the given configuration parameter as a Path.
If a relative path is configured, then the function converts this
empty then only name translations for the given languages are added
to the index.
"""
- if languages:
- languages = languages.split(',')
-
def _include_key(key):
return ':' not in key or not languages or \
key[key.index(':') + 1:] in languages
config.get_int('DATABASE_MODULE_PATH')
+@pytest.mark.parametrize("value,outlist", [('sd', ['sd']),
+ ('dd,rr', ['dd', 'rr']),
+ (' a , b ', ['a', 'b'])])
+def test_get_str_list_success(make_config, monkeypatch, value, outlist):
+ config = make_config()
+
+ monkeypatch.setenv('NOMINATIM_MYLIST', value)
+
+ assert config.get_str_list('MYLIST') == outlist
+
+
+def test_get_str_list_empty(make_config):
+ config = make_config()
+
+ assert config.get_str_list('LANGUAGES') is None
+
+
def test_get_path_empty(make_config):
config = make_config()
assert temp_db_cursor.table_rows('country_osm_grid') > 100
-@pytest.mark.parametrize("languages", (None, ' fr,en'))
+@pytest.mark.parametrize("languages", (None, ['fr', 'en']))
def test_create_country_names(temp_db_with_extensions, temp_db_conn, temp_db_cursor,
table_factory, tokenizer_mock, languages, loaded_country):