[fix] drop invalid components

This commit is contained in:
Al
2016-05-23 05:09:21 -04:00
parent 8c44a5d312
commit 35b4f598f8

View File

@@ -965,6 +965,13 @@ class AddressComponents(object):
return address_components
return {c: v for c, v in six.iteritems(address_components) if c != AddressFormatter.POSTCODE}
def drop_invalid_components(self, address_components):
component_bitset = self.component_bitset(address_components)
for c in list(address_components):
if not component_bitset & self.component_dependencies[c]:
address_components.pop(c)
component_bitset ^= self.component_bit_values[c]
def po_box_address(self, address_components, language, country=None):
po_box_config = self.config['po_box']
po_box_probability = float(po_box_config['probability'])
@@ -1079,6 +1086,8 @@ class AddressComponents(object):
# Perform dropout on places
address_components = place_config.dropout_components(address_components, all_osm_components, country=country)
self.drop_invalid_components(address_components)
return address_components, country, language
def limited(self, address_components, latitude, longitude):