From 469c8e92b78c49dd390d0f3803c779652865dc73 Mon Sep 17 00:00:00 2001
From: Elke Kreim <elke.kreim@hs-hannover.de>
Date: Mon, 22 Nov 2021 08:21:48 +0100
Subject: [PATCH] Get app names from app config

---
 hshassets/management/commands/buildassets.py |  3 +--
 hshassets/management/commands/initassets.py  |  3 +--
 hshassets/utils.py                           | 15 ++++++++++-----
 setup.py                                     |  2 +-
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/hshassets/management/commands/buildassets.py b/hshassets/management/commands/buildassets.py
index 7dd59b34..7ae273cf 100644
--- a/hshassets/management/commands/buildassets.py
+++ b/hshassets/management/commands/buildassets.py
@@ -1,5 +1,4 @@
 from django.core.management.base import BaseCommand
-from django.conf import settings
 from hshassets import utils
 from hshassets import logger
 
@@ -14,7 +13,7 @@ class Command(BaseCommand):
 
         app_name = options.get('app_name')
 
-        if app_name is None or app_name in settings.INSTALLED_APPS:
+        if app_name is None or app_name in utils.get_installed_app_name_list():
             logger.debug('\nStart build assets.\n')
             utils.build_assets(app_name)
             logger.debug('Build assets finished!\n')
diff --git a/hshassets/management/commands/initassets.py b/hshassets/management/commands/initassets.py
index 089e92ea..2e334bf2 100644
--- a/hshassets/management/commands/initassets.py
+++ b/hshassets/management/commands/initassets.py
@@ -1,5 +1,4 @@
 from django.core.management.base import BaseCommand
-from django.conf import settings
 from hshassets import utils
 from hshassets import logger
 
@@ -28,7 +27,7 @@ class Command(BaseCommand):
         else:
             empty = False
 
-        if app_name is None or app_name in settings.INSTALLED_APPS:
+        if app_name is None or app_name in utils.get_installed_app_name_list():
             logger.debug('\nStart initialize assets.\n')
             utils.init_assets(app_name, empty)
             logger.debug('Initialisation finished!\n')
diff --git a/hshassets/utils.py b/hshassets/utils.py
index 3fb357bb..fcfc0b9a 100644
--- a/hshassets/utils.py
+++ b/hshassets/utils.py
@@ -1,6 +1,3 @@
-from django.conf import settings
-
-
 from . import logger
 
 from importlib import import_module
@@ -11,6 +8,13 @@ import jsmin
 import shutil
 import re
 
+from django.apps import apps as django_apps
+from django.conf import settings
+
+
+def get_installed_app_name_list():
+    return [app.name for app in django_apps.get_app_configs()]
+
 
 def get_installed_apps_with_asset_directory(include_project=False):
     """
@@ -19,9 +23,10 @@ def get_installed_apps_with_asset_directory(include_project=False):
     :return: list of appnames
     """
     apps = []
-    for app_name in settings.INSTALLED_APPS:
+
+    for app_name in get_installed_app_name_list():
         if os.path.isdir(get_assets_path(app_name)):
-            if app_name is not 'hshassets':
+            if app_name != 'hshassets':
                 apps.append(app_name)
         if not include_project and get_projectname() in apps:
             apps.remove(get_projectname())
diff --git a/setup.py b/setup.py
index 249ff9f9..7c0b3496 100644
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ os.chdir(os.path.normpath(os.path.join(os.path.abspath(__file__), os.pardir)))
 
 setup(
     name='django-hshassets',
-    version='2.2.21',
+    version='2.2.22',
     packages=find_packages(),
     include_package_data=True,
     license='MIT License',
-- 
GitLab