update packages / nix packaging
This commit is contained in:
parent
230d3e5fe8
commit
536668d8b9
11 changed files with 254 additions and 180 deletions
|
@ -11,12 +11,14 @@ import logging
|
|||
import crypt
|
||||
import secrets
|
||||
import string
|
||||
from sqlalchemy.orm import DeclarativeBase, MappedAsDataclass, Mapped, mapped_column, relationship, declarative_base
|
||||
from flask_sqlalchemy import SQLAlchemy
|
||||
from flask_sqlalchemy.model import Model, DefaultMeta
|
||||
from flask_sqlalchemy.extension import _FSAModel
|
||||
from flask_migrate import Migrate
|
||||
from datetime import datetime
|
||||
import uuid
|
||||
import pyotp
|
||||
from typing import Optional, Callable
|
||||
from typing import Optional, List, Dict, Tuple, Any, Type, TYPE_CHECKING
|
||||
from cryptography.x509 import Certificate as CertificateObj
|
||||
from sqlalchemy.ext.declarative import DeclarativeMeta
|
||||
|
||||
|
@ -28,8 +30,17 @@ logger = logging.getLogger(__name__)
|
|||
db = SQLAlchemy()
|
||||
migrate = Migrate()
|
||||
|
||||
class BaseModelIntern(MappedAsDataclass, DeclarativeBase):
|
||||
pass
|
||||
|
||||
BaseModel: DeclarativeMeta = db.Model
|
||||
if TYPE_CHECKING:
|
||||
class BaseModel (_FSAModel,BaseModelIntern):
|
||||
pass
|
||||
else:
|
||||
BaseModel: Type[_FSAModel] = db.Model
|
||||
class ModelUpdatedMixin:
|
||||
created_at: Mapped[datetime] = mapped_column(db.DateTime, default=datetime.now())
|
||||
last_update: Mapped[datetime] = mapped_column(db.DateTime, default=datetime.now(), onupdate=datetime.now)
|
||||
|
||||
class SecurityUser(UserMixin):
|
||||
|
||||
|
|
|
@ -14,24 +14,24 @@ LANGUAGES = {
|
|||
|
||||
def get_locale() -> str:
|
||||
# if a user is logged in, use the locale from the user settings
|
||||
user = current_user # type: Optional[User]
|
||||
#user = current_user # type: Optional[User]
|
||||
return 'de'
|
||||
|
||||
# prefer lang argument
|
||||
if 'lang' in request.args:
|
||||
lang = request.args['lang'] # type: str
|
||||
if lang in LANGUAGES:
|
||||
if not isinstance(user, User):
|
||||
return lang
|
||||
user.locale = lang
|
||||
db.session.commit()
|
||||
# if 'lang' in request.args:
|
||||
# lang = request.args['lang'] # type: str
|
||||
# if lang in LANGUAGES:
|
||||
# if not isinstance(user, User):
|
||||
# return lang
|
||||
# user.locale = lang
|
||||
# db.session.commit()
|
||||
|
||||
if isinstance(user, User):
|
||||
return user.locale
|
||||
# otherwise try to guess the language from the user accept
|
||||
# header the browser transmits. We support de/fr/en in this
|
||||
# example. The best match wins.
|
||||
return request.accept_languages.best_match(['de'])
|
||||
# if isinstance(user, User):
|
||||
# return user.locale
|
||||
# # otherwise try to guess the language from the user accept
|
||||
# # header the browser transmits. We support de/fr/en in this
|
||||
# # example. The best match wins.
|
||||
# return request.accept_languages.best_match(['de'])
|
||||
|
||||
def get_timezone() -> Optional[str]:
|
||||
# user = getattr(g, 'user', None)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue