def __init__(self, *args, **kwargs): kwargs["username"] = self.make_valid_username(kwargs.get("username")) super(User, self).__init__(*args, **kwargs) password = kwargs.get("password") if password and not self.id: if request: self.locale = request.accept_languages.best_match(locales.keys()) else: self.locale = "en" with app.app_context(): self.set_and_encrypt_password(password=password, salt=rand_str(16))
def get_locale(): """ Try to determine the locale based on the: - currently logged in user preference or - session cookie preference or - 'Accept-Language' user agent """ if 'locale' in session: return session['locale'] else: return request.accept_languages.best_match(locales.keys())