Set locale based on Accept-Language header
This commit is contained in:
15
balises.py
15
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()
|
||||
|
||||
Reference in New Issue
Block a user