From c7e644ca519c7866c30d0ae23f8c0995eb0b3ec2 Mon Sep 17 00:00:00 2001 From: Al Date: Thu, 12 Jan 2017 14:09:33 -0500 Subject: [PATCH] [fix] validating number ranges in extract_valid_postcodes as well --- scripts/geodata/osm/formatter.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/scripts/geodata/osm/formatter.py b/scripts/geodata/osm/formatter.py index 86b73ed7..ad7cfeff 100644 --- a/scripts/geodata/osm/formatter.py +++ b/scripts/geodata/osm/formatter.py @@ -598,6 +598,15 @@ class OSMAddressFormatter(object): if not valid_postcode: postal_codes = parse_osm_number_range(postal_code, parse_letter_range=False, max_range=1000) + if validate: + valid_postal_codes = [] + postcode_regex = postcode_regexes.get(country) + if postcode_regex: + for pc in postal_codes: + match = postcode_regex.match(pc) + if match and match.end() == len(pc): + valid_postal_codes.append(pc) + postal_codes = valid_postal_codes return postal_codes