Files
NexHome/config.py
T
Black-Cyan 9e9788ea22 🛠️
- add show price preference(store in cookies)
2026-06-12 17:36:57 +08:00

30 lines
1019 B
Python

import os
from starlette.templating import Jinja2Templates
from passlib.context import CryptContext
from fastapi.security import OAuth2PasswordBearer
import jinja2
SECRET_KEY = os.getenv("SECRET_KEY", "nexhome-dev-secret-key-change-in-production")
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30
REFRESH_TOKEN_EXPIRE_DAYS = 7
# Disable Jinja2 cache to work around Python 3.14 compatibility issue
_loader = jinja2.FileSystemLoader("templates")
_env = jinja2.Environment(loader=_loader, autoescape=jinja2.select_autoescape(), cache_size=0)
templates = Jinja2Templates(env=_env)
# Custom Jinja2 filter: {{ prop.price|price_fmt(price_pref, prop.area_sqft) }}
from price_pref import format_price as _format_price
def _price_fmt(value, price_pref="total", area_sqft=0):
return _format_price(value, price_pref, area_sqft)
_env.filters["price_fmt"] = _price_fmt
bcrypt_context = CryptContext(schemes=["bcrypt"], deprecated="auto")
oauth2_bearer = OAuth2PasswordBearer(tokenUrl="auth/token", auto_error=False)