From 4297ff2e1e5e864d82f9f49925824c44a9f6c25a Mon Sep 17 00:00:00 2001 From: Felix Rindt Date: Wed, 8 Jan 2025 12:54:04 +0100 Subject: [PATCH] encapsulate dynamic settings default prefix --- ephios/core/dynamic.py | 5 ++++- ephios/core/templatetags/settings_extras.py | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/ephios/core/dynamic.py b/ephios/core/dynamic.py index b0b8f8e6e..f0ed89d8e 100644 --- a/ephios/core/dynamic.py +++ b/ephios/core/dynamic.py @@ -19,7 +19,10 @@ def __getattr__(self, name): return None return result # default to django settings - return getattr(self._django_settings, f"DEFAULT_{name}") + return getattr(self._django_settings, self.get_default_key(name)) + + def get_default_key(self, settings_key): + return f"DEFAULT_{settings_key}" dynamic_settings = DynamicSettingsProxy() diff --git a/ephios/core/templatetags/settings_extras.py b/ephios/core/templatetags/settings_extras.py index ac1934a0b..b8c0c7e57 100644 --- a/ephios/core/templatetags/settings_extras.py +++ b/ephios/core/templatetags/settings_extras.py @@ -51,7 +51,9 @@ def _static_file_exists(path): def as_brand_static_path(path): result = os.path.join(dynamic_settings.BRAND_STATIC_PATH, path) if not _static_file_exists(result): - fallback = os.path.join(settings.DEFAULT_BRAND_STATIC_PATH, path) + fallback = os.path.join( + getattr(settings, dynamic_settings.get_default_key("BRAND_STATIC_PATH")), path + ) logger.warning(f"could not find brand static file '{result}', using '{fallback}' instead") return fallback return result