X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e37cfc64d2734bf67aedf44e57585d6bd5ff06af..26a5b59c287225515e679941d5fe48d0cc9fce79:/nominatim/tokenizer/base.py?ds=inline diff --git a/nominatim/tokenizer/base.py b/nominatim/tokenizer/base.py index 6484ff6a..afbd1914 100644 --- a/nominatim/tokenizer/base.py +++ b/nominatim/tokenizer/base.py @@ -5,17 +5,16 @@ # Copyright (C) 2022 by the Nominatim developer community. # For a full list of authors see the git log. """ -Abstract class defintions for tokenizers. These base classes are here +Abstract class definitions for tokenizers. These base classes are here mainly for documentation purposes. """ from abc import ABC, abstractmethod -from typing import List, Tuple, Dict, Any +from typing import List, Tuple, Dict, Any, Optional, Iterable from pathlib import Path -from typing_extensions import Protocol - from nominatim.config import Configuration from nominatim.data.place_info import PlaceInfo +from nominatim.typing import Protocol class AbstractAnalyzer(ABC): """ The analyzer provides the functions for analysing names and building @@ -81,7 +80,8 @@ class AbstractAnalyzer(ABC): @abstractmethod - def update_special_phrases(self, phrases: List[Tuple[str, str, str, str]], + def update_special_phrases(self, + phrases: Iterable[Tuple[str, str, str, str]], should_replace: bool) -> None: """ Update the tokenizer's special phrase tokens from the given list of special phrases. @@ -113,7 +113,7 @@ class AbstractAnalyzer(ABC): the search index. Arguments: - place: Place information retrived from the database. + place: Place information retrieved from the database. Returns: A JSON-serialisable structure that will be handed into @@ -141,7 +141,7 @@ class AbstractTokenizer(ABC): init_db: When set to False, then initialisation of database tables should be skipped. This option is only required for - migration purposes and can be savely ignored by custom + migration purposes and can be safely ignored by custom tokenizers. TODO: can we move the init_db parameter somewhere else? @@ -187,7 +187,7 @@ class AbstractTokenizer(ABC): @abstractmethod - def check_database(self, config: Configuration) -> str: + def check_database(self, config: Configuration) -> Optional[str]: """ Check that the database is set up correctly and ready for being queried.