def preferences(request): api = TemplateAPI(request, _('Your preferences')) current_lang = locale_negotiator(request) settings = request.registry.settings available_langs = settings['lasco.available_languages'].split() current_theme = request.cookies.get('color_theme', 'default') return {'api': api, 'current_theme': current_theme, 'available_themes': AVAILABLE_THEMES, 'current_lang': current_lang, 'available_langs': available_langs}
def test_accept_language(self): from lasco.i18n import locale_negotiator for accepts, expected in ( ('fr, en;q=0.5', 'fr'), ('xx, yy;q=0.9, fr;q=0.8', 'fr'), ('fr-zz, en;q=0.9', 'fr'), ('zz', None), ('', None), (_no_header, None)): request = self._make_one(accepts) locale = locale_negotiator(request) self.assertEqual(locale, expected)
def test_cookie(self): from lasco.i18n import LOCALE_COOKIE_NAME from lasco.i18n import locale_negotiator request = self._make_one() request.cookies[LOCALE_COOKIE_NAME] = 'fr' self.assertEqual(locale_negotiator(request), 'fr')