[mv] Moving the get regional/country languages logic out of language polygons

This commit is contained in:
Al
2015-08-23 14:25:33 -04:00
parent 43178747f8
commit b8e4c19146
2 changed files with 17 additions and 8 deletions

View File

@@ -57,3 +57,17 @@ def init_languages(languages_dir=LANGUAGES_DIR):
languages.add(lang)
initialized = True
def get_country_languages(country):
languages = official_languages[country]
overrides = road_language_overrides.get(country)
if overrides and overrides.values()[0]:
languages = overrides
elif overrides:
languages.update(overrides)
return languages
def get_regional_languages(country, key, value):
return regional_languages.get((country, key, value), OrderedDict())

View File

@@ -81,22 +81,17 @@ class LanguagePolygonIndex(RTreePolygonIndex):
regional = None
if name_key:
regional = regional_languages.get((country, name_key, admin1), None)
regional = get_regional_languages(country, name_key, admin1)
if code_key and not regional:
regional = regional_languages.get((country, code_key, admin1_code), None)
regional = get_regional_languages(country, code_key, admin1_code)
if not regional:
continue
languages = regional.items()
else:
languages = official_languages[country].items()
overrides = road_language_overrides.get(country)
if overrides and overrides.values()[0]:
languages = overrides.items()
elif overrides:
languages.extend(overrides.items())
languages = get_country_languages(country)
properties['languages'] = [{'lang': lang, 'default': default}
for lang, default in languages]