[openaddresses] adding country-specific validators and doing no validation on house numbers in Colombia

This commit is contained in:
Al
2017-02-18 11:04:02 -08:00
parent 0e10aa6f46
commit 146412f4f8

View File

@@ -149,6 +149,10 @@ class OpenAddressesFormatter(object):
return True return True
return cls.validate_house_number(house_number) return cls.validate_house_number(house_number)
@classmethod
def validate_colombian_house_number(cls, house_number):
return True
@classmethod @classmethod
def validate_chinese_house_number(cls, house_number): def validate_chinese_house_number(cls, house_number):
if not house_number: if not house_number:
@@ -180,6 +184,12 @@ class OpenAddressesFormatter(object):
} }
} }
country_validators = {
Countries.COLOMBIA: {
AddressFormatter.HOUSE_NUMBER: validators.validate_colombian_house_number
}
}
chinese_annex_regex = re.compile(u'([\d]+)(?![号栋])', re.U) chinese_annex_regex = re.compile(u'([\d]+)(?![号栋])', re.U)
@classmethod @classmethod
@@ -357,7 +367,7 @@ class OpenAddressesFormatter(object):
value = value.strip(', -') value = value.strip(', -')
validator = self.language_validators.get(language, {}).get(key, self.component_validators.get(key, None)) validator = self.country_validators.get(country_dir, {}).get(key, self.language_validators.get(language, {}).get(key, self.component_validators.get(key, None)))
if validator is not None and not validator(value): if validator is not None and not validator(value):
continue continue