diff --git a/balises.py b/balises.py index c83e12b..258d352 100755 --- a/balises.py +++ b/balises.py @@ -5,6 +5,7 @@ from configparser import ConfigParser import datetime as dt import bs4 +import locale import requests import os import urllib.parse @@ -12,10 +13,6 @@ import urllib.parse from peewee import * from bottle import hook, request, route, run, view -# Set the locale for all categories to the user’s default setting (eg. LANG -# environment variable) -import locale -locale.setlocale(locale.LC_ALL, '') # ------------------------------------------------------------ @@ -144,6 +141,16 @@ def results_page(): start_time=time, end_time = '{:0>2}:00'.format(hour+1)) +@hook('before_request') +def set_locale(): + """Set the locale for all categories to the first lang in Accept-Language + header. Default to fr_FR.UTF-8 + """ + accept_language = request.get_header('Accept-Language', 'fr-FR') + first_lang = accept_language.split(';')[0].split(',')[0] + lang = first_lang.translate(str.maketrans('-', '_')) + '.UTF-8' + locale.setlocale(locale.LC_ALL, lang) + @hook('before_request') def connect_to_db(): db.connect()