From 35d3d8cc73cc54fd8618930b1b0f6a58b04b72b9 Mon Sep 17 00:00:00 2001 From: Al Date: Sun, 23 Oct 2016 19:50:54 -0400 Subject: [PATCH] [openaddresses] countries are known a priori, so if the boundaries don't quite line up with OSM, use the country from the path --- scripts/geodata/openaddresses/formatter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/geodata/openaddresses/formatter.py b/scripts/geodata/openaddresses/formatter.py index 17583eed..b081e44c 100644 --- a/scripts/geodata/openaddresses/formatter.py +++ b/scripts/geodata/openaddresses/formatter.py @@ -16,6 +16,7 @@ from geodata.address_formatting.formatter import AddressFormatter from geodata.addresses.components import AddressComponents from geodata.countries.names import country_names from geodata.encoding import safe_decode, safe_encode +from geodata.i18n.languages import get_country_languages from geodata.language_id.disambiguation import UNKNOWN_LANGUAGE from geodata.math.sampling import cdf, weighted_choice from geodata.openaddresses.config import openaddresses_config @@ -315,8 +316,9 @@ class OpenAddressesFormatter(object): if components: country, candidate_languages = self.country_rtree.country_and_languages(latitude, longitude) - if not (country and candidate_languages): - continue + if not (country and candidate_languages) or country != country_dir: + country = country_dir + candidate_languages = get_country_languages(country) if language is None: language = AddressComponents.address_language(components, candidate_languages)