X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/9d83da830f349b746c72b1df2a7526d517552b72..799a4c9ab63996d2ef3977baf774316c03fc9fde:/nominatim/tools/special_phrases/sp_wiki_loader.py?ds=sidebyside diff --git a/nominatim/tools/special_phrases/sp_wiki_loader.py b/nominatim/tools/special_phrases/sp_wiki_loader.py index 4990eef2..914e1539 100644 --- a/nominatim/tools/special_phrases/sp_wiki_loader.py +++ b/nominatim/tools/special_phrases/sp_wiki_loader.py @@ -3,32 +3,30 @@ """ 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)