first commit
This commit is contained in:
40
app/config.py
Normal file
40
app/config.py
Normal file
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
from pathlib import Path
|
||||
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent
|
||||
|
||||
|
||||
class Config:
|
||||
ENV_NAME = os.getenv('FLASK_ENV', 'development')
|
||||
SECRET_KEY = os.getenv('SECRET_KEY', 'dev-secret-key')
|
||||
SQLALCHEMY_DATABASE_URI = os.getenv('DATABASE_URL', f"sqlite:///{BASE_DIR / 'instance' / 'expense_monitor.db'}")
|
||||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||||
APP_HOST = os.getenv('APP_HOST', '127.0.0.1')
|
||||
APP_PORT = int(os.getenv('APP_PORT', '5000'))
|
||||
DEFAULT_MAX_UPLOAD_MB = int(os.getenv('MAX_CONTENT_LENGTH_MB', '10'))
|
||||
MAX_CONTENT_LENGTH = DEFAULT_MAX_UPLOAD_MB * 1024 * 1024
|
||||
REGISTRATION_ENABLED = os.getenv('REGISTRATION_ENABLED', 'false').lower() == 'true'
|
||||
MAIL_SERVER = os.getenv('MAIL_SERVER', '')
|
||||
MAIL_PORT = int(os.getenv('MAIL_PORT', '465'))
|
||||
MAIL_USE_TLS = os.getenv('MAIL_USE_TLS', 'false').lower() == 'true'
|
||||
MAIL_USE_SSL = os.getenv('MAIL_USE_SSL', 'true').lower() == 'true'
|
||||
MAIL_USERNAME = os.getenv('MAIL_USERNAME', '')
|
||||
MAIL_PASSWORD = os.getenv('MAIL_PASSWORD', '')
|
||||
MAIL_DEFAULT_SENDER = os.getenv('MAIL_DEFAULT_SENDER', 'no-reply@example.com')
|
||||
REMEMBER_COOKIE_HTTPONLY = True
|
||||
REMEMBER_COOKIE_SAMESITE = 'Lax'
|
||||
SESSION_COOKIE_HTTPONLY = True
|
||||
SESSION_COOKIE_SAMESITE = 'Lax'
|
||||
SESSION_COOKIE_SECURE = os.getenv('FLASK_ENV', 'development') != 'development'
|
||||
PREFERRED_URL_SCHEME = 'https' if SESSION_COOKIE_SECURE else 'http'
|
||||
LANGUAGES = ['pl', 'en']
|
||||
DEFAULT_LANGUAGE = 'pl'
|
||||
UPLOAD_EXTENSIONS = {'png', 'jpg', 'jpeg', 'heic', 'pdf'}
|
||||
|
||||
|
||||
class TestConfig(Config):
|
||||
TESTING = True
|
||||
WTF_CSRF_ENABLED = False
|
||||
SQLALCHEMY_DATABASE_URI = 'sqlite:///:memory:'
|
||||
SESSION_COOKIE_SECURE = False
|
||||
LOGIN_DISABLED = False
|
||||
Reference in New Issue
Block a user