X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5617bffe2fcf527365bcd801304180e1cc07cb98..62eedbb8f6ddb7928022d799a1b1fea62844faf8:/nominatim/data/postcode_format.py diff --git a/nominatim/data/postcode_format.py b/nominatim/data/postcode_format.py index 99065965..dad35b7a 100644 --- a/nominatim/data/postcode_format.py +++ b/nominatim/data/postcode_format.py @@ -79,7 +79,7 @@ class PostcodeFormatter: self.default_matcher = CountryPostcodeMatcher('', {'pattern': pattern}) - def get_matcher(self, country_code: str) -> Optional[CountryPostcodeMatcher]: + def get_matcher(self, country_code: Optional[str]) -> Optional[CountryPostcodeMatcher]: """ Return the CountryPostcodeMatcher for the given country. Returns None if the country doesn't have a postcode and the default matcher if there is no specific matcher configured for @@ -88,10 +88,12 @@ class PostcodeFormatter: if country_code in self.country_without_postcode: return None + assert country_code is not None + return self.country_matcher.get(country_code, self.default_matcher) - def match(self, country_code: str, postcode: str) -> Optional[Match[str]]: + def match(self, country_code: Optional[str], postcode: str) -> Optional[Match[str]]: """ Match the given postcode against the postcode pattern for this matcher. Returns a `re.Match` object if the country has a pattern and the match was successful or None if the match failed. @@ -99,6 +101,8 @@ class PostcodeFormatter: if country_code in self.country_without_postcode: return None + assert country_code is not None + return self.country_matcher.get(country_code, self.default_matcher).match(postcode)