This commit is contained in:
+33
-12
@@ -1,5 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import base64
|
||||
import hashlib
|
||||
import os
|
||||
from pathlib import Path
|
||||
from urllib.parse import urlparse
|
||||
@@ -17,6 +19,16 @@ def env_list(name: str, default: str = "") -> list[str]:
|
||||
return [item.strip() for item in os.getenv(name, default).split(",") if item.strip()]
|
||||
|
||||
|
||||
def env_int_range(name: str, default: int, *, minimum: int, maximum: int) -> int:
|
||||
try:
|
||||
value = int(os.getenv(name, str(default)))
|
||||
except ValueError as exc:
|
||||
raise ImproperlyConfigured(f"{name} moet een geheel getal zijn.") from exc
|
||||
if not minimum <= value <= maximum:
|
||||
raise ImproperlyConfigured(f"{name} moet tussen {minimum} en {maximum} liggen.")
|
||||
return value
|
||||
|
||||
|
||||
def _validate_production_security(
|
||||
*,
|
||||
debug: bool,
|
||||
@@ -218,10 +230,28 @@ CELERY_WORKER_PREFETCH_MULTIPLIER = 1
|
||||
CELERY_TASK_TIME_LIMIT = 300
|
||||
CELERY_TASK_SOFT_TIME_LIMIT = 270
|
||||
CELERY_TIMEZONE = TIME_ZONE
|
||||
|
||||
IMAP_MAX_MESSAGES_PER_POLL = env_int_range(
|
||||
"IMAP_MAX_MESSAGES_PER_POLL", 200, minimum=1, maximum=1000
|
||||
)
|
||||
IMAP_MAX_MESSAGE_BYTES = env_int_range(
|
||||
"IMAP_MAX_MESSAGE_BYTES", 1000000, minimum=1024, maximum=10000000
|
||||
)
|
||||
IMAP_CONNECT_TIMEOUT_SECONDS = env_int_range(
|
||||
"IMAP_CONNECT_TIMEOUT_SECONDS", 15, minimum=3, maximum=60
|
||||
)
|
||||
MAILBOX_CREDENTIAL_KEYS = env_list("MAILBOX_CREDENTIAL_KEYS")
|
||||
if DEBUG and not MAILBOX_CREDENTIAL_KEYS:
|
||||
MAILBOX_CREDENTIAL_KEYS = [
|
||||
base64.urlsafe_b64encode(
|
||||
hashlib.sha256(f"vacatureradar-mailbox:{SECRET_KEY}".encode()).digest()
|
||||
).decode("ascii")
|
||||
]
|
||||
|
||||
CELERY_BEAT_SCHEDULE = {
|
||||
"poll-imap": {
|
||||
"task": "apps.sources.tasks.poll_imap_inbox",
|
||||
"schedule": 600.0,
|
||||
"schedule-mailbox-polls": {
|
||||
"task": "apps.sources.tasks.schedule_mailbox_polls",
|
||||
"schedule": 300.0,
|
||||
},
|
||||
"schedule-due-sources": {
|
||||
"task": "apps.sources.tasks.schedule_due_sources",
|
||||
@@ -276,15 +306,6 @@ DATA_UPLOAD_MAX_MEMORY_SIZE = int(os.getenv("DATA_UPLOAD_MAX_MEMORY_SIZE", str(8
|
||||
FILE_UPLOAD_MAX_MEMORY_SIZE = 0
|
||||
DATA_UPLOAD_MAX_NUMBER_FILES = 0
|
||||
|
||||
IMAP_ENABLED = env_bool("IMAP_ENABLED", False)
|
||||
IMAP_HOST = os.getenv("IMAP_HOST", "")
|
||||
IMAP_PORT = int(os.getenv("IMAP_PORT", "993"))
|
||||
IMAP_USER = os.getenv("IMAP_USER", "")
|
||||
IMAP_PASSWORD = os.getenv("IMAP_PASSWORD", "")
|
||||
IMAP_MAILBOX = os.getenv("IMAP_MAILBOX", "INBOX")
|
||||
IMAP_USE_SSL = env_bool("IMAP_USE_SSL", True)
|
||||
IMAP_MARK_SEEN = env_bool("IMAP_MARK_SEEN", False)
|
||||
|
||||
OLLAMA_ENABLED = env_bool("OLLAMA_ENABLED", False)
|
||||
OLLAMA_BASE_URL = os.getenv("OLLAMA_BASE_URL", "http://localhost:11434")
|
||||
OLLAMA_MODEL = os.getenv("OLLAMA_MODEL", "")
|
||||
|
||||
Reference in New Issue
Block a user