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 datetime as dt
|
||||||
|
|
||||||
import bs4
|
import bs4
|
||||||
|
import locale
|
||||||
import requests
|
import requests
|
||||||
import os
|
import os
|
||||||
import urllib.parse
|
import urllib.parse
|
||||||
@@ -12,10 +13,6 @@ import urllib.parse
|
|||||||
from peewee import *
|
from peewee import *
|
||||||
from bottle import hook, request, route, run, view
|
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,
|
start_time=time,
|
||||||
end_time = '{:0>2}:00'.format(hour+1))
|
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')
|
@hook('before_request')
|
||||||
def connect_to_db():
|
def connect_to_db():
|
||||||
db.connect()
|
db.connect()
|
||||||
|
|||||||
Reference in New Issue
Block a user