]> git.openstreetmap.org Git - nominatim.git/commitdiff
remove the language parameter in the SPWikiLoader
authorSarah Hoffmann <lonvia@denofr.de>
Sun, 29 May 2022 12:06:05 +0000 (14:06 +0200)
committerSarah Hoffmann <lonvia@denofr.de>
Mon, 30 May 2022 08:26:20 +0000 (10:26 +0200)
Languages must always be configured through config or environment.
Also use monkeypatched environment in tests.

nominatim/tools/special_phrases/sp_wiki_loader.py
test/python/tools/test_import_special_phrases.py
test/python/tools/test_sp_wiki_loader.py

index 2f6980925e516977c1e50cc7ab72d5a5b1e28da2..b5f8db837a01caea582e392af363f2b4ddc98ad2 100644 (file)
@@ -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):
index 41017694c156f6de6012ed5c1b8fb3a493f352ef..57664586259ca1bcdee23020b4cd55ca237a5bdb 100644 (file)
@@ -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)
 
 
index bfe93c5764388673879adf08f8405518cbd29548..0a64cd563362cf70c325e4e9c43553d2782307c4 100644 (file)
@@ -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