more oauth2 fixes

This commit is contained in:
TuxCoder 2023-03-18 12:00:40 +01:00
parent 65ceb2abbd
commit 14d219eef7
7 changed files with 45 additions and 17 deletions

View file

@ -3,16 +3,15 @@ from flask_babel import Babel
from flask_login import current_user
from typing import Optional
from lenticular_cloud.model import db, User
from importlib.metadata import version
LANGUAGES = {
'en': 'English',
'de': 'Deutsch'
}
babel = Babel()
@babel.localeselector
def get_locale() -> str:
# if a user is logged in, use the locale from the user settings
user = current_user # type: Optional[User]
@ -34,13 +33,31 @@ def get_locale() -> str:
# example. The best match wins.
return request.accept_languages.best_match(['de'])
@babel.timezoneselector
def get_timezone() -> Optional[str]:
# user = getattr(g, 'user', None)
# if user is not None:
# return user.timezone
return None
flask_babel_version = version('flask_babel')
kwargs = {}
if flask_babel_version >= "3.0.0":
kwargs = {
'locale_selector': get_locale,
#'timezone_selector': get_timezone,
}
babel = Babel(**kwargs)
if flask_babel_version < "3.0.0":
@babel.localeselector
def _get_locale() -> str:
return get_locale()
@babel.timezoneselector
def _get_timezone() -> Optional[str]:
return get_timezone()
def init_babel(app: Flask) -> None:
babel.init_app(app)