diff --git a/scripts/geodata/addresses/components.py b/scripts/geodata/addresses/components.py index 213ce544..1ec00315 100644 --- a/scripts/geodata/addresses/components.py +++ b/scripts/geodata/addresses/components.py @@ -310,15 +310,15 @@ class AddressComponents(object): def all_names(self, props, languages, component=None, keys=ALL_OSM_NAME_KEYS): # Preserve uniqueness and order valid_names, _ = boundary_names.name_key_dist(props, component) - names = OrderedDict.fromkeys(valid_names) - valid_names = set(valid_names) + names = OrderedDict.fromkeys([k for k in valid_names if k in keys]) + valid_names = set(names) for k, v in six.iteritems(props): if ':' in k: - if k == 'name:simple' and 'en' in languages: + if k == 'name:simple' and 'en' in languages and k in keys: names[v] = None k, qual = k.split(':', 1) - if k in valid_names and qual.split('_', 1)[0] in languages: + if k in valid_names and qual.split('_', 1)[0] in languages and k in keys: names[v] = None return names.keys()