aboutsummaryrefslogtreecommitdiff
path: root/webmentions_ssg/config.py
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--webmentions_ssg/config.py50
1 files changed, 50 insertions, 0 deletions
diff --git a/webmentions_ssg/config.py b/webmentions_ssg/config.py
new file mode 100644
index 0000000..7c448e9
--- /dev/null
+++ b/webmentions_ssg/config.py
@@ -0,0 +1,50 @@
+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"
+
+
+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