[polygons] only add language polygons if there's one default language

This commit is contained in:
Al
2015-07-17 02:19:55 -04:00
parent 4a2cfe8e28
commit 5e7bb54a5c

View File

@@ -320,11 +320,11 @@ def get_language_names(language_rtree, key, value, tag_prefix='name'):
except Exception:
return None, None
country, default_languages = country_and_languages(language_rtree, latitude, longitude)
country, candidate_languages = country_and_languages(language_rtree, latitude, longitude)
if not (country and default_languages):
return None, None
one_default = len(default_languages) == 1
num_defaults = sum((1 for l in candidate_languages if l.get('default')))
name_language = defaultdict(list)
has_alternate_names = any((k.startswith(tag_prefix + ':') and normalize_osm_name_tag(k, script=True)
in languages for k, v in value.iteritems()))
@@ -334,8 +334,8 @@ def get_language_names(language_rtree, key, value, tag_prefix='name'):
norm_sans_script = normalize_osm_name_tag(k, script=True)
if norm in languages or norm_sans_script in languages:
name_language[norm].append(v)
elif not has_alternate_names and k.startswith(tag_first_component) and (has_colon or ':' not in k) and normalize_osm_name_tag(k, script=True) == tag_last_component:
name_language[default_languages[0]['lang']].append(v)
elif not has_alternate_names and num_defaults == 1 and k.startswith(tag_first_component) and (has_colon or ':' not in k) and normalize_osm_name_tag(k, script=True) == tag_last_component:
name_language[candidate_languages[0]['lang']].append(v)
return country, name_language