X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/612d34930b603997acce2772e7264b509bb8aed6..d35e3c25b66d25e4a3dd073c7ba17b0c204ec8e8:/nominatim/tokenizer/token_analysis/postcodes.py diff --git a/nominatim/tokenizer/token_analysis/postcodes.py b/nominatim/tokenizer/token_analysis/postcodes.py index 18fc2a8d..15b20bf9 100644 --- a/nominatim/tokenizer/token_analysis/postcodes.py +++ b/nominatim/tokenizer/token_analysis/postcodes.py @@ -8,19 +8,20 @@ Specialized processor for postcodes. Supports a 'lookup' variant of the token, which produces variants with optional spaces. """ +from typing import Mapping, Any, List from nominatim.tokenizer.token_analysis.generic_mutation import MutationVariantGenerator ### Configuration section -def configure(rules, normalization_rules): # pylint: disable=W0613 +def configure(rules: Mapping[str, Any], normalization_rules: str) -> None: # pylint: disable=W0613 """ All behaviour is currently hard-coded. """ return None ### Analysis section -def create(normalizer, transliterator, config): # pylint: disable=W0613 +def create(normalizer: Any, transliterator: Any, config: None) -> 'PostcodeTokenAnalysis': # pylint: disable=W0613 """ Create a new token analysis instance for this module. """ return PostcodeTokenAnalysis(normalizer, transliterator) @@ -38,20 +39,20 @@ class PostcodeTokenAnalysis: and transliteration, so that postcodes are correctly recognised by the search algorithm. """ - def __init__(self, norm, trans): + def __init__(self, norm: Any, trans: Any) -> None: self.norm = norm self.trans = trans self.mutator = MutationVariantGenerator(' ', (' ', '')) - def normalize(self, name): + def normalize(self, name: str) -> str: """ Return the standard form of the postcode. """ return name.strip().upper() - def get_variants_ascii(self, norm_name): + def get_variants_ascii(self, norm_name: str) -> List[str]: """ Compute the spelling variants for the given normalized postcode. Takes the canonical form of the postcode, normalizes it using the