[mv] Moving the get regional/country languages logic out of language polygons
This commit is contained in:
@@ -57,3 +57,17 @@ def init_languages(languages_dir=LANGUAGES_DIR):
|
|||||||
languages.add(lang)
|
languages.add(lang)
|
||||||
|
|
||||||
initialized = True
|
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())
|
||||||
|
|||||||
@@ -81,22 +81,17 @@ class LanguagePolygonIndex(RTreePolygonIndex):
|
|||||||
regional = None
|
regional = None
|
||||||
|
|
||||||
if name_key:
|
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:
|
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:
|
if not regional:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
languages = regional.items()
|
languages = regional.items()
|
||||||
else:
|
else:
|
||||||
languages = official_languages[country].items()
|
languages = get_country_languages(country)
|
||||||
overrides = road_language_overrides.get(country)
|
|
||||||
if overrides and overrides.values()[0]:
|
|
||||||
languages = overrides.items()
|
|
||||||
elif overrides:
|
|
||||||
languages.extend(overrides.items())
|
|
||||||
|
|
||||||
properties['languages'] = [{'lang': lang, 'default': default}
|
properties['languages'] = [{'lang': lang, 'default': default}
|
||||||
for lang, default in languages]
|
for lang, default in languages]
|
||||||
|
|||||||
Reference in New Issue
Block a user