[fix] all_names returns a list not a set
This commit is contained in:
@@ -270,15 +270,16 @@ class AddressComponents(object):
|
|||||||
return key, raw_key
|
return key, raw_key
|
||||||
|
|
||||||
def all_names(self, props, languages, keys=ALL_OSM_NAME_KEYS):
|
def all_names(self, props, languages, keys=ALL_OSM_NAME_KEYS):
|
||||||
names = set()
|
# Preserve uniqueness and order
|
||||||
|
names = OrderedDict()
|
||||||
for k, v in six.iteritems(props):
|
for k, v in six.iteritems(props):
|
||||||
if k in keys:
|
if k in keys:
|
||||||
names.add(v)
|
names[v] = None
|
||||||
elif ':' in k:
|
elif ':' in k:
|
||||||
k, qual = k.split(':', 1)
|
k, qual = k.split(':', 1)
|
||||||
if k in self.ALL_OSM_NAME_KEYS and qual.split('_', 1)[0] in languages:
|
if k in self.ALL_OSM_NAME_KEYS and qual.split('_', 1)[0] in languages:
|
||||||
names.add(v)
|
names[v] = None
|
||||||
return names
|
return names.keys()
|
||||||
|
|
||||||
def normalized_place_name(self, name, tag, osm_components, country=None, languages=None):
|
def normalized_place_name(self, name, tag, osm_components, country=None, languages=None):
|
||||||
'''
|
'''
|
||||||
@@ -292,7 +293,7 @@ class AddressComponents(object):
|
|||||||
|
|
||||||
components = defaultdict(set)
|
components = defaultdict(set)
|
||||||
for props in osm_components:
|
for props in osm_components:
|
||||||
component_names = self.all_names(props, languages or set())
|
component_names = set(self.all_names(props, languages or []))
|
||||||
names |= component_names
|
names |= component_names
|
||||||
|
|
||||||
is_state = False
|
is_state = False
|
||||||
|
|||||||
Reference in New Issue
Block a user