From: Sarah Hoffmann Date: Sun, 29 May 2022 12:06:05 +0000 (+0200) Subject: remove the language parameter in the SPWikiLoader X-Git-Tag: v4.1.0~34^2~4 X-Git-Url: https://git.openstreetmap.org./nominatim.git/commitdiff_plain/042e31458917e83713cc60f73a0dc4c171db78b1 remove the language parameter in the SPWikiLoader Languages must always be configured through config or environment. Also use monkeypatched environment in tests. --- diff --git a/nominatim/tools/special_phrases/sp_wiki_loader.py b/nominatim/tools/special_phrases/sp_wiki_loader.py index 2f698092..b5f8db83 100644 --- a/nominatim/tools/special_phrases/sp_wiki_loader.py +++ b/nominatim/tools/special_phrases/sp_wiki_loader.py @@ -18,14 +18,14 @@ class SPWikiLoader(Iterator): """ Handles loading of special phrases from the wiki. """ - def __init__(self, config, languages=None): + def __init__(self, config): super().__init__() self.config = config # Compile the regex here to increase performances. self.occurence_pattern = re.compile( r'\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([^\|]+) *\|\| *([\-YN])' ) - self.languages = self._load_languages() if not languages else list(languages) + self._load_languages() def __next__(self): if not self.languages: @@ -56,12 +56,14 @@ class SPWikiLoader(Iterator): or default if there is no languages configured. 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', 'et', 'eu', 'fa', 'fi', 'fr', 'gl', 'hr', 'hu', 'ia', 'is', 'it', 'ja', 'mk', 'nl', 'no', 'pl', 'ps', 'pt', 'ru', 'sk', 'sl', 'sv', 'uk', 'vi'] - return self.config.LANGUAGES.split(',') if self.config.LANGUAGES else default_languages @staticmethod def _get_wiki_content(lang): diff --git a/test/python/tools/test_import_special_phrases.py b/test/python/tools/test_import_special_phrases.py index 41017694..57664586 100644 --- a/test/python/tools/test_import_special_phrases.py +++ b/test/python/tools/test_import_special_phrases.py @@ -23,11 +23,12 @@ def testfile_dir(src_dir): @pytest.fixture -def sp_importer(temp_db_conn, def_config): +def sp_importer(temp_db_conn, def_config, monkeypatch): """ 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) diff --git a/test/python/tools/test_sp_wiki_loader.py b/test/python/tools/test_sp_wiki_loader.py index bfe93c57..0a64cd56 100644 --- a/test/python/tools/test_sp_wiki_loader.py +++ b/test/python/tools/test_sp_wiki_loader.py @@ -24,7 +24,8 @@ def sp_wiki_loader(monkeypatch, def_config, xml_wiki_content): """ 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', lambda self, lang: xml_wiki_content) return loader