From c33db4f04d6fd52810f905195044d99cedb3089d Mon Sep 17 00:00:00 2001 From: Al Date: Wed, 21 Dec 2016 01:28:43 -0500 Subject: [PATCH] [addresses] normalize existing sub-building components --- scripts/geodata/addresses/components.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/scripts/geodata/addresses/components.py b/scripts/geodata/addresses/components.py index e6100ac4..adeefce0 100644 --- a/scripts/geodata/addresses/components.py +++ b/scripts/geodata/addresses/components.py @@ -544,7 +544,7 @@ class AddressComponents(object): def get_component_phrase(self, cls, component, language, country=None): component = safe_decode(component) - if not is_numeric(component): + if not is_numeric(component) and not (component.isalpha() and len(component) == 1): return None phrase = cls.phrase(component, language, country=country) @@ -553,6 +553,14 @@ class AddressComponents(object): else: return None + def normalize_sub_building_components(self, address_components, language, country=None): + for component, cls in six.iteritems(self.sub_building_component_class_map): + if component in address_components: + val = address_components[component] + new_val = self.get_component_phrase(cls, val, language, country) + if new_val is not None: + address_components[component] = new_val + def cldr_country_name(self, country_code, language): ''' Country names @@ -1505,6 +1513,8 @@ class AddressComponents(object): self.add_postcode_phrase(address_components, language, country=country) self.add_metro_station_phrase(address_components, language, country=country) + self.normalize_sub_building_components(address_components, language, country=country) + if add_sub_building_components: self.add_sub_building_components(address_components, language, country=country, num_floors=num_floors, num_basements=num_basements, zone=zone)