]> git.openstreetmap.org Git - nominatim.git/blobdiff - nominatim/tools/special_phrases/sp_wiki_loader.py
Documentation update and small code fixes
[nominatim.git] / nominatim / tools / special_phrases / sp_wiki_loader.py
index 11e59b45a33ea88eb6098ba7b74d01bd8dd1dd93..914e15391123cf2571c99924a17d446c7bb8415c 100644 (file)
@@ -1,34 +1,32 @@
 """
     Module containing the SPWikiLoader class.
 """
-import logging
 import re
+import logging
+from collections.abc import Iterator
 from nominatim.tools.special_phrases.special_phrase import SpecialPhrase
-from nominatim.tools.special_phrases.sp_loader import SPLoader
 from nominatim.tools.exec_utils import get_url
 
 LOG = logging.getLogger()
-class SPWikiLoader(SPLoader):
+class SPWikiLoader(Iterator):
     """
         Handles loading of special phrases from the wiki.
     """
     def __init__(self, config, languages=None):
-        if languages is not None and not isinstance(languages, list):
-            raise TypeError('The \'languages\' parameter should be of type list.')
         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 languages
+        self.languages = self._load_languages() if not languages else list(languages)
 
     def __next__(self):
         if not self.languages:
             raise StopIteration
 
         lang = self.languages.pop(0)
-        loaded_xml = SPWikiLoader._get_wiki_content(lang)
+        loaded_xml = self._get_wiki_content(lang)
         LOG.warning('Importing phrases for lang: %s...', lang)
         return self.parse_xml(loaded_xml)