Fixes issue662, MediaGoblin was broken by recent WebOb release.
From WebOb release notes: "Accept.best_matches() is gone; use list(request.accept) or request.accept.best_match(..) instead (applies to all Accept-* headers) or similar with request.accept_language." ... seems that's what borked it...
This commit is contained in:
parent
f693f9af88
commit
ed59426466
@ -65,8 +65,6 @@ def get_locale_from_request(request):
|
|||||||
if request_form.has_key('lang'):
|
if request_form.has_key('lang'):
|
||||||
return locale_to_lower_upper(request_form['lang'])
|
return locale_to_lower_upper(request_form['lang'])
|
||||||
|
|
||||||
accept_lang_matches = request.accept_language.best_matches()
|
|
||||||
|
|
||||||
# Your routing can explicitly specify a target language
|
# Your routing can explicitly specify a target language
|
||||||
matchdict = request.matchdict or {}
|
matchdict = request.matchdict or {}
|
||||||
|
|
||||||
@ -74,12 +72,10 @@ def get_locale_from_request(request):
|
|||||||
target_lang = matchdict['locale']
|
target_lang = matchdict['locale']
|
||||||
elif request.session.has_key('target_lang'):
|
elif request.session.has_key('target_lang'):
|
||||||
target_lang = request.session['target_lang']
|
target_lang = request.session['target_lang']
|
||||||
# Pull the first acceptable language
|
# Pull the first acceptable language or English
|
||||||
elif accept_lang_matches:
|
|
||||||
target_lang = accept_lang_matches[0]
|
|
||||||
# Fall back to English
|
|
||||||
else:
|
else:
|
||||||
target_lang = 'en'
|
target_lang = request.accept.best_match(
|
||||||
|
request.accept_language, 'en')
|
||||||
|
|
||||||
return locale_to_lower_upper(target_lang)
|
return locale_to_lower_upper(target_lang)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user