diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-10-15 16:57:45 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2011-10-15 16:57:45 -0500 |
commit | 471509197034e8aa3a2f4d3fa41e86212b543082 (patch) | |
tree | 3b0dfb7d00f59da76c052f38ab1626924be60337 | |
parent | ed594264664f0e0aca00de4f962d267750b21fd1 (diff) | |
download | mediagoblin-471509197034e8aa3a2f4d3fa41e86212b543082.tar.lz mediagoblin-471509197034e8aa3a2f4d3fa41e86212b543082.tar.xz mediagoblin-471509197034e8aa3a2f4d3fa41e86212b543082.zip |
Support for older webobs and newer webobs both in accept language mess :)
-rw-r--r-- | mediagoblin/tools/translate.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/mediagoblin/tools/translate.py b/mediagoblin/tools/translate.py index f2990867..b99c4aa4 100644 --- a/mediagoblin/tools/translate.py +++ b/mediagoblin/tools/translate.py @@ -74,8 +74,17 @@ def get_locale_from_request(request): target_lang = request.session['target_lang'] # Pull the first acceptable language or English else: - target_lang = request.accept.best_match( - request.accept_language, 'en') + # WebOb recently changed how it handles determining best language. + # Here's a compromise commit that handles either/or... + if hasattr(request.accept_language, "best_matches"): + accept_lang_matches = request.accept_language.best_matches() + if accept_lang_matches: + target_lang = accept_lang_matches[0] + else: + target_lang = 'en' + else: + target_lang = request.accept.best_match( + request.accept_language, 'en') return locale_to_lower_upper(target_lang) |