# DO NOT IMPORT THIS BEFORE django.configure() has been run! import socket import tempfile from django.conf import settings DATABASES = getattr(settings, "DBBACKUP_DATABASES", list(settings.DATABASES.keys())) # Fake host HOSTNAME = getattr(settings, "DBBACKUP_HOSTNAME", socket.gethostname()) # Directory to use for temporary files TMP_DIR = getattr(settings, "DBBACKUP_TMP_DIR", tempfile.gettempdir()) TMP_FILE_MAX_SIZE = getattr(settings, "DBBACKUP_TMP_FILE_MAX_SIZE", 10 * 1024 * 1024) TMP_FILE_READ_SIZE = getattr(settings, "DBBACKUP_TMP_FILE_READ_SIZE", 1024 * 1000) # Number of old backup files to keep CLEANUP_KEEP = getattr(settings, "DBBACKUP_CLEANUP_KEEP", 10) CLEANUP_KEEP_MEDIA = getattr(settings, "DBBACKUP_CLEANUP_KEEP_MEDIA", CLEANUP_KEEP) CLEANUP_KEEP_FILTER = getattr(settings, "DBBACKUP_CLEANUP_KEEP_FILTER", lambda x: False) MEDIA_PATH = getattr(settings, "DBBACKUP_MEDIA_PATH", settings.MEDIA_ROOT) DATE_FORMAT = getattr(settings, "DBBACKUP_DATE_FORMAT", "%Y-%m-%d-%H%M%S") FILENAME_TEMPLATE = getattr( settings, "DBBACKUP_FILENAME_TEMPLATE", "{databasename}-{servername}-{datetime}.{extension}", ) MEDIA_FILENAME_TEMPLATE = getattr( settings, "DBBACKUP_MEDIA_FILENAME_TEMPLATE", "{servername}-{datetime}.{extension}" ) GPG_ALWAYS_TRUST = getattr(settings, "DBBACKUP_GPG_ALWAYS_TRUST", False) GPG_RECIPIENT = GPG_ALWAYS_TRUST = getattr(settings, "DBBACKUP_GPG_RECIPIENT", None) STORAGE = getattr(settings, "DBBACKUP_STORAGE", None) STORAGE_OPTIONS = getattr(settings, "DBBACKUP_STORAGE_OPTIONS", {}) # https://docs.djangoproject.com/en/5.1/ref/settings/#std-setting-STORAGES STORAGES_DBBACKUP_ALIAS = "dbbackup" DJANGO_STORAGES = getattr(settings, "STORAGES", {}) django_dbbackup_storage = DJANGO_STORAGES.get(STORAGES_DBBACKUP_ALIAS, {}) if not STORAGE: STORAGE = ( django_dbbackup_storage.get("BACKEND") or "django.core.files.storage.FileSystemStorage" ) if not STORAGE_OPTIONS: STORAGE_OPTIONS = django_dbbackup_storage.get("OPTIONS") or STORAGE_OPTIONS CONNECTORS = getattr(settings, "DBBACKUP_CONNECTORS", {}) CUSTOM_CONNECTOR_MAPPING = getattr(settings, "DBBACKUP_CONNECTOR_MAPPING", {}) DEFAULT_AUTO_FIELD = "django.db.models.AutoField" # Mail SEND_EMAIL = getattr(settings, "DBBACKUP_SEND_EMAIL", True) SERVER_EMAIL = getattr(settings, "DBBACKUP_SERVER_EMAIL", settings.SERVER_EMAIL) FAILURE_RECIPIENTS = getattr(settings, "DBBACKUP_FAILURE_RECIPIENTS", None) if FAILURE_RECIPIENTS is None: ADMINS = getattr(settings, "DBBACKUP_ADMIN", settings.ADMINS) else: ADMINS = FAILURE_RECIPIENTS EMAIL_SUBJECT_PREFIX = getattr(settings, "DBBACKUP_EMAIL_SUBJECT_PREFIX", "[dbbackup] ")