From 293c29505453b34766322c5c56786484f28b1754 Mon Sep 17 00:00:00 2001 From: Dominik George <nik@naturalnet.de> Date: Sun, 15 Nov 2020 13:22:59 +0100 Subject: [PATCH] Allow for app packages with different package structure --- aleksis/core/util/core_helpers.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/aleksis/core/util/core_helpers.py b/aleksis/core/util/core_helpers.py index b7d3bcd7e..c711bb3d4 100644 --- a/aleksis/core/util/core_helpers.py +++ b/aleksis/core/util/core_helpers.py @@ -76,10 +76,17 @@ def merge_app_settings( """ for app in get_app_packages(): pkg = ".".join(app.split(".")[:-2]) - try: - mod_settings = import_module(pkg + ".settings") - except ImportError: - # Import errors are non-fatal. They mean that the app has no settings.py. + mod_settings = None + while "." in pkg: + try: + mod_settings = import_module(pkg + ".settings") + except ImportError: + # Import errors are non-fatal. + pkg = ".".join(pkg.split(".")[:-1]) + continue + break + if not mod_settings: + # The app does not have settings continue app_setting = getattr(mod_settings, setting, None) -- GitLab