mirror of
https://github.com/osm-search/Nominatim.git
synced 2026-03-10 03:54:06 +00:00
remove the language parameter in the SPWikiLoader
Languages must always be configured through config or environment. Also use monkeypatched environment in tests.
This commit is contained in:
@@ -18,14 +18,14 @@ class SPWikiLoader(Iterator):
|
|||||||
"""
|
"""
|
||||||
Handles loading of special phrases from the wiki.
|
Handles loading of special phrases from the wiki.
|
||||||
"""
|
"""
|
||||||
def __init__(self, config, languages=None):
|
def __init__(self, config):
|
||||||
super().__init__()
|
super().__init__()
|
||||||
self.config = config
|
self.config = config
|
||||||
# Compile the regex here to increase performances.
|
# Compile the regex here to increase performances.
|
||||||
self.occurence_pattern = re.compile(
|
self.occurence_pattern = re.compile(
|
||||||
r'\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([\-YN])'
|
r'\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([\-YN])'
|
||||||
)
|
)
|
||||||
self.languages = self._load_languages() if not languages else list(languages)
|
self._load_languages()
|
||||||
|
|
||||||
def __next__(self):
|
def __next__(self):
|
||||||
if not self.languages:
|
if not self.languages:
|
||||||
@@ -56,12 +56,14 @@ class SPWikiLoader(Iterator):
|
|||||||
or default if there is no languages configured.
|
or default if there is no languages configured.
|
||||||
The system will extract special phrases only from all specified languages.
|
The system will extract special phrases only from all specified languages.
|
||||||
"""
|
"""
|
||||||
default_languages = [
|
if self.config.LANGUAGES:
|
||||||
|
self.languages = self.config.get_str_list('LANGUAGES')
|
||||||
|
else:
|
||||||
|
self.languages = [
|
||||||
'af', 'ar', 'br', 'ca', 'cs', 'de', 'en', 'es',
|
'af', 'ar', 'br', 'ca', 'cs', 'de', 'en', 'es',
|
||||||
'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'hr', 'hu',
|
'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'hr', 'hu',
|
||||||
'ia', 'is', 'it', 'ja', 'mk', 'nl', 'no', 'pl',
|
'ia', 'is', 'it', 'ja', 'mk', 'nl', 'no', 'pl',
|
||||||
'ps', 'pt', 'ru', 'sk', 'sl', 'sv', 'uk', 'vi']
|
'ps', 'pt', 'ru', 'sk', 'sl', 'sv', 'uk', 'vi']
|
||||||
return self.config.LANGUAGES.split(',') if self.config.LANGUAGES else default_languages
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _get_wiki_content(lang):
|
def _get_wiki_content(lang):
|
||||||
|
|||||||
@@ -23,11 +23,12 @@ def testfile_dir(src_dir):
|
|||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
def sp_importer(temp_db_conn, def_config):
|
def sp_importer(temp_db_conn, def_config, monkeypatch):
|
||||||
"""
|
"""
|
||||||
Return an instance of SPImporter.
|
Return an instance of SPImporter.
|
||||||
"""
|
"""
|
||||||
loader = SPWikiLoader(def_config, ['en'])
|
monkeypatch.setenv('NOMINATIM_LANGUAGES', 'en')
|
||||||
|
loader = SPWikiLoader(def_config)
|
||||||
return SPImporter(def_config, temp_db_conn, loader)
|
return SPImporter(def_config, temp_db_conn, loader)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ def sp_wiki_loader(monkeypatch, def_config, xml_wiki_content):
|
|||||||
"""
|
"""
|
||||||
Return an instance of SPWikiLoader.
|
Return an instance of SPWikiLoader.
|
||||||
"""
|
"""
|
||||||
loader = SPWikiLoader(def_config, ['en'])
|
monkeypatch.setenv('NOMINATIM_LANGUAGES', 'en')
|
||||||
|
loader = SPWikiLoader(def_config)
|
||||||
monkeypatch.setattr('nominatim.tools.special_phrases.sp_wiki_loader.SPWikiLoader._get_wiki_content',
|
monkeypatch.setattr('nominatim.tools.special_phrases.sp_wiki_loader.SPWikiLoader._get_wiki_content',
|
||||||
lambda self, lang: xml_wiki_content)
|
lambda self, lang: xml_wiki_content)
|
||||||
return loader
|
return loader
|
||||||
|
|||||||
Reference in New Issue
Block a user