import logging import secrets class DefaultConfig: TESTING = False DEBUG = False SECRET_KEY = secrets.token_urlsafe() BOOTSTRAP_SERVE_LOCAL = True # BOOTSTRAP_BOOTSWATCH_THEME = "Materia" LOG_FILE = "/var/log/webmentions-ssg.log" LOG_FORMAT = "[%(asctime)s]:%(levelname)s:%(name)s %(message)s" LOG_LEVEL = logging.INFO LOGFILE_MAX_BYTES = 20_000_000 LOGFILE_BACKUP_COUNT = 10 SQLALCHEMY_DATABASE_URI = "sqlite:///webmentions-ssg.db" WEBMENTIONS_SSG_SOURCE_DIRECTORY = None WEBMENTIONS_SSG_SOURCE_BASE_URL = None WEBMENTIONS_SSG_SCANNER_SCHEDULE = "0 * * * *" class DevelopmentConfig(DefaultConfig): DEBUG = True LOG_FILE = "testing/webmentions-ssg.log" LOG_LEVEL = logging.DEBUG CONFIG_FILE = "testing/webmentions-ssg.cfg" class ProductionConfig(DefaultConfig): CONFIG_FILE = "/etc/webmentions-ssg.cfg" class TestingConfig(DefaultConfig): TESTING = True SECRET_KEY = "testing-secret-key" WTF_CSRF_ENABLED = False LOG_FILE = "testing/webmentions-ssg-tests.log" LOG_LEVEL = logging.DEBUG SQLALCHEMY_DATABASE_URI = "sqlite:///:memory:" SQLALCHEMY_TRACK_MODIFICATIONS = False HUEY_URL = "memory://" WEBMENTIONS_SSG_ALLOWED_HOSTNAMES = {"dennisfink.me"} WEBMENTIONS_SSG_MAX_REDIRECTS = 20 WEBMENTIONS_SSG_MAX_SOURCE_BYTES = 1_000_000 WEBMENTIONS_SSG_REQUEST_TIMEOUT = 5.0