]> 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.
     """
     """
         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])'
         )
         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:
 
     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.
         """
             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']
             '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):
 
     @staticmethod
     def _get_wiki_content(lang):
index 41017694c156f6de6012ed5c1b8fb3a493f352ef..57664586259ca1bcdee23020b4cd55ca237a5bdb 100644 (file)
@@ -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)
 
 
index bfe93c5764388673879adf08f8405518cbd29548..0a64cd563362cf70c325e4e9c43553d2782307c4 100644 (file)
@@ -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',
                         lambda self, lang: xml_wiki_content)
     return loader
     monkeypatch.setattr('nominatim.tools.special_phrases.sp_wiki_loader.SPWikiLoader._get_wiki_content',
                         lambda self, lang: xml_wiki_content)
     return loader