From bb62b5dde44ea15399c22fa0631aaed4336c0556 Mon Sep 17 00:00:00 2001 From: Johannes Erwerle Date: Thu, 9 Apr 2026 22:13:58 +0200 Subject: [PATCH] updated handling of the configuration.py file --- .../community_backup/configuration.py | 2 -- .../community_backup/example_configuration.py | 8 ++++++++ community_backup/community_backup/settings.py | 16 +++++++++++++++- 3 files changed, 23 insertions(+), 3 deletions(-) delete mode 100644 community_backup/community_backup/configuration.py create mode 100644 community_backup/community_backup/example_configuration.py diff --git a/community_backup/community_backup/configuration.py b/community_backup/community_backup/configuration.py deleted file mode 100644 index ea8353c..0000000 --- a/community_backup/community_backup/configuration.py +++ /dev/null @@ -1,2 +0,0 @@ -# enter your overrides here -print("foo") diff --git a/community_backup/community_backup/example_configuration.py b/community_backup/community_backup/example_configuration.py new file mode 100644 index 0000000..ca5f4c6 --- /dev/null +++ b/community_backup/community_backup/example_configuration.py @@ -0,0 +1,8 @@ +# enter your overrides here +from pathlib import Path + +BACKUP_HOME_DIR = Path("/data/backups") +BACKUP_BORG_DIR = BACKUP_HOME_DIR / "borg" +BACKUP_AUTHORIZED_KEYS = BACKUP_HOME_DIR / ".ssh" / "authorized_keys" +BACKUP_USER = "borg" +BACKUP_REPO_HOST = "backup.example.com" diff --git a/community_backup/community_backup/settings.py b/community_backup/community_backup/settings.py index 75ca1de..8311aa3 100644 --- a/community_backup/community_backup/settings.py +++ b/community_backup/community_backup/settings.py @@ -11,6 +11,7 @@ https://docs.djangoproject.com/en/6.0/ref/settings/ """ from pathlib import Path +from importlib import import_module # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent @@ -127,4 +128,17 @@ STATIC_URL = "static/" TASKS = {"default": {"BACKEND": "django.tasks.backends.immediate.ImmediateBackend"}} -from .configuration import * + +# Import settings from configuration.py +try: + config_module = "community_backup.configuration" + module = import_module(config_module) + + assert module.BACKUP_USER, "The BACKUP_USER setting is required." + assert module.BACKUP_REPO_HOST, "The BACKUP_REPO_HOST setting is required." + assert module.BACKUP_HOME_DIR, "The BACKUP_HOME_DIR setting is required." + assert module.BACKUP_BORG_DIR, "The BACKUP_BORG_DIR setting is required." + assert module.BACKUP_AUTHORIZED_KEYS, "The BACKUP_AUTHORIZED_KEYS setting is required." +except ModuleNotFoundError: + print(f"could not find configuration file {config_module}") + exit(1)