homedocs/config.py
2025-03-31 17:40:16 +02:00

42 lines
1.1 KiB
Python

import os
import secrets
class Config:
"""Base config."""
SECRET_KEY = os.environ.get('SECRET_KEY') or secrets.token_hex(32)
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or 'sqlite:///instance/app.db'
SQLALCHEMY_TRACK_MODIFICATIONS = False
WTF_CSRF_ENABLED = True
WTF_CSRF_SECRET_KEY = os.environ.get('CSRF_SECRET_KEY') or secrets.token_hex(32)
SESSION_TYPE = 'filesystem'
SESSION_PERMANENT = False
PERMANENT_SESSION_LIFETIME = 3600 # 1 hour
REMEMBER_COOKIE_DURATION = 2592000 # 30 days
class DevelopmentConfig(Config):
"""Development config."""
DEBUG = True
SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///app.db")
SQLALCHEMY_ECHO = True
class ProductionConfig(Config):
"""Production config."""
DEBUG = False
TESTING = False
SQLALCHEMY_DATABASE_URI = os.environ.get("DATABASE_URL", "sqlite:///app.db")
SESSION_COOKIE_SECURE = True
REMEMBER_COOKIE_SECURE = True
class TestingConfig(Config):
"""Testing config."""
TESTING = True
SQLALCHEMY_DATABASE_URI = "sqlite:///:memory:"
WTF_CSRF_ENABLED = False